Beispiel #1
0
        // Редактируем недокомплекты
        void EditRequest(ProjectPropertyType type, OMTSRequestType rType, Project project)
        {
            var win = new RequestWindow(rType, project)
            {
                Owner = Window.GetWindow(this)
            };

            if (win.ShowDialog() != true)
            {
                return;
            }
        }
Beispiel #2
0
        /// <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;
        }
Beispiel #8
0
        /// <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));
            }
        }
Beispiel #9
0
 /// <summary>Изменение настроек проекта</summary>
 public static void ChangeProjectPropety(int projectId, ProjectPropertyType type, object value)
 {
     ChangeProjectPropety(projectId, type, value, true);
 }