Esempio n. 1
0
 private void SaveProjectClicked()
 {
     try
     {
         bool isActive = regionManager.Regions[RegionNames.ContentRegion].ActiveViews.Select(a => a.ToString()?.Split('.').Last()).Contains("MasterDesigner");
         if (isActive)
         {
             Project = Project.GetProjectInstance;
             DoSavePipingTempNodeOutStructure();
             ProjectInfoBLL objProjectInfoBll = new ProjectInfoBLL();
             bool           status            = objProjectInfoBll.UpdateProject(Project);
             System.Windows.Application.Current.Properties["ProjectId"] = Project.projectID;
             JCHMessageBox.Show(Langauge.Current.GetMessage("SAVED_SUCCESSFULLY"));
         }
         else
         {
             JCHMessageBox.Show(Langauge.Current.GetMessage("ALERT_SAVE_PROJECT"));
         }
     }
     catch (Exception ex)
     {
         int?id = Project.GetProjectInstance?.projectID;
         Logger.LogProjectError(id, ex);
     }
 }
Esempio n. 2
0
        /// <summary>
        /// 获取剩余的预算资金总额
        /// 2017/6/12(zhuguanjun)
        /// </summary>
        /// <returns></returns>
        private decimal GetAmount()
        {
            decimal      amount = 0;
            ContractJBXX jbxx   = new ProjectInfoBLL().GetJBXX(ProjectId);

            if (!string.IsNullOrEmpty(jbxx.Amount))
            {
                decimal.TryParse(jbxx.Amount, out amount);
            }
            if (superGridControl1.PrimaryGrid.Rows != null && superGridControl1.PrimaryGrid.Rows.Count > 0)
            {
                foreach (var item in superGridControl1.PrimaryGrid.Rows)
                {
                    GridRow row       = (GridRow)item;
                    string  amountstr = row.Cells["Total"].Value == null ? "" : row.Cells["Total"].Value.ToString();
                    if (!string.IsNullOrEmpty(amountstr))
                    {
                        decimal temp = 0;
                        decimal.TryParse(amountstr, out temp);
                        amount = amount - temp;
                    }
                }
            }
            return(amount);
        }
Esempio n. 3
0
        private void btnLogin_Click(object sender, RoutedEventArgs e)
        {
            string name = txtName.Text.Trim();

            if (string.IsNullOrEmpty(name))
            {
                ModernDialog.ShowMessage("用户名不能为空", "提示", MessageBoxButton.OK);
                return;
            }
            string psd = txtPassword.Password;

            if (string.IsNullOrEmpty(psd))
            {
                ModernDialog.ShowMessage("密码不能为空", "提示", MessageBoxButton.OK);
                return;
            }
            UserInfo ui = null;

            try
            {
                ui = new UserBLL().GetModelByNamePsd(name, psd);
            }
            catch (Exception ex)
            {
                ModernDialog.ShowMessage("数据库连接错误:" + ex.Message, "提示", MessageBoxButton.OK);
                return;
            }
            if (ui != null)
            {
                MainWindow main = new MainWindow();
                MainWindow.appState.CurrentUserInfo = ui;

                // 项目信息
                ProjectInfo pi = new ProjectInfoBLL().GetModel(ui.ProjectGUID);
                if (pi != null)
                {
                    MainWindow.appState.MapConfig.CenterLat = pi.Lat;
                    MainWindow.appState.MapConfig.CenterLng = pi.Lng;
                }
                else
                {
                    MainWindow.appState.MapConfig.CenterLat = 31.02;
                    MainWindow.appState.MapConfig.CenterLng = 120.6;
                }

                // 项目配置信息
                MainWindow.appState.ProjectSets = new ProjectSetBLL().GetListByPrjGUID(ui.ProjectGUID);
                LightStateInfo.ProjectSets      = MainWindow.appState.ProjectSets;

                main.Show();
                this.Close();
            }
            else
            {
                ModernDialog.ShowMessage("用户名和密码错误!", "提示", MessageBoxButton.OK);
            }
        }
Esempio n. 4
0
        /// <summary>
        /// 比例改变,金额随之改变
        /// 2017/6/12(zhuguanjun)
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void intSRatio_ValueChanged(object sender, EventArgs e)
        {
            var     jbxx = new ProjectInfoBLL().GetJBXX(ProjectId);
            decimal temp = 0;

            if (jbxx != null)
            {
                decimal.TryParse(jbxx.Amount, out temp);
            }
            txtAmount.Text = (temp * intSRatio.Value / 100).ToString();
        }
Esempio n. 5
0
        private void GetCreatorDetails(int val)
        {
            var bll            = new ProjectInfoBLL();
            var CreatorDetails = bll.GetCreatorDetails(val);

            if (CreatorDetails != null)
            {
                CompanyName   = CreatorDetails.CompanyName;
                StreetAddress = CreatorDetails.StreetAddress;
                TownCity      = CreatorDetails.TownCity;
                Country       = CreatorDetails.Country;
                GpsPosition   = CreatorDetails.GpsPosition;
                ContactName   = CreatorDetails.ContactName;
                ContactEmail  = CreatorDetails.ContactEmail;
                IdNumber      = CreatorDetails.IdNumber;
            }
        }
