/// <summary>Загружаем проект</summary> public AgrProject GetProject(int id) { lock (Db.Ds) { LogManager.LogDebug(IpClient(), "Запрос проекта " + id); AgrDataSet.ProjectsRow drProjects = Db.Ds.Projects.FindById(id); if (drProjects == null) { return(null); } AgrDataSet.ProjectRow drProject = drProjects.GetProjectRows()[0]; AgrDataSet.ClientProjectRow drClientProject = drProjects.GetClientProjectRows()[0]; AgrDataSet.ClientRow drClient = drClientProject.ClientRow; AgrDataSet.ProjectProductRow drProjectProduct = drProjects.GetProjectProductRows()[0]; AgrDataSet.ProductRow drProduct = drProjectProduct.ProductRow; var project = new AgrProject(drProject.Id) { ID = drProject.Name, Customer = drClient.Name, CustomerName = drProject.CustomerName, Product = drProduct.Name, Options = drProject.Options, ChangedDate = drProjects.Date, TimeEndActual = drProjects.TimeEndActual == DateTime.MinValue ? (DateTime?)null : drProjects.TimeEndActual, IsManagerSetPlanDate = drProject.IsManagerSetPlanDate, IsStop = drProject.IsStop, COM_Package_Type = drProject.COM_Package_Type, #region ITO #region G Time_ITO_G_Plan = drProject.Time_ITO_G_Plan == DateTime.MinValue ? (DateTime?)null : drProject.Time_ITO_G_Plan, Time_ITO_G_Actual = drProject.Time_ITO_G_Actual == DateTime.MinValue ? (DateTime?)null : drProject.Time_ITO_G_Actual, Is_ITO_G_NotNeed = drProject.Is_ITO_G_NotNeed, #endregion G #region E Time_ITO_E_Plan = drProject.Time_ITO_E_Plan == DateTime.MinValue ? (DateTime?)null : drProject.Time_ITO_E_Plan, Time_ITO_E_Actual = drProject.Time_ITO_E_Actual == DateTime.MinValue ? (DateTime?)null : drProject.Time_ITO_E_Actual, Is_ITO_E_NotNeed = drProject.Is_ITO_E_NotNeed, #endregion E #region R Time_ITO_R_Plan = drProject.Time_ITO_R_Plan == DateTime.MinValue ? (DateTime?)null : drProject.Time_ITO_R_Plan, Time_ITO_R_Actual = drProject.Time_ITO_R_Actual == DateTime.MinValue ? (DateTime?)null : drProject.Time_ITO_R_Actual, ITO_R_Mode = drProject.ITO_R_Mode, Is_ITO_R_NotNeed = drProject.Is_ITO_R_NotNeed, #endregion R #endregion ITO #region WH #region G Time_WH_G_Plan = drProject.Time_WH_G_Plan == DateTime.MinValue ? (DateTime?)null : drProject.Time_WH_G_Plan, Time_WH_G_Actual = drProject.Time_WH_G_Actual == DateTime.MinValue ? (DateTime?)null : drProject.Time_WH_G_Actual, Is_WH_G_NotNeed = drProject.Is_WH_G_NotNeed, Time_WH_G_Requests_Create = drProject.Time_WH_G_Requests_Create == DateTime.MinValue ? (DateTime?)null : drProject.Time_WH_G_Requests_Create, #endregion G #region E Time_WH_E_Plan = drProject.Time_WH_E_Plan == DateTime.MinValue ? (DateTime?)null : drProject.Time_WH_E_Plan, Time_WH_E_Actual = drProject.Time_WH_E_Actual == DateTime.MinValue ? (DateTime?)null : drProject.Time_WH_E_Actual, Is_WH_E_NotNeed = drProject.Is_WH_E_NotNeed, Time_WH_E_Requests_Create = drProject.Time_WH_E_Requests_Create == DateTime.MinValue ? (DateTime?)null : drProject.Time_WH_E_Requests_Create, #endregion E #region R Time_WH_R_Plan = drProject.Time_WH_R_Plan == DateTime.MinValue ? (DateTime?)null : drProject.Time_WH_R_Plan, Time_WH_R_Actual = drProject.Time_WH_R_Actual == DateTime.MinValue ? (DateTime?)null : drProject.Time_WH_R_Actual, Is_WH_R_NotNeed = drProject.Is_WH_R_NotNeed, #endregion R #endregion WH #region OMTS #region G Time_OMTS_G_Plan = drProject.Time_OMTS_G_Plan == DateTime.MinValue ? (DateTime?)null : drProject.Time_OMTS_G_Plan, Time_OMTS_G_Actual = drProject.Time_OMTS_G_Actual == DateTime.MinValue ? (DateTime?)null : drProject.Time_OMTS_G_Actual, #endregion G #region E Time_OMTS_E_Plan = drProject.Time_OMTS_E_Plan == DateTime.MinValue ? (DateTime?)null : drProject.Time_OMTS_E_Plan, Time_OMTS_E_Actual = drProject.Time_OMTS_E_Actual == DateTime.MinValue ? (DateTime?)null : drProject.Time_OMTS_E_Actual, #endregion E #endregion OMTS TimeBegin = drProject.TimeBegin, TimeEndPlaned = drProject.TimeEndPlaned, Com_New_Time = drProject.Com_New_Time == DateTime.MinValue ? (DateTime?)null : drProject.Com_New_Time, MF_Collector = drProject.MF_Collector, MF_Complete_Percentage = drProject.MF_Complete_Percentage, MF_Level = drProject.MF_Level, MF_Rama = drProject.MF_Rama, MF_Post = drProject.MF_Post, MF_Agregat = drProject.MF_Agregat, MF_SH_Place = drProject.MF_SH_Place, MF_SH = drProject.MF_SH, MF_Time_Plan = drProject.MF_Time_Plan == DateTime.MinValue ? (DateTime?)null : drProject.MF_Time_Plan, MF_Time_Test_Actual = drProject.MF_Time_Test_Actual == DateTime.MinValue ? (DateTime?)null : drProject.MF_Time_Test_Actual, MF_Time = drProject.MF_Time == DateTime.MinValue ? (DateTime?)null : drProject.MF_Time, #region OTK Time_OTK_Plan = drProject.Time_OTK_Plan == DateTime.MinValue ? (DateTime?)null : drProject.Time_OTK_Plan, Time_OTK_G_Actual = drProject.Time_OTK_G_Actual == DateTime.MinValue ? (DateTime?)null : drProject.Time_OTK_G_Actual, Time_OTK_E_Actual = drProject.Time_OTK_E_Actual == DateTime.MinValue ? (DateTime?)null : drProject.Time_OTK_E_Actual, Is_OTK_G_NotNeed = drProject.Is_OTK_G_NotNeed, Is_OTK_E_NotNeed = drProject.Is_OTK_E_NotNeed, #endregion OTK }; // Сообщения foreach (AgrDataSet.CommentRow drComment in drProjects.GetCommentRows()) { project.Messages.Add(new AgrProjectComment(drComment.Time, drComment.UserName, drComment.Value)); } // Недокомплект foreach (AgrDataSet.RequestRow drRequest in drProjects.GetRequestRows()) { project.Requests.Add(new AgrRequest((OMTSRequestType)drRequest.Type, drRequest.Name) { TotalCount = drRequest.TotalCount, ExistCount = drRequest.ExistCount, Article = drRequest.Article, DateComplete_Plan = drRequest.DateComplete_Plan == DateTime.MinValue ? (DateTime?)null : drRequest.DateComplete_Plan, DateComplete = drRequest.DateComplete == DateTime.MinValue ? (DateTime?)null : drRequest.DateComplete, IsCustomerMaterials = drRequest.IsCustomerMaterials }); } return(project); } }
/// <summary>Изменить состояние проекта</summary> public bool ChangeProject(AgrProject project) { lock (Db.Ds) { LogManager.LogInfo(IpClient(), "Запрос на изменение проекта " + project.ID + "- ProjectId: " + project.ProjectId + "; ID: " + project.ID + "; Customer: " + project.Customer + "; CustomerName: " + project.CustomerName + "; IsStop: " + project.IsStop + "; Product: " + project.Product + "; Options: " + project.Options + "; ChangedDate: " + project.ChangedDate + "; IsManagerSetPlanDate: " + project.IsManagerSetPlanDate + "; Time_ITO_G_Plan: " + (project.Time_ITO_G_Plan?.ToString() ?? "") + "; Time_ITO_G_Actual: " + (project.Time_ITO_G_Actual?.ToString() ?? "") + "; Is_ITO_G_NotNeed: " + project.Is_ITO_G_NotNeed + "; Time_ITO_E_Plan: " + (project.Time_ITO_E_Plan?.ToString() ?? "") + "; Time_ITO_E_Actual: " + (project.Time_ITO_E_Actual?.ToString() ?? "") + "; Is_ITO_E_NotNeed: " + project.Is_ITO_E_NotNeed + "; Time_ITO_R_Plan: " + (project.Time_ITO_R_Plan?.ToString() ?? "") + "; Time_ITO_R_Actual: " + (project.Time_ITO_R_Actual?.ToString() ?? "") + "; Is_ITO_R_NotNeed: " + project.Is_ITO_R_NotNeed + "; ITO_R_Mode: " + project.ITO_R_Mode + "; Time_WH_G_Plan: " + (project.Time_WH_G_Plan?.ToString() ?? "") + "; Time_WH_G_Actual: " + (project.Time_WH_G_Actual?.ToString() ?? "") + "; Is_WH_G_NotNeed: " + project.Is_WH_G_NotNeed + "; Time_WH_E_Plan: " + (project.Time_WH_E_Plan?.ToString() ?? "") + "; Time_WH_E_Actual: " + (project.Time_WH_E_Actual?.ToString() ?? "") + "; Is_WH_E_NotNeed: " + project.Is_WH_E_NotNeed + "; Time_WH_R_Plan: " + (project.Time_WH_R_Plan?.ToString() ?? "") + "; Time_WH_R_Actual: " + (project.Time_WH_R_Actual?.ToString() ?? "") + "; Is_WH_R_NotNeed: " + project.Is_WH_R_NotNeed + "; Time_WH_E_Requests_Create: " + (project.Time_WH_E_Requests_Create?.ToString() ?? "") + "; Time_WH_G_Requests_Create: " + (project.Time_WH_G_Requests_Create?.ToString() ?? "") + "; Time_OMTS_G_Plan: " + (project.Time_OMTS_G_Plan?.ToString() ?? "") + "; Time_OMTS_G_Actual: " + (project.Time_OMTS_G_Actual?.ToString() ?? "") + "; Time_OMTS_E_Plan: " + (project.Time_OMTS_E_Plan?.ToString() ?? "") + "; Time_OMTS_E_Actual: " + (project.Time_OMTS_E_Actual?.ToString() ?? "") + "; TimeBegin: " + project.TimeBegin + "; TimeEndPlaned: " + project.TimeEndPlaned + "; Com_New_Time: " + (project.Com_New_Time?.ToString() ?? "") + "; TimeEndActual: " + (project.TimeEndActual?.ToString() ?? "") + "; COM_Package_Type: " + project.COM_Package_Type + "; MF_Level: " + project.MF_Level + "; MF_Rama: " + project.MF_Rama + "; MF_Complete_Percentage: " + project.MF_Complete_Percentage + "; MF_Collector: " + project.MF_Collector + "; MF_Post: " + project.MF_Post + "; MF_Agregat: " + project.MF_Agregat + "; MF_SH_Place: " + project.MF_SH_Place + "; MF_SH: " + project.MF_SH + "; MF_Time_Plan: " + (project.MF_Time_Plan?.ToString() ?? "") + "; MF_Time_Test_Actual: " + (project.MF_Time_Test_Actual?.ToString() ?? "") + "; MF_Time: " + (project.MF_Time?.ToString() ?? "") + "; Time_OTK_Plan: " + (project.Time_OTK_Plan?.ToString() ?? "") + "; Time_OTK_G_Actual: " + (project.Time_OMTS_E_Actual?.ToString() ?? "") + "; Is_OTK_G_NotNeed: " + project.Is_OTK_G_NotNeed + "; Time_OTK_E_Actual: " + (project.Time_OTK_E_Actual?.ToString() ?? "") + "; Is_OTK_E_NotNeed: " + project.Is_OTK_E_NotNeed); return(Db.SetProject(project)); } }