// Редактируем недокомплекты void EditRequest(ProjectPropertyType type, OMTSRequestType rType, Project project) { var win = new RequestWindow(rType, project) { Owner = Window.GetWindow(this) }; if (win.ShowDialog() != true) { return; } }
/// <summary>Изменение настроек проекта</summary> static void ChangeProjectPropety(int projectId, ProjectPropertyType type, object value, bool isSendToServer = false) { lock (projects) { var project = projects.SingleOrDefault(x => x.ProjectID == projectId); if (project == null) { return; } // копия состояния Project projectPreviesState = null; if (isSendToServer) { projectPreviesState = project.Clone(); } project.SetValue(type, value); if (isSendToServer) { // сохраняем изменения в буфер prevState = new ProjectUndoBuffer { Project = projectPreviesState }; // Сохраняем на сервер if (!ServiceManager.ChangeProject(project.GetAgrProject())) { MessageBox.Show("Не удалось сохранить изменения на сервер", "Внимание", MessageBoxButton.OK, MessageBoxImage.Error); return; } } var sValue = ""; if (value != null && !(value is IEnumerable)) { sValue = value.ToString(); } var msg = string.Format("Изменения в проекте: '{0}' тип изменения: '{1}' {2}", project.ID, Project.GetDescription(type), (string.IsNullOrEmpty(sValue) ? "" : "значение: '" + sValue + "'")); EventMessages.Insert(0, new EventMessage(DateTime.Now, project.ProjectID, msg)); // если не на этом компе изменилось то ставим if (!isSendToServer) { // Ставим что новый проект TrayIconManager.SetBaloonTip(string.Format("Изменения в проекте: '{0}'", project.ID), 5); TrayIconManager.SetMessageDefault(); } } }
// Редактируем недокомплекты void EditRequest(ProjectPropertyType type, OMTSRequestType rType, Project project) { var win = new RequestWindow(rType, project) { Owner = Window.GetWindow(this) }; if (win.ShowDialog() != true) { return; } ProjectManager.ChangeProjectPropety(project.ProjectID, type, win.Requests); }
private static string EnumToStringName(ProjectPropertyType propType) { return Enum.GetName(typeof(ProjectPropertyType), propType); }
public static object[] GetPropertyValuesFromAllProjects(ProjectPropertyType projectProperty) { if (_dte.Solution.Projects.Count < 1) return null; object[] values = new object[_dte.Solution.Projects.Count]; for (int i = 0; i < values.Length; i++) { NameValueCollection propertyCollection = GetProjectProperties(DTE.Solution.Projects.Item(i)); values[i] = propertyCollection[EnumToStringName(projectProperty)]; } return values; }
public static object GetProjectPropertyValue(Project project, ProjectPropertyType projectProperty) { NameValueCollection props = GetProjectProperties(project); if (props != null) return props[EnumToStringName(projectProperty)]; return null; }
public static object GetCurrentProjectPropertyValue(ProjectPropertyType projectProperty) { Project proj = GetCurrentProject(); if (proj != null) { try { Property prop = proj.Properties.Item(EnumToStringName(projectProperty)); if (prop != null) return prop.Value; } catch (Exception ex) { Debug.Print(ex.Message); throw ex; } } return null; }
/// <summary>Установка планируемой даты</summary> public static void SetPlanDate(ProjectPropertyType type, Project p, Window owner) { if (!p.IsManagerSetPlanDate) { return; } var time = DateTime.Now.Date.AddDays(-1); bool isNew = true; var title = string.Format("Изменение времени '{0}'", Project.GetDescription(type)); switch (type) { #region ITO_G_Time_Plan case ProjectPropertyType.ITO_G_Time_Plan: { if (p.Time_ITO_G_Plan.HasValue) { time = p.Time_ITO_G_Plan.Value; isNew = false; } break; } #endregion #region ITO_E_Time_Plan case ProjectPropertyType.ITO_E_Time_Plan: { if (p.Time_ITO_E_Plan.HasValue) { time = p.Time_ITO_E_Plan.Value; isNew = false; } break; } #endregion #region ITO_R_Time_Plan case ProjectPropertyType.ITO_R_Time_Plan: { if (p.Time_ITO_R_Plan.HasValue) { time = p.Time_ITO_R_Plan.Value; isNew = false; } break; } #endregion #region WH_G_Time_Plan case ProjectPropertyType.WH_G_Time_Plan: { if (p.Time_WH_G_Plan.HasValue) { time = p.Time_WH_G_Plan.Value; isNew = false; } break; } #endregion #region WH_E_Time_Plan case ProjectPropertyType.WH_E_Time_Plan: { if (p.Time_WH_E_Plan.HasValue) { time = p.Time_WH_E_Plan.Value; isNew = false; } break; } #endregion #region WH_R_Time_Plan case ProjectPropertyType.WH_R_Time_Plan: { if (p.Time_WH_R_Plan.HasValue) { time = p.Time_WH_R_Plan.Value; isNew = false; } break; } #endregion #region OMTS_G_Time_Plan case ProjectPropertyType.OMTS_G_Time_Plan: { if (p.Time_OMTS_G_Plan.HasValue) { time = p.Time_OMTS_G_Plan.Value; isNew = false; } break; } #endregion #region OMTS_E_Time_Plan case ProjectPropertyType.OMTS_E_Time_Plan: { if (p.Time_OMTS_E_Plan.HasValue) { time = p.Time_OMTS_E_Plan.Value; isNew = false; } break; } #endregion #region OTK_Time_Plan case ProjectPropertyType.OTK_Time_Plan: { if (p.Time_OTK_Plan.HasValue) { time = p.Time_OTK_Plan.Value; isNew = false; } break; } #endregion } var win = new ChangeDateWindow(time, false) { Owner = owner, Title = title }; if (win.ShowDialog() != true || !win.NewDate.HasValue) { return; } ChangeProjectPropety(p.ProjectID, type, win.NewDate); // коментарий в зависимости от if (isNew) { AddComment(p.ProjectID, string.Format("Задали: '{0}' на: {1} - {2}", Project.GetDescription(type), win.NewDate.Value.ToString("dd/MM/yyyy"), win.NewComment)); } else { AddComment(p.ProjectID, string.Format("Изменили: '{0}' c: {1} на: {2} - {3}", Project.GetDescription(type), time.ToString("dd/MM/yyyy"), win.NewDate.Value.ToString("dd/MM/yyyy"), win.NewComment)); } }
/// <summary>Изменение настроек проекта</summary> public static void ChangeProjectPropety(int projectId, ProjectPropertyType type, object value) { ChangeProjectPropety(projectId, type, value, true); }