Esempio n. 6
0
        private void GetClientDetails(int val)
        {
            var bll           = new ProjectInfoBLL();
            var ClientDetails = bll.GetClientDetails(val);

            if (ClientDetails != null)
            {
                TxtCompanyName   = ClientDetails.CompanyName;
                TxtContactName   = ClientDetails.ContactName;
                TxtStreetAddress = ClientDetails.StreetAddress;
                TxtSuburb        = ClientDetails.Suburb;
                TxtTownCity      = ClientDetails.TownCity;
                TxtCountry       = ClientDetails.Country;
                TxtGpsPosition   = ClientDetails.GpsPosition;
                TxtContactEmail  = ClientDetails.ContactEmail;
                TxtIdNumber      = ClientDetails.IdNumber;
            }
        }
Esempio n. 7
0
        public ProjectTemplateViewModel(IRegionManager regionManager, IGlobalProperties globalProperties)
        {
            _globalProperties = globalProperties;
            //_regionManager = regionManager;
            //LoadProjects();
            // AddAccessoryViewModel obj= new AddAccessoryViewModel();

            EditCommand = new DelegateCommand <object>((projectID) =>
            {
                //Button senderButton = sender as Button;
                //var item = senderButton.DataContext;
                //var projectID = ((Project)item).ProjectID;
                int projectId = (int)projectID;
                Application.Current.Properties["ProjectId"] = projectId;
                ProjectInfoBLL bll = new ProjectInfoBLL();

                JCHVRF.Entity.ProjectInfo projectNextGen = bll.GetProjectInfo(projectId);
                if (projectNextGen.ProjectLegacy.RoomList == null)
                {
                    projectNextGen.ProjectLegacy.RoomList = new List <JCHVRF.Model.Room>();
                }
                JCHVRF.Model.Project.CurrentProject = projectNextGen.ProjectLegacy;
                //This case only for old created project
                if (projectNextGen.ProjectLegacy.projectID.Equals(0))
                {
                    JCHVRF.Model.Project.CurrentProject.projectID = projectId;
                }

                //projectNextGen.ProjectLegacy.RegionCode = "EU_W";
                //projectNextGen.ProjectLegacy.SubRegionCode = "GBR";
                //projectNextGen.ProjectLegacy.projectID = projectId;

                NavigationParameters param = new NavigationParameters();
                param.Add("Project", projectNextGen.ProjectLegacy);
                _globalProperties.ProjectTitle = JCHVRF.Model.Project.CurrentProject.Name;
                regionManager.RequestNavigate(RegionNames.ContentRegion, ViewKeys.MasterDesigner, param);
                //var winMain = new MasterDesigner(projectNextGen.ProjectLegacy);
                //winMain.ShowDialog();
            });

            //SearchType = "all";
            // LoadProjects("All");
        }
Esempio n. 8
0
        /// <summary>
        /// 构造函数
        /// 2017/04/11(ZhuGuanJun)
        /// Updated:20170619(ChengMengjia) 加载主合同编号、名称;里程碑完成情况绑定和付款完成情况绑定
        /// </summary>
        public Contract()
        {
            InitializeComponent();

            //主合同编号、名称
            ContractJBXX conJBXX = new ProjectInfoBLL().GetJBXX(ProjectId);

            MainName       = conJBXX.Name;
            MainNo         = conJBXX.No;
            txtA_Name.Text = MainName;
            txtA_No.Text   = MainNo;

            DataBind();
            DataHelper.LoadDictItems(cmbLCBFinishStatus, DictCategory.Milestones_FinshStatus);
            DataHelper.LoadDictItems(cmbSKXXFinishStatus, DictCategory.Receivables_FinshStatus);
            //DataHelper.LoadDictItems(cmbSKXXBatchNo, DictCategory.Receivables_BatchNo);
            LoadSupplierItems(cmbCompanyName, "");
            dtiSignDate.Value      = DateTime.Now;
            dtiLCBFinishDate.Value = DateTime.Now; //里程碑完成日期
            dtiSKXXInDate.Value    = DateTime.Now;
            LoadFile();                            //合同文件
        }
Esempio n. 9
0
    protected void FormViewProject_DataBound(object sender, System.EventArgs e)
    {
        if (Page.Request.UrlReferrer != null)
        {
            if (Page.Request.UrlReferrer.AbsolutePath.Contains("new") && !IsPostBack)
            {
                ltlMessage.Text = MessageFormatter.GetFormattedSuccessMessage("Insert successful");
            }
        }

        string projectID = Page.RouteData.Values["project_id"] as string;

        if (projectID != null && projectID != "0")
        {
            ProjectInfo projectInfoes = new ProjectInfoBLL().GetProjectInfoesByProjectID(Convert.ToInt32(projectID))[0];

            DropDownList ddlCity = (DropDownList)formViewProject.FindControl("ddlCity");
            if (ddlCity != null)
            {
                ddlCity.SelectedValue = projectInfoes.CityID.ToString();
            }
        }
    }
