ProjectActions.cs
2.62 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
using System;
using System.Collections.Generic;
using System.Linq;
using Sungero.Content;
using Sungero.Core;
using Sungero.CoreEntities;
using Sungero.Projects.Project;
namespace Sungero.Projects.Client
{
partial class ProjectActions
{
public virtual void ShowDocuments(Sungero.Domain.Client.ExecuteActionArgs e)
{
Functions.Project.Remote.GetProjectDocuments(_obj).Show(e.Action.LocalizedName);
}
public virtual bool CanShowDocuments(Sungero.Domain.Client.CanExecuteActionArgs e)
{
return !_obj.State.IsInserted;
}
public virtual void ReopenProject(Sungero.Domain.Client.ExecuteActionArgs e)
{
_obj.Stage = Stage.Execution;
_obj.State.Properties.ActualStartDate.IsRequired = false;
_obj.State.Properties.ActualFinishDate.IsRequired = false;
_obj.Save();
}
public virtual bool CanReopenProject(Sungero.Domain.Client.CanExecuteActionArgs e)
{
return _obj.Stage == Stage.Completed && _obj.AccessRights.CanUpdate();
}
public virtual void CloseProject(Sungero.Domain.Client.ExecuteActionArgs e)
{
if (_obj.ActualStartDate == null || _obj.ActualFinishDate == null)
{
_obj.State.Properties.ActualStartDate.IsRequired = true;
_obj.State.Properties.ActualFinishDate.IsRequired = true;
e.Validate();
return;
}
var dialogMessage = Projects.Resources.CloseProjectDialogMessage;
var dialogDescription = Projects.Resources.CloseProjectDialogDescription;
var dialog = Dialogs.CreateTaskDialog(dialogMessage, dialogDescription, MessageType.Question);
dialog.Buttons.AddYesNo();
dialog.Buttons.Default = DialogButtons.Yes;
var result = dialog.Show();
if (result == DialogButtons.Yes)
{
_obj.Stage = Stage.Completed;
_obj.Save();
}
}
public virtual bool CanCloseProject(Sungero.Domain.Client.CanExecuteActionArgs e)
{
return _obj.Stage != Stage.Completed && _obj.AccessRights.CanUpdate();
}
public virtual void CreateProjectDocument(Sungero.Domain.Client.ExecuteActionArgs e)
{
var document = Functions.Project.Remote.CreateProjectDocument(_obj);
document.Show();
}
public virtual bool CanCreateProjectDocument(Sungero.Domain.Client.CanExecuteActionArgs e)
{
return _obj.Folder != null && _obj.Stage != Stage.Completed;
}
public virtual void ShowFolder(Sungero.Domain.Client.ExecuteActionArgs e)
{
_obj.Folder.Items.Show();
}
public virtual bool CanShowFolder(Sungero.Domain.Client.CanExecuteActionArgs e)
{
return _obj.Folder != null;
}
}
}