Exemple #1
0
        private void handleUpdate(string propertyName)
        {
            try
            {
                if (Globals.LoadingActions)
                {
                    return;
                }
                if (actionCode == "")
                {
                    Created = true;
                    OnPropertyChanged("Created");
                    int projectID = Globals.SelectedProjectProxy.ProjectID;
                    Project = ProjectFunctions.GetProject(projectID);
                    OnPropertyChanged("Project");
                    ActionCode = ProjectFunctions.ActionCode(projectID, Globals.Today);
                    LoggedBy   = ProjectFunctions.LoggedByList.FirstOrDefault(it => it.StaffMember.ID == MyStaffID);
                    OnPropertyChanged("LoggedBy");
                    CompletedDescription = "Not Started";
                    LoggedDate           = Globals.Today;
                    OnPropertyChanged("LoggedDate");
                    ProjectFunctions.ActionsChanged();

                    if (Owner == null && SelectedOwner != null) // Try to use the owner from the filter, if they are in the team
                    {
                        if (ProjectFunctions.OwnerList.Exists(ol => ol.ClientTeamMember != null && SelectedOwner.ClientContact != null &&
                                                              ol.ClientTeamMember.ContactID == SelectedOwner.ClientContact.ID))
                        {
                            Owner = ProjectFunctions.OwnerList.FirstOrDefault(ol => ol.ClientTeamMember != null && SelectedOwner.ClientContact != null &&
                                                                              ol.ClientTeamMember.ContactID == SelectedOwner.ClientContact.ID);
                        }
                        else if (ProjectFunctions.OwnerList.Exists(ol => ol.InternalTeamMember != null && SelectedOwner.StaffMember != null &&
                                                                   ol.InternalTeamMember.StaffID == SelectedOwner.StaffMember.ID))
                        {
                            Owner = ProjectFunctions.OwnerList.FirstOrDefault(ol => ol.InternalTeamMember != null && SelectedOwner.StaffMember != null &&
                                                                              ol.InternalTeamMember.StaffID == SelectedOwner.StaffMember.ID);
                        }
                    }
                }
                else if (!Created && !Updated)
                {
                    Updated = true;
                    OnPropertyChanged("Updated");
                    if (LoggedDate != Globals.Today)
                    {
                        UpdatedDate = Globals.Today;
                    }
                    ProjectFunctions.ActionsChanged();
                }
                OnPropertyChanged(propertyName);
            }
            catch (Exception generalException) { MessageFunctions.Error("Error processing action update", generalException); }
        }