Esempio n. 10
0
        public void LoadProjects(string searchType)
        {
            /// TODO : Check weather region is available or Not, need to notify to do location settings.
            //if (string.IsNullOrWhiteSpace(JCHVRF.Model.SystemSetting.UserSetting.locationSetting.region))
            //{
            //    return;
            //}
            //else
            //{
            string region    = JCHVRF.Model.SystemSetting.UserSetting.locationSetting.region;
            string subRegion = JCHVRF.Model.SystemSetting.UserSetting.locationSetting.subRegion;
            ObservableCollection <LightProject> projects = new ObservableCollection <LightProject> {
            };
            List <JCHVRF.Entity.ProjectInfo> prjList     = new List <JCHVRF.Entity.ProjectInfo>();
            ProjectInfoBLL bll = new ProjectInfoBLL();

            prjList = bll.GetAllProjectsRegionWise(searchType, region, subRegion);
            prjList = prjList.OrderByDescending(mm => mm.LastUpdateDate).ToList();
            foreach (var item in prjList)
            {
                projects.Add(new LightProject
                {
                    CreatedDate        = DateTime.Today,
                    DeliveryDate       = item.DeliveryDate,
                    LastModifiedBy     = "UserName",
                    ModifiedDate       = " : " + item.LastUpdateDate.Year.ToString() + "/" + item.LastUpdateDate.Month.ToString() + "/" + item.LastUpdateDate.Day.ToString(),
                    ProjectID          = item.ProjectID,
                    RemainingDays      = language.Current.GetMessage("DASHBOARD_PROJECT_DAYS_REMAINING"), // Added on 30-11-2018 for split days and remain text
                    RemainingDaysInNos = Convert.ToString((item.DeliveryDate - DateTime.UtcNow).Days),    //  Added on 30-11-2018 for split days and remain text
                    ProjectStatusPer   = rnd.Next(1, 100),                                                //Added on 30-11-2018 for perc
                    ProjectName        = item.ProjectName
                                                                                                          //RemainingDays = (item.DeliveryDate - DateTime.UtcNow).Days + " days remaining until due date"
                });
            }
            Projects = projects;
            // }
        }
Esempio n. 11
0
        private void OnSaveClickedCommand()
        {
            _eventAggregator.GetEvent <ProjectSettingsSave>().Publish();
            var proj = JCHVRF.Model.Project.GetProjectInstance;

            if (proj.IsBothMode == true)
            {
                proj.IsCoolingModeEffective = true;
                proj.IsHeatingModeEffective = true;
            }
            ProjectInfoBLL objPrjbll = new ProjectInfoBLL();

            if (objPrjbll.UpdateProject(proj))
            {
                JCHMessageBox.Show(Langauge.Current.GetMessage("SUCCESSFULLY_UPDATE"));//"Successfully Updated!");
                RefreshDashBoard();
            }
            //bug 3825
            var currentSystem = WorkFlowContext.CurrentSystem as JCHVRF.Model.NextGen.SystemVRF;

            _eventAggregator.GetEvent <SystemDetailsSubscriber>().Publish(currentSystem);
            //bug 3825
            UtilTrace.SaveHistoryTraces();
        }
        //ACC - RAG END

        //IRegionManager regionManager;
        private void CreateClick()
        {
            var proj = JCHVRF.Model.Project.GetProjectInstance;

            _eventAggregator.GetEvent <BeforeCreate>().Publish();

            SystemBase newSystem = WorkFlowContext.NewSystem;

            int sysTypeAsInt = System.Convert.ToInt32(newSystem.HvacSystemType);

            switch (sysTypeAsInt)
            {
            case 1:
                proj.SystemListNextGen.Add((JCHVRF.Model.NextGen.SystemVRF)newSystem);
                break;

            case 2:
                proj.HeatExchangerSystems.Add((SystemHeatExchanger)newSystem);
                break;

            case 6:
                proj.ControlSystemList.Add((ControlSystem)newSystem);
                break;
            }


            if (_projectBAL.CreateProject(proj))
            {
                var w = Application.Current.MainWindow;

                RefreshDashBoard();
                var projectId = proj.projectID;
                int projectid = (int)projectId;
                Application.Current.Properties["ProjectId"] = projectId;
                ProjectInfoBLL            bll            = new ProjectInfoBLL();
                JCHVRF.Entity.ProjectInfo projectNextGen = JCHVRF.Entity.ProjectInfo.create();
                projectNextGen = bll.GetProjectInfo(projectId);


                if (projectNextGen != null)
                {
                    if (WorkFlowContext.Systemid == "2")
                    {
                        if (TotalHeatExUnitInfoViewModel.flgValidateUnit == false)
                        {
                            //JCHMessageBox.Show("Unit name of Heat Exchanger can not be blank");
                            //---------------- Below code added for multi-language----------//
                            JCHMessageBox.Show(Language.Current.GetMessage("ALERT_HEATEXCHANGER_UNITNAME"));
                            return;
                        }

                        //JCHMessageBox.Show("Heat Exchanger has no system available for connection");
                        //---------------- Below code added for multi-language----------//
                        JCHMessageBox.Show(Language.Current.GetMessage("ALERT_EXCHANGER_NO_SYSTEM"));
                    }

                    else if (WorkFlowContext.Systemid == "6")
                    {
                        //JCHMessageBox.Show("Central Controller has no system available for connection");
                        //---------------- Below code added for multi-language----------//

                        _eventAggregator.GetEvent <ErrorMessageUC>().Publish(Language.Current.GetMessage("CENTRAL_CONTROLLER_BLANK"));
                        Views.ucDesignerCanvas.__errorMessage = Language.Current.GetMessage("CENTRAL_CONTROLLER_BLANK");
                        //   JCHMessageBox.Show(Language.Current.GetMessage("ALERT_CENTRALCONTROLLER_NO_SYSTEM"));
                    }
                    else
                    {
                        //  JCHMessageBox.Show("Project Saved Successfully");
                        //---------------- Below code added for multi-language----------//
                        JCHMessageBox.Show(Language.Current.GetMessage("ALERT_PROJECT_SAVED"));
                        _globalProperties.ProjectTitle = JCHVRF.Model.Project.CurrentProject.Name;
                        _globalProperties.Notifications.Insert(0, new JCHVRF.Model.NextGen.Notification(JCHVRF.Model.NextGen.NotificationType.APPLICATION, String.Format("Project: {0} Created !", _globalProperties.ProjectTitle)));
                    }

                    // ACC - RAG END
                }

                projectNextGen.ProjectLegacy.RegionCode    = JCHVRF.Model.Project.CurrentProject.RegionCode;
                projectNextGen.ProjectLegacy.SubRegionCode = JCHVRF.Model.Project.CurrentProject.SubRegionCode;
                projectNextGen.ProjectLegacy.projectID     = projectid;

                w.Hide();
                NavigationParameters param = new NavigationParameters();
                param.Add("Project", projectNextGen.ProjectLegacy);

                //event to trigger to all view models to unsubscribe events they have subscibed to
                _eventAggregator.GetEvent <Cleanup>().Publish();
                //Test this
                _eventAggregator.GetEvent <CleanupOnClose>().Publish();
                _eventAggregator.GetEvent <ErrorLogVMClearAll>().Publish();
                RegionManager.RequestNavigate(RegionNames.ContentRegion, ViewKeys.Splash, (a) => {
                    _winService.Close("CreateProjectWizard");
                }, param);
                //RegionManager.RequestNavigate(RegionNames.ContentRegion, ViewKeys.MasterDesigner, (a) => { win.Close(); }, param);

                w.Show();
            }
        }
