示例#1
0
        public void PopulateDesingBOQ()
        {
            MODEL = null;
            tabBOQSheets.Pages.Clear();
            this.Cursor = Cursors.WaitCursor;
            try
            {
                headerBOQMenu.Values.Heading = String.Empty;
                TBL_MP_CRM_SalesEnquiry_BOQ dbModel = (new ServiceSalesEnquiryBOQ()).GetDesignBOQdbInfo(this.SalesEnquiryID);
                if (dbModel != null)
                {
                    MODEL = JsonConvert.DeserializeObject <SalesEnquiryDesignBOQViewModel>(dbModel.BOQ_DESIGN_OBJECT);
                    if (MODEL != null) // DRAW ALL SHEETS
                    {
                        MODEL.BOQ_ID                 = dbModel.DESIGN_BOQ_ID;
                        MODEL.BOQ_NUMBER             = dbModel.BOQ_NUMBER;
                        MODEL.ENQUIRY_ID             = dbModel.ENQUIRY_ID;
                        headerBOQMenu.Values.Heading = MODEL.BOQ_NUMBER;
                        foreach (SalesEnquiryDesignBOQSheet sheet in MODEL.SHEETS)
                        {
                            KryptonPage pageBOQSheet = new KryptonPage()
                            {
                                Text = sheet.SheetName, Name = string.Format("page{0}", tabBOQSheets.Pages.Count + 1)
                            };
                            ControlSalesEnquiryDesignBOQSheet _sheetControl = new ControlSalesEnquiryDesignBOQSheet(sheet);
                            pageBOQSheet.Controls.Add(_sheetControl);
                            _sheetControl.Dock = DockStyle.Fill;
                            tabBOQSheets.Pages.Add(pageBOQSheet);
                            _sheetControl.ParentTabPage = pageBOQSheet;
                            _sheetControl.PopulateBOQItemsGrid();
                            tabBOQSheets.SelectedPage = pageBOQSheet;
                            _sheetControl.Visible     = true;
                            _sheetControl.ReadOnly    = this.ReadOnly;
                            //_sheetControl.SetBOQItemsGridColumnSizes();
                            _sheetControl.SetBOQItemsGridColumnSizes();
                        }
                    }
                }
                else
                {
                    CreateDefaultBOQSheet();
                }

                foreach (KryptonPage page in tabBOQSheets.Pages)
                {
                    ControlSalesEnquiryDesignBOQSheet sheet = (ControlSalesEnquiryDesignBOQSheet)page.Controls[0];
                    sheet.SetBOQItemsGridColumnSizes();
                }
            }
            catch (Exception ex)
            {
                string errMessage = ex.Message;
                if (ex.InnerException != null)
                {
                    errMessage += string.Format("\n{0}", ex.InnerException.Message);
                }
                MessageBox.Show(errMessage, "ControlSalesEnquiryDesignBOQ::PopulateDesingBOQ", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            this.Cursor = Cursors.Default;
        }
示例#2
0
        public SalesEnquiryDesignBOQViewModel SaveDesignBOQ(SalesEnquiryDesignBOQViewModel MODEL, int empID)
        {
            try
            {
                if (MODEL.BOQ_ID == 0)
                {
                    TBL_MP_CRM_SalesEnquiry_BOQ newBOQ = new TBL_MP_CRM_SalesEnquiry_BOQ();
                    newBOQ.ENQUIRY_ID = MODEL.ENQUIRY_ID;
                    newBOQ.BOQ_DESIGN_OBJECT_CREATED_BY   = empID;
                    newBOQ.BOQ_DESIGN_OBJECT_CREATED_DATE = AppCommon.GetServerDateTime();
                    newBOQ.BOQ_NUMBER = this.GenerateDesignBOQNumber(MODEL.ENQUIRY_ID);
                    _dbContext.TBL_MP_CRM_SalesEnquiry_BOQ.Add(newBOQ);
                    _dbContext.SaveChanges();
                    MODEL.BOQ_ID = newBOQ.DESIGN_BOQ_ID;
                }
                // REINSTANCIATE BOQ ITEMS COLLECTION
                foreach (SalesEnquiryDesignBOQSheet sheet in MODEL.SHEETS)
                {
                    sheet.BOQ_ITEMS = new BindingList <EnquiryBOQItem>();
                }

                string output = JsonConvert.SerializeObject(MODEL);
                TBL_MP_CRM_SalesEnquiry_BOQ editBOQ = _dbContext.TBL_MP_CRM_SalesEnquiry_BOQ.Where(x => x.DESIGN_BOQ_ID == MODEL.BOQ_ID).FirstOrDefault();
                editBOQ.BOQ_DESIGN_OBJECT = output;
                _dbContext.SaveChanges();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "ServiceSalesEnquiryBOQ::SaveDesignBOQ", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            return(MODEL);
        }
示例#3
0
        public TBL_MP_CRM_SalesEnquiry_BOQ GetDesignBOQdbInfo(int SelectedID)
        {
            TBL_MP_CRM_SalesEnquiry_BOQ model = null;

            try
            {
                model = (from xx in _dbContext.TBL_MP_CRM_SalesEnquiry_BOQ where  xx.ENQUIRY_ID == SelectedID select xx).FirstOrDefault();
            }
            catch (Exception ex)
            {
                string errMessage = ex.Message;
                if (ex.InnerException != null)
                {
                    errMessage += string.Format("\n{0}", ex.InnerException.Message);
                }
                MessageBox.Show(errMessage, "ServiceSalesEnquiryBOQ::GetDesignBOQdbInfo", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            return(model);
        }
示例#4
0
        public SalesEnquiryDesignBOQViewModel GetDesignBOQModel(int boqID)
        {
            SalesEnquiryDesignBOQViewModel model = new SalesEnquiryDesignBOQViewModel();

            try
            {
                TBL_MP_CRM_SalesEnquiry_BOQ dbModel = _dbContext.TBL_MP_CRM_SalesEnquiry_BOQ.Where(x => x.DESIGN_BOQ_ID == boqID).FirstOrDefault();
                if (dbModel != null)
                {
                    string json = dbModel.BOQ_DESIGN_OBJECT;
                    model = JsonConvert.DeserializeObject <SalesEnquiryDesignBOQViewModel>(json);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "ServiceSalesEnquiryBOQ::GetDesignBOQModel", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            return(model);
        }