Esempio n. 13
0
        //ACC - RAG START

        //ACC - RAG END

        //IRegionManager regionManager;
        private void CreateClick(Window win)
        {
            _eventAggregator.GetEvent <BeforeCreate>().Publish();

            var        proj      = Project.GetProjectInstance;
            SystemBase newSystem = WorkFlowContext.NewSystem;

            int sysTypeAsInt = Convert.ToInt32(newSystem.HvacSystemType);

            switch (sysTypeAsInt)
            {
            case 1:
                proj.SystemListNextGen.Add((JCHVRF.Model.NextGen.SystemVRF)newSystem);
                _eventAggregator.GetEvent <ErrorMessageUC>().Publish(string.Empty);
                Views.ucDesignerCanvas.__errorMessage = string.Empty;
                break;

            case 2:
                proj.HeatExchangerSystems.Add((SystemHeatExchanger)newSystem);
                _eventAggregator.GetEvent <ErrorMessageUC>().Publish(string.Empty);
                Views.ucDesignerCanvas.__errorMessage = string.Empty;
                break;

            case 6:
                if ((proj.SystemListNextGen.Count <= 0) && (proj.HeatExchangerSystems.Count <= 0))
                {
                    _eventAggregator.GetEvent <ErrorMessageUC>().Publish(JCHVRF_New.LanguageData.LanguageViewModel.Current.GetMessage("CENTRAL_CONTROLLER_BLANK"));
                    Views.ucDesignerCanvas.__errorMessage = JCHVRF_New.LanguageData.LanguageViewModel.Current.GetMessage("CENTRAL_CONTROLLER_BLANK");
                }
                else
                {
                    _eventAggregator.GetEvent <ErrorMessageUC>().Publish(string.Empty);
                    Views.ucDesignerCanvas.__errorMessage = string.Empty;
                }
                proj.ControlSystemList.Add((ControlSystem)newSystem);
                break;
            }

            if (_projectBAL.UpdateProject(proj))
            {
                Project.GetProjectInstance.SelectedSystemID = newSystem.Id;
                UndoRedoSetup.SetInstanceNull();
                //WorkFlowContext.Clear();
                JCHMessageBox.Show(Langauge.Current.GetMessage("SYSTEM_SAVED_SUCCESSFULLY"));//System Saved Successfully
                if (win != null)
                {
                    var w = Application.Current.MainWindow;
                    w.Hide();
                    //RefreshDashBoard();
                    var projectId = proj.projectID;
                    Application.Current.Properties["ProjectId"] = projectId;
                    ProjectInfoBLL            bll            = new ProjectInfoBLL();
                    JCHVRF.Entity.ProjectInfo projectNextGen = bll.GetProjectInfo(projectId);
                    projectNextGen.ProjectLegacy.RegionCode    = JCHVRF.Model.Project.CurrentProject.RegionCode;
                    projectNextGen.ProjectLegacy.SubRegionCode = JCHVRF.Model.Project.CurrentProject.SubRegionCode;
                    projectNextGen.ProjectLegacy.projectID     = projectId;

                    NavigationParameters param = new NavigationParameters();
                    param.Add("Project", projectNextGen.ProjectLegacy);

                    RegionManager.RequestNavigate(RegionNames.ContentRegion, ViewKeys.MasterDesigner, (a) => { win.Close(); }, param);
                    w.Show();
                }
                //event to trigger to all view models to unsubscribe events they have subscibed to
                _eventAggregator.GetEvent <Cleanup>().Publish();
                _eventAggregator.GetEvent <SystemCreated>().Publish(newSystem);
                _eventAggregator.GetEvent <RefreshSystems>().Publish();
            }
        }
Esempio n. 14
0
 private void OnNewCreatorClickedCommand()
 {
     try
     {
         if (ValidateViewModel() == true)
         {
             var bll            = new ProjectInfoBLL();
             var CreatorDetails = bll.GetCreatorDetails(creatorVal);
             if (CreatorDetails != null)
             {
                 Creator objCreator = new Creator();
                 _projectInfoBll          = new ProjectInfoBLL();
                 objCreator.CompanyName   = CompanyName;
                 objCreator.StreetAddress = StreetAddress;
                 objCreator.Suburb        = Suburb;
                 objCreator.TownCity      = TownCity;
                 objCreator.Country       = Country;
                 objCreator.GpsPosition   = GpsPosition;
                 objCreator.ContactName   = ContactName;
                 objCreator.Phone         = Phone;
                 objCreator.ContactEmail  = ContactEmail;
                 objCreator.IdNumber      = IdNumber;
                 objCreator.Id            = creatorVal;
                 var result = _projectInfoBll.UpdateCreatorInfo(objCreator);
                 if (result == 1)
                 {
                     _eventAggregator.GetEvent <AddCreatorPayLoad>().Publish();
                     JCHMessageBox.Show(Langauge.Current.GetMessage("UPDATE_SUCCESSFULLY"));//"Update Successfully"
                     ResetValue();
                     //objCreatorWindow.RequestClose();
                 }
             }
             else
             {
                 Creator objCreator = new Creator();
                 _projectInfoBll          = new ProjectInfoBLL();
                 objCreator.CompanyName   = CompanyName;
                 objCreator.StreetAddress = StreetAddress;
                 objCreator.Suburb        = Suburb;
                 objCreator.TownCity      = TownCity;
                 objCreator.Country       = Country;
                 objCreator.GpsPosition   = GpsPosition;
                 objCreator.ContactName   = ContactName;
                 objCreator.Phone         = Phone;
                 objCreator.ContactEmail  = ContactEmail;
                 objCreator.IdNumber      = IdNumber;
                 var result = _projectInfoBll.InsertCreatorInfo(objCreator);
                 if (result == 1)
                 {
                     _eventAggregator.GetEvent <AddCreatorPayLoad>().Publish();
                     JCHMessageBox.Show(Langauge.Current.GetMessage("SAVE_SUCCESSFULLY"));// "Save Successfully");
                     ResetValue();
                     // objCreatorWindow.RequestClose();
                     _winService.Close(ViewKeys.NewCreatorInformation);
                 }
             }
         }
     }
     catch (Exception ex)
     {
         Logger.LogProjectError(null, ex);
     }
 }
Esempio n. 15
0
 private void OnNewClientClickedCommand()
 {
     try
     {
         if (ValidateViewModel() == true && ValidateEmailId() == true)
         {
             var bll           = new ProjectInfoBLL();
             var ClientDetails = bll.GetClientDetails(clientVal);
             if (ClientDetails != null)
             {
                 Client objClient = new Client();
                 _projectInfoBll         = new ProjectInfoBLL();
                 objClient.CompanyName   = TxtCompanyName;
                 objClient.ContactName   = TxtContactName;
                 objClient.StreetAddress = TxtStreetAddress;
                 objClient.Suburb        = TxtSuburb;
                 objClient.TownCity      = TxtTownCity;
                 objClient.Country       = TxtCountry;
                 objClient.GpsPosition   = TxtGpsPosition;
                 objClient.Phone         = TxtPhone;
                 objClient.ContactEmail  = TxtContactEmail;
                 objClient.IdNumber      = TxtIdNumber;
                 objClient.Id            = clientVal;
                 var result = _projectInfoBll.UpdateClientInfo(objClient);
                 if (result == 1)
                 {
                     _eventAggregator.GetEvent <AddCreatorPayLoad>().Publish();
                     JCHMessageBox.Show(Langauge.Current.GetMessage("UPDATE_SUCCESSFULLY"));//Update Successfully
                     Application.Current.Properties["TxtContactName"] = objClient.ContactName;
                     ResetValue();
                     _winService.Close(ViewKeys.Addnewclient);
                     //objClientWindow.RequestClose();
                 }
             }
             else
             {
                 Client objClient = new Client();
                 _projectInfoBll         = new ProjectInfoBLL();
                 objClient.CompanyName   = TxtCompanyName;
                 objClient.ContactName   = TxtContactName;
                 objClient.StreetAddress = TxtStreetAddress;
                 objClient.Suburb        = TxtSuburb;
                 objClient.TownCity      = TxtTownCity;
                 objClient.Country       = TxtCountry;
                 objClient.GpsPosition   = TxtGpsPosition;
                 objClient.Phone         = TxtPhone;
                 objClient.ContactEmail  = TxtContactEmail;
                 objClient.IdNumber      = TxtIdNumber;
                 var result = _projectInfoBll.InsertClientInfo(objClient);
                 if (result == 1)
                 {
                     _eventAggregator.GetEvent <AddCreatorPayLoad>().Publish();
                     JCHMessageBox.Show(Langauge.Current.GetMessage("SAVE_SUCCESSFULLY"));//Save Successfully
                     Application.Current.Properties["TxtContactName"] = objClient.ContactName;
                     ResetValue();
                     _winService.Close(ViewKeys.Addnewclient);
                     // objClientWindow.RequestClose();
                 }
             }
         }
     }
     catch (Exception ex)
     {
         Logger.LogProjectError(null, ex);
     }
 }
Esempio n. 16
0
    protected void Page_Load(object sender, EventArgs e)
    {
        string projectID = (Page.RouteData.Values["project_id"] as string);

        List <string> repsIdsToCreate = (Page.RouteData.Values["reports"] as string).Split(',').ToList();

        List <Rep> repsToCreate = new List <Rep>();

        foreach (string repID in repsIdsToCreate)
        {
            repsToCreate.Add(new RepBLL().GetRepByRepID(Convert.ToInt32(repID)));
        }

        bool isFullHeader = Convert.ToBoolean(Page.RouteData.Values["headeroneachreport"] as string);// cbHeaderOnEachReport.Checked;

        Eisk.BusinessEntities.Project  project  = new ProjectBLL().GetProjectByProjectID(Convert.ToInt32(projectID));
        Eisk.BusinessEntities.User     user     = new UserBLL().GetUserByUserName((HttpContext.Current.User.Identity).Name);
        Eisk.BusinessEntities.UserInfo userInfo = user.UserInfoes.First(instance => instance.UserID == user.UserID);

        DateTime time = DateTime.Now;

        string name = Reports.Translate(project.ProjectInfoes.First().ProjectName);

        string path = System.Web.HttpContext.Current.Server.MapPath(@System.Configuration.ConfigurationManager.AppSettings["ProjectsRoot"]) + projectID.ToString();

        // check folder exists
        if (!Directory.Exists(path))
        {
            Directory.CreateDirectory(path);
            System.IO.File.WriteAllText(path + "/" + name + ".xlsx", "");
        }

        FileInfo newFile = new FileInfo(path + @"\" + name + ".xlsx");

        File.Delete(path + @"\" + name + ".xlsx");
        using (ExcelPackage pck = new ExcelPackage(newFile))
        {
            ProjectInfo projectInfo = new ProjectInfoBLL().GetProjectInfoesByProjectID(Convert.ToInt32(projectID)).First();
            List <Project_Organisms> project_Organisms = new Project_OrganismsBLL().GetProject_OrganismsByProjectID(Convert.ToInt32(projectID));

            int totalPages        = 0;
            int currentPageNumber = 0;
            int maxLines          = Convert.ToInt32(@System.Configuration.ConfigurationManager.AppSettings["reportsMaxLines"]);

            List <TreeDetail>   treeDetails            = new List <TreeDetail>();
            List <TreeDetail>   treeComentaries        = new List <TreeDetail>();
            List <TreesSummary> actionProposedID0Items = new List <TreesSummary>();
            List <TreesSummary> actionProposedID1Items = new List <TreesSummary>();
            List <TreesSummary> actionProposedID2Items = new List <TreesSummary>();
            List <TreesSummary> actionProposedID3Items = new List <TreesSummary>();
            List <TreesSummary> actionProposedID4Items = new List <TreesSummary>();

            int treeDetailsCount            = 0;
            int actionProposedID0ItemsCount = 0;
            int actionProposedID1ItemsCount = 0;
            int actionProposedID2ItemsCount = 0;
            int actionProposedID3ItemsCount = 0;
            int actionProposedID4ItemsCount = 0;

            List <Index> idexes = new List <Index>();

            if (repsToCreate.Select(instance => instance.RepID).Contains(1))
            {
                idexes.Add(
                    new Index(
                        repsToCreate.Where(instance => instance.RepID == 1).Select(instance => instance.RepName).First(),
                        1,
                        totalPages + 1,
                        totalPages + 1
                        ));
                totalPages += 1;
            }
            if (repsToCreate.Select(instance => instance.RepID).Contains(2))
            {
                treeDetails       = new TreeDetailBLL().GetTreeDetailsByProjectID(Convert.ToInt32(projectID));
                treeDetailsCount += Reports.GetPageCountOrDefault(maxLines, treeDetails.Count);
                idexes.Add(
                    new Index(
                        repsToCreate.Where(instance => instance.RepID == 2).Select(instance => instance.RepName).First(),
                        2,
                        totalPages + 1,
                        totalPages + treeDetailsCount
                        ));
                totalPages += treeDetailsCount;
            }
            if (repsToCreate.Select(instance => instance.RepID).Contains(3))
            {
                actionProposedID0Items      = new TreesSummaryBLL().GetItems(project_Organisms, 0, true);
                actionProposedID0ItemsCount = Reports.GetPageCountOrDefault(maxLines, actionProposedID0Items.Count);
                ;
                idexes.Add(
                    new Index(
                        repsToCreate.Where(instance => instance.RepID == 3).Select(instance => instance.RepName).First(),
                        3,
                        totalPages + 1,
                        totalPages + actionProposedID0ItemsCount
                        ));
                totalPages += actionProposedID0ItemsCount;
            }
            if (repsToCreate.Select(instance => instance.RepID).Contains(4))
            {
                actionProposedID1Items       = new TreesSummaryBLL().GetItems(project_Organisms, 1, true);
                actionProposedID1ItemsCount += Reports.GetPageCountOrDefault(maxLines, actionProposedID1Items.Count);
                idexes.Add(
                    new Index(
                        repsToCreate.Where(instance => instance.RepID == 4).Select(instance => instance.RepName).First(),
                        4,
                        totalPages + 1,
                        totalPages + actionProposedID1ItemsCount
                        ));
                totalPages += actionProposedID1ItemsCount;
            }
            if (repsToCreate.Select(instance => instance.RepID).Contains(5))
            {
                actionProposedID2Items       = new TreesSummaryBLL().GetItems(project_Organisms, 2, true);
                actionProposedID2ItemsCount += Reports.GetPageCountOrDefault(maxLines, actionProposedID2Items.Count);
                idexes.Add(
                    new Index(
                        repsToCreate.Where(instance => instance.RepID == 5).Select(instance => instance.RepName).First(),
                        5,
                        totalPages + 1,
                        totalPages + actionProposedID2ItemsCount
                        ));
                totalPages += actionProposedID2ItemsCount;
            }
            if (repsToCreate.Select(instance => instance.RepID).Contains(6))
            {
                actionProposedID3Items       = new TreesSummaryBLL().GetItems(project_Organisms, 3, true);
                actionProposedID3ItemsCount += Reports.GetPageCountOrDefault(maxLines, actionProposedID3Items.Count);
                idexes.Add(
                    new Index(
                        repsToCreate.Where(instance => instance.RepID == 6).Select(instance => instance.RepName).First(),
                        6,
                        totalPages + 1,
                        totalPages + actionProposedID3ItemsCount
                        ));
                totalPages += actionProposedID3ItemsCount;
            }
            if (repsToCreate.Select(instance => instance.RepID).Contains(7))
            {
                actionProposedID4Items       = new TreesSummaryBLL().GetItems(project_Organisms, 4, true);
                actionProposedID4ItemsCount += Reports.GetPageCountOrDefault(maxLines, actionProposedID4Items.Count);
                idexes.Add(
                    new Index(
                        repsToCreate.Where(instance => instance.RepID == 7).Select(instance => instance.RepName).First(),
                        7,
                        totalPages + 1,
                        totalPages + actionProposedID4ItemsCount
                        ));
                totalPages += actionProposedID4ItemsCount;
            }
            if (repsToCreate.Select(instance => instance.RepID).Contains(8))
            {
                idexes.Add(
                    new Index(
                        repsToCreate.Where(instance => instance.RepID == 8).Select(instance => instance.RepName).First(),
                        1,
                        totalPages + 1,
                        totalPages + 1
                        ));
                totalPages += 1;
            }
            if (repsToCreate.Select(instance => instance.RepID).Contains(2)) // Se repite el ID de inventario de arboles para anejar comentarios muy largos
            {
                treeComentaries = treeDetails.AsQueryable().DynamicOrderBy("Number").Where(instance => instance.Commentary.Trim().Length > 100).ToList();

                int totalTreeDetailsLines = 0;
                int pageCount             = 0;
                foreach (var treeDetail in treeComentaries)
                {
                    int lines = (int)Math.Ceiling((double)treeDetail.Commentary.Length / 200D);
                    if (totalTreeDetailsLines + lines > maxLines * pageCount)
                    {
                        pageCount++;
                    }

                    totalTreeDetailsLines += lines;
                }

                if (treeComentaries.Count > 0)
                {
                    idexes.Add(
                        new Index(
                            "Comentarios (Continuación)",
                            0,
                            totalPages + 1,
                            totalPages + pageCount
                            ));
                }
                //int pageCount = (int)Math.Ceiling((double)totalTreeDetailsLines / (double)maxLines);
                totalPages += pageCount;
            }

            bool hasIndex = Convert.ToBoolean(Page.RouteData.Values["createindex"] as string);
            if (hasIndex)//cbCreateIndex.Checked)
            {
                Reports.Index(isFullHeader, currentPageNumber, totalPages, "Tabla de Contenido", project, userInfo, idexes, time, pck);
            }

            foreach (Int32 reportID in repsToCreate.Select(instance => instance.RepID))
            {
                switch (reportID)
                {
                case 1:
                {
                    Reports.ProjectInfo(isFullHeader, hasIndex, currentPageNumber, totalPages, project, userInfo, time, pck);
                    currentPageNumber += 1;
                }
                break;

                case 2:
                {
                    Reports.TreeInventory(isFullHeader, hasIndex, currentPageNumber, totalPages, project, userInfo, treeDetails.AsQueryable().DynamicOrderBy("Number").ToList(), time, pck, maxLines);
                    currentPageNumber += treeDetailsCount;
                }
                break;

                case 3:
                {        // actionProposedID = 0; ALL
                    Reports.TreesSummary(isFullHeader, hasIndex, currentPageNumber, totalPages, project, userInfo, actionProposedID0Items, time, pck, maxLines);
                    currentPageNumber += actionProposedID0ItemsCount;
                }
                break;

                case 4:
                {        // actionProposedID = 1; Corte y Remoción
                    Reports.ActionProposedSummary(isFullHeader, hasIndex, currentPageNumber, totalPages, "Resumen de Corte y Remoción", project, userInfo, actionProposedID1Items, time, pck, maxLines);
                    currentPageNumber += actionProposedID1ItemsCount;
                }
                break;

                case 5:
                {        // actionProposedID = 2; Protección
                    Reports.ActionProposedSummary(isFullHeader, hasIndex, currentPageNumber, totalPages, "Resumen de Protección", project, userInfo, actionProposedID2Items, time, pck, maxLines);
                    currentPageNumber += actionProposedID2ItemsCount;
                }
                break;

                case 6:
                {        // actionProposedID = 3; Poda
                    Reports.ActionProposedSummary(isFullHeader, hasIndex, currentPageNumber, totalPages, "Resumen de Poda", project, userInfo, actionProposedID3Items, time, pck, maxLines);
                    currentPageNumber += actionProposedID3ItemsCount;
                }
                break;

                case 7:
                {        // actionProposedID = 4; Transplante
                    Reports.ActionProposedSummary(isFullHeader, hasIndex, currentPageNumber, totalPages, "Resumen de Transplante", project, userInfo, actionProposedID4Items, time, pck, maxLines);
                    currentPageNumber += actionProposedID4ItemsCount;
                }
                break;

                case 8:
                {
                    using (ExcelPackage pck2 = new OfficeOpenXml.ExcelPackage())
                    {
                        ExcelWorksheet wsTemplate = null;
                        pck2.Load(File.OpenRead(System.Web.HttpContext.Current.Server.MapPath(@"~\App_Resources\Excel\Totales.xlsx")));
                        wsTemplate = pck2.Workbook.Worksheets.First();
                        Reports.ProjectResults(isFullHeader, hasIndex, currentPageNumber, totalPages, project_Organisms, project, userInfo, time, pck, wsTemplate);
                        currentPageNumber += 1;
                    }
                }
                break;

                default:
                    break;
                }
            }

            if (treeComentaries.Count > 0 && treeDetailsCount > 0)
            {
                Reports.Comentaries(isFullHeader, hasIndex, currentPageNumber, totalPages, "Comentarios (Continuación)", project, userInfo, treeComentaries, time, pck, maxLines);
            }

            pck.Save();
            pck.Dispose();
        }

        System.Web.HttpResponse response = System.Web.HttpContext.Current.Response;
        response.ClearContent();
        response.Clear();
        response.ContentType = "application/ms-excel";
        response.AddHeader("Content-Disposition", "attachment; filename=" + name + ".xlsx");
        response.WriteFile(path + @"/" + name + ".xlsx");

        response.End();
    }
        //IRegionManager regionManager;
        //
        private void SaveClick(Window win)
        {
            try
            {
                var proj         = Project.GetProjectInstance;
                int sysTypeAsInt = System.Convert.ToInt32(_hvacSystem.HvacSystemType);
                NextGenModel.SystemVRF currentSystem = new NextGenModel.SystemVRF();
                switch (sysTypeAsInt)
                {
                case 1:
                    proj.SystemListNextGen = JCHVRF.Model.Project.CurrentProject.SystemListNextGen;
                    currentSystem          = proj.SystemListNextGen.Find(sys => sys.Id == JCHVRF.Model.Project.CurrentSystemId);
                    _eventAggregator.GetEvent <BeforeSaveVRF>().Publish(currentSystem);
                    if (this.SelectedTabIndex != 0)
                    {
                        _eventAggregator.GetEvent <ODUTypeTabSave>().Publish();
                        if (!currentSystem.IsOutDoorUpdated)
                        {
                            return;
                        }
                    }
                    else
                    {
                        currentSystem.IsOutDoorUpdated = false;
                    }
                    UtilTrace.SaveHistoryTraces();
                    //proj.CanvasODUList = null;
                    break;

                case 2:
                    _eventAggregator.GetEvent <BeforeHESave>().Publish();
                    int k = proj.HeatExchangerSystems.IndexOf((SystemHeatExchanger)_hvacSystem);
                    proj.HeatExchangerSystems[k] = ((SystemHeatExchanger)_hvacSystem);
                    if (PropertyInfoViewModel._strHEName != null)
                    {
                        if (proj.HeatExchangerSystems[k].Id.Equals(PropertyInfoViewModel._strHEName[0]))
                        {
                            proj.HeatExchangerSystems[k].Name = PropertyInfoViewModel._strHEName[1];
                        }
                    }

                    UtilTrace.SaveHistoryTraces();
                    break;

                case 6:
                    _eventAggregator.GetEvent <BeforeSave>().Publish();
                    int j = proj.ControlSystemList.IndexOf((ControlSystem)_hvacSystem);
                    proj.ControlSystemList[j] = ((ControlSystem)_hvacSystem);
                    UtilTrace.SaveHistoryTraces();
                    break;
                }

                if (_projectBAL.UpdateProject(proj))
                {
                    _eventAggregator.GetEvent <RefreshSystems>().Publish();
                    if (sysTypeAsInt == 1)
                    {
                        HeatExchangerCanvasEquipmentViewModel.IsPropOrNewExch = false;
                        if (currentSystem.IsOutDoorUpdated)
                        {
                            bool IsSystemValidated = ((NextGenModel.SystemVRF)_hvacSystem).IsPipingOK;
                            JCHMessageBox.Show(Langauge.Current.GetMessage("SYSTEM_SAVED_SUCCESSFULLY")); //"System Saved Successfully");
                            _eventAggregator.GetEvent <AuToPipingBtnSubscriber>().Publish((NextGenModel.SystemVRF)_hvacSystem);

                            if (IsSystemValidated == true)
                            {
                                currentSystem.IsPipingOK = true;
                                _eventAggregator.GetEvent <PipingValidationBtnSubscriber>().Publish((NextGenModel.SystemVRF)_hvacSystem);
                            }
                        }
                        else
                        {
                            JCHMessageBox.Show(Langauge.Current.GetMessage("SYSTEM_SAVED_SUCCESSFULLY")); //"System Saved Successfully");
                        }
                    }
                    else
                    {
                        JCHMessageBox.Show(Langauge.Current.GetMessage("SYSTEM_SAVED_SUCCESSFULLY"));// "System Saved Successfully");
                    }
                    if (win != null)
                    {
                        var w = Application.Current.MainWindow;
                        w.Hide();
                        //RefreshDashBoard();
                        var projectId = proj.projectID;
                        Application.Current.Properties["ProjectId"] = projectId;
                        ProjectInfoBLL            bll            = new ProjectInfoBLL();
                        JCHVRF.Entity.ProjectInfo projectNextGen = bll.GetProjectInfo(projectId);


                        projectNextGen.ProjectLegacy.RegionCode    = JCHVRF.Model.Project.CurrentProject.RegionCode;
                        projectNextGen.ProjectLegacy.SubRegionCode = JCHVRF.Model.Project.CurrentProject.SubRegionCode;
                        projectNextGen.ProjectLegacy.projectID     = projectId;
                        NavigationParameters param = new NavigationParameters();
                        param.Add("Project", projectNextGen.ProjectLegacy);
                        _eventAggregator.GetEvent <CleanupSystemWizard>().Publish();
                        //RegionManager.RequestNavigate(RegionNames.ContentRegion, ViewKeys.Splash, (a) => { win.Close(); }, param);
                        RegionManager.RequestNavigate(RegionNames.ContentRegion, ViewKeys.MasterDesigner, (a) => { win.Close(); }, param);
                        w.Show();
                    }
                }
            }
            catch (Exception ex)
            {
                int?id = Project.GetProjectInstance?.projectID;
                Logger.LogProjectError(id, ex);
            }
        }