예제 #1
0
        private List <ProjectEmployeeDetail> FillProjectEmployeeDetailModel()
        {
            List <ProjectEmployeeDetail> LstPed = new List <ProjectEmployeeDetail>();
            ProjectEmployeeDetail        ped;

            foreach (DataRow row1 in _dtProjects.Rows)
            {
                if (row1[0] != DBNull.Value && (bool)row1[0] == true)
                {
                    ped = new ProjectEmployeeDetail();
                    ped.EmployeeCode = _EmployeeCode;
                    ped.ProjectCode  = (string)row1["ProjectCode"];
                    LstPed.Add(ped);
                }
            }
            return(LstPed);
        }
예제 #2
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            //---------Validations-------------------
            if (txtProjectCode.Text.Trim() == string.Empty)
            {
                MessageBox.Show("Project Code can not be empty");
                txtProjectCode.Focus();
                return;
            }
            if (txtProjectName.Text.Trim() == string.Empty)
            {
                MessageBox.Show("Project Name can not be empty");
                txtProjectCode.Focus();
                return;
            }
            //List<Project> projects=  _pc.GetModels();
            foreach (Project project in _pc.GetModels())
            {
                if (txtProjectCode.Text.Trim().ToUpper() == project.ProjectCode.ToUpper())
                {
                    MessageBox.Show("This Project Code is already taken");
                    txtProjectCode.Focus();
                    //break;
                    return;
                }
                if (txtProjectName.Text.Trim().ToUpper() == project.ProjectName.ToUpper())
                {
                    MessageBox.Show("This Project Name is already taken");
                    txtProjectCode.Focus();
                    //break;
                    return;
                }
            }
            //---------^-------------------
            DialogResult dialogResult = MessageBox.Show("Do you want to save?", "Confirmation", MessageBoxButtons.YesNo);

            if (dialogResult == DialogResult.No)
            {
                return;
            }

            this.Enabled = false;
            Project projModel;
            ProjectEmployeeDetail ped;

            if (_newMode == true)
            {
                //SaveData();
                projModel             = FillProjectModel();
                projModel.CreatedBy   = LoginInfo.LoginEmployee.EmployeeCode;
                projModel.CreatedDate = DateTime.Now;
                _pc = new ProjectController(projModel);
                _pc.Save();

                ped = new ProjectEmployeeDetail();
                ped.EmployeeCode = LoginInfo.LoginEmployee.EmployeeCode; //_EmployeeCode;
                ped.ProjectCode  = projModel.ProjectCode;                //(decimal)row1["ProjectCode"];

                _pedc = new ProjectEmployeeDetailController(ped);
                _pedc.Save();
                //-------------------


                _newMode = false;
            }
            else
            {
                //UpdateData();
                projModel             = FillProjectModel();
                projModel.CreatedBy   = _currentLoadedProject.CreatedBy;
                projModel.CreatedDate = _currentLoadedProject.CreatedDate;
                projModel.UpdatedBy   = LoginInfo.LoginEmployee.EmployeeCode;
                projModel.UpdateDate  = DateTime.Now;
                _pc = new ProjectController(projModel);
                _pc.UpdateModel(projModel);
            }

            this.Enabled = true;
            //////////////update shared object///////////////////
            //_pc = new ProjectController();

            //CurrentOpenProject.CurrentProject = _pc.GetModelByID(projModel.ProjectCode);
            //FrmMDI.Instance.Text = " Project Code: '" + projModel.ProjectCode +
            //            "' Project Name: '" + projModel.ProjectName +
            //            "' Project Customer: '" + projModel.Customer +
            //            "' Project End User: '******'";


            //for (int i = Application.OpenForms.Count - 1; i >= 0; i--)
            //{
            //    if (Application.OpenForms[i].Name != "FrmMDI" && Application.OpenForms[i].Name != "FrmProject")
            //        Application.OpenForms[i].Close();
            //}

            ////////////
            this.Close();

            for (int i = Application.OpenForms.Count - 1; i >= 0; i--)
            {
                if (Application.OpenForms[i].Name == "FrmProjects")
                {
                    StaticClasses.NewProjectOpened.ClosePreviousProjectFormsWithOutConfirmation = true;
                    Application.OpenForms[i].Close();
                    StaticClasses.NewProjectOpened.ClosePreviousProjectFormsWithOutConfirmation = false;
                }
            }

            FrmProjects_Show();
        }
예제 #3
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            //DialogResult dialogResult = MessageBox.Show("Do you want to save?", "Confirmation", MessageBoxButtons.YesNo);
            //if (dialogResult == DialogResult.No) return;
            SaveFileDialog savefile = new SaveFileDialog();
            // set a default file name
            string datetime = DateTime.Now.ToString("yyyyMMddHHmmss");

            datetime = datetime.Replace(":", "");

            savefile.FileName = "Material Request " + datetime + ".xlsx";
            // set filters - this can be done in properties as well
            savefile.Filter = "Excel Workbook (*.xlsx)|*.xlsx|All files (*.*)|*.*";

            if (savefile.ShowDialog() == DialogResult.OK)
            {
                this.Enabled = false;
                Project projModel;
                ProjectEmployeeDetail ped;

                if (_newMode == true)
                {
                    //SaveData();
                    projModel             = FillProjectModel();
                    projModel.CreatedBy   = LoginInfo.LoginEmployee.EmployeeCode;
                    projModel.CreatedDate = DateTime.Now;
                    _pc = new ProjectController(projModel);
                    _pc.Save();

                    ped = new ProjectEmployeeDetail();
                    ped.EmployeeCode = LoginInfo.LoginEmployee.EmployeeCode; //_EmployeeCode;
                    ped.ProjectCode  = projModel.ProjectCode;                //(decimal)row1["ProjectCode"];

                    _pedc = new ProjectEmployeeDetailController(ped);
                    _pedc.Save();
                    //-------------------

                    _newMode = false;
                }
                else
                {
                    //UpdateData();
                    projModel             = FillProjectModel();
                    projModel.CreatedBy   = _currentLoadedProject.CreatedBy;
                    projModel.CreatedDate = _currentLoadedProject.CreatedDate;
                    projModel.UpdatedBy   = LoginInfo.LoginEmployee.EmployeeCode;
                    projModel.UpdateDate  = DateTime.Now;
                    _pc = new ProjectController(projModel);
                    _pc.UpdateModel(projModel);
                }

                //fill MR Verion first
                _mrvc = new MRVersionController();
                _maxMRVersionAutoRowId = _mrvc.GetMaxMRVersionAutoRowId();

                MRVersion mrvModel = new MRVersion();
                mrvModel.ProjectCode = _currentLoadedProject.ProjectCode;
                //mrvModel.Version = _maxMRVersion
                mrvModel.IsVersion = false;
                mrvModel.Reason    = textBox1.Text;
                string strVerNo = string.Empty;
                if (_currentMRVersionDesc.Substring(_currentMRVersionDesc.IndexOf("-MR-")).Contains("-REV"))
                {
                    strVerNo = _currentMRVersionDesc.Substring(0, _currentMRVersionDesc.IndexOf("-REV"));

                    mrvModel.Revision  = _mrvc.GetMaxMRVersionNo(mrvModel.IsVersion.Value, strVerNo).ToString("00");
                    mrvModel.VersionNo = strVerNo + "-REV" + mrvModel.Revision;
                }
                else
                {
                    //decimal returnedValue = _mrvc.GetMaxMRVersionNo(mrvModel.IsVersion.Value, _currentMRVersionDesc)-1;
                    //returnedValue -= 1;
                    mrvModel.Revision  = _mrvc.GetMaxMRVersionNo(mrvModel.IsVersion.Value, _currentMRVersionDesc).ToString("00");
                    mrvModel.VersionNo = _currentMRVersionDesc + "-REV" + mrvModel.Revision;
                }

                //mrvModel.VersionNo = _currentLoadedProject.ProjectCode.ToString() + "-MR-" + mrvModel.Revision;
                //mrvModel.VersionNo = _currentMRVerionDesc + "-REV01" +



                //string strVer =string.Empty;
                //int intVer = 0;
                //if (_currentMRVersionDesc.Substring(_currentMRVersionDesc.IndexOf("-MR-")).Contains("-REV"))
                //{
                //    strVer = _currentMRVersionDesc.Substring(_currentMRVersionDesc.IndexOf("-MR-"));
                //    intVer = int.Parse( strVer.Substring(strVer.IndexOf("-REV") + 4));
                //    intVer += 1;
                //    //"20200626120629-MR-05-REV1"
                //    mrvModel.VersionNo = _currentMRVersionDesc.Replace("-REV1", "-REV" + intVer);//      //+ "-REV" + intLastVer;
                //}
                //else
                //{
                //    mrvModel.VersionNo = _currentMRVersionDesc + "-REV1";
                //}


                mrvModel.IsModified  = true;
                mrvModel.DateCreated = DateTime.Now;
                _mrvc = new MRVersionController(mrvModel);
                _mrvc.Save();
                //

                _LstObjBoms = new List <MR>();
                FillBOMModel2();

                _mrc = new MRController(_LstObjBoms);
                _mrc.SaveList(projModel.ProjectCode, _maxMRVersionAutoRowId);



                ///////////////export to excel/////////////////
                // Here is main process
                Microsoft.Office.Interop.Excel.Application objexcelapp = new Microsoft.Office.Interop.Excel.Application();
                objexcelapp.Application.Workbooks.Add(Type.Missing);
                objexcelapp.Columns.AutoFit();


                for (int i = _dtExportMRtoExcel.Columns.Count - 1; i >= 0; i--)
                {
                    if (!(_dtExportMRtoExcel.Columns[i].ColumnName == "PartNo" || _dtExportMRtoExcel.Columns[i].ColumnName == "Qty"))
                    {
                        _dtExportMRtoExcel.Columns.RemoveAt(i);
                    }
                }

                for (int i = 1; i < _dtExportMRtoExcel.Columns.Count + 1; i++)
                {
                    if (_dtExportMRtoExcel.Columns[i - 1].ColumnName == "PartNo" || _dtExportMRtoExcel.Columns[i - 1].ColumnName == "Qty")
                    {
                        Microsoft.Office.Interop.Excel.Range xlRange = (Microsoft.Office.Interop.Excel.Range)objexcelapp.Cells[1, i];
                        xlRange.Font.Bold           = -1;
                        xlRange.Borders.LineStyle   = Microsoft.Office.Interop.Excel.XlLineStyle.xlContinuous;
                        xlRange.Borders.Weight      = 1d;
                        xlRange.HorizontalAlignment = Microsoft.Office.Interop.Excel.XlHAlign.xlHAlignCenter;
                        objexcelapp.Cells[1, i]     = _dtExportMRtoExcel.Columns[i - 1].ColumnName;
                    }
                }
                /*For storing Each row and column value to excel sheet*/
                for (int i = 0; i < _dtExportMRtoExcel.Rows.Count; i++)
                {
                    for (int j = 0; j < _dtExportMRtoExcel.Columns.Count; j++)
                    {
                        if (_dtExportMRtoExcel.Columns[j].ColumnName == "PartNo" || _dtExportMRtoExcel.Columns[j].ColumnName == "Qty")
                        {
                            if (_dtExportMRtoExcel.Rows[i][j] != null)
                            {
                                Microsoft.Office.Interop.Excel.Range xlRange = (Microsoft.Office.Interop.Excel.Range)objexcelapp.Cells[i + 2, j + 1];
                                xlRange.Borders.LineStyle       = Microsoft.Office.Interop.Excel.XlLineStyle.xlContinuous;
                                xlRange.Borders.Weight          = 1d;
                                objexcelapp.Cells[i + 2, j + 1] = _dtExportMRtoExcel.Rows[i][j].ToString();
                            }
                        }
                    }
                }
                objexcelapp.Columns.AutoFit(); // Auto fix the columns size
                System.Windows.Forms.Application.DoEvents();
                MessageBox.Show("Save and exported successfully");
                //if (Directory.Exists("C:\\CTR_Data\\")) // Folder dic
                //{
                //    objexcelapp.ActiveWorkbook.SaveCopyAs("C:\\CTR_Data\\" + "excelFilename" + ".xlsx");
                //}
                //else
                //{
                //    Directory.CreateDirectory("C:\\CTR_Data\\");
                //    objexcelapp.ActiveWorkbook.SaveCopyAs("C:\\CTR_Data\\" + "excelFilename" + ".xlsx");
                //}
                objexcelapp.ActiveWorkbook.SaveCopyAs(savefile.FileName);
                objexcelapp.ActiveWorkbook.Saved = true;
                System.Windows.Forms.Application.DoEvents();
                //foreach (Process proc in System.Diagnostics.Process.GetProcessesByName("EXCEL"))
                //{
                //    proc.Kill();
                //}

                ///////

                //System.Diagnostics.Process.Start(savefile.FileName);

                //////////////update shared object///////////////////
                _pc = new ProjectController();
                CurrentOpenProject.CurrentProject = _pc.GetModelByID(CurrentOpenProject.CurrentProject.ProjectCode);
                //////////////
                this.Enabled = true;
                //this.Close();
            }
        }
예제 #4
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            this.Enabled = false;
            Project projModel;
            ProjectEmployeeDetail ped;

            if (_newMode == true)
            {
                //SaveData();
                projModel             = FillProjectModel();
                projModel.CreatedBy   = LoginInfo.LoginEmployee.EmployeeCode;
                projModel.CreatedDate = DateTime.Now;
                _pc = new ProjectController(projModel);
                _pc.Save();
                //------------------


                DataRow NewRow = _dtProjects.NewRow();
                NewRow[0] = projModel.ProjectCode; //decimal.Parse(txtProjectCode.Text);
                NewRow[1] = projModel.ProjectName; //txtProjectName.Text;
                NewRow[2] = projModel.Customer;    //txtProjectCustomerName.Text;
                NewRow[3] = projModel.EndUser;     //txtProjectEndUser.Text;

                _dtProjects.Rows.Add(NewRow);

                DataView dv = _dtProjects.DefaultView;
                dv.Sort     = "ProjectCode desc";
                _dtProjects = dv.ToTable();

                dataGridViewProjects.DataSource = _dtProjects;
                _LstProjects.Add(projModel);

                //------------------

                ped = new ProjectEmployeeDetail();
                ped.EmployeeCode = LoginInfo.LoginEmployee.EmployeeCode; //_EmployeeCode;
                ped.ProjectCode  = projModel.ProjectCode;                //(decimal)row1["ProjectCode"];

                _pedc = new ProjectEmployeeDetailController(ped);
                _pedc.Save();
                //-------------------


                _newMode = false;
            }
            else
            {
                //UpdateData();
                projModel             = FillProjectModel();
                projModel.CreatedBy   = _currentLoadedProject.CreatedBy;
                projModel.CreatedDate = _currentLoadedProject.CreatedDate;
                projModel.UpdatedBy   = LoginInfo.LoginEmployee.EmployeeCode;
                projModel.UpdateDate  = DateTime.Now;
                _pc = new ProjectController(projModel);
                _pc.UpdateModel(projModel);
                Project proj = _LstProjects.Where(x => x.ProjectCode == projModel.ProjectCode).FirstOrDefault();
                _LstProjects.Remove(proj);
                _LstProjects.Add(projModel);
            }

            List <BOM> LstObjBom;

            LstObjBom = FillBOMModel1(ref projModel);
            _bc       = new BOMController(LstObjBom);
            _bc.SaveList(projModel.ProjectCode, 1);
            //---
            LstObjBom = FillBOMModel2(ref projModel);
            _bc       = new BOMController(LstObjBom);
            _bc.SaveList(projModel.ProjectCode, 2);
            //---
            LstObjBom = FillBOMModel3(ref projModel);
            _bc       = new BOMController(LstObjBom);
            _bc.SaveList(projModel.ProjectCode, 3);

            //Project proj = _LstProjects.Where(x => x.ProjectCode == projModel.ProjectCode).FirstOrDefault();

            //if (proj == null)
            //{
            //    _LstProjects.Add(projModel);
            //}
            //else
            //{
            //    _LstProjects.Remove(proj);
            //    _LstProjects.Add(projModel);
            //}


            //_LstProjects
            this.Enabled = true;
        }
        public void SaveList(decimal pEmployeeCode)
        {
            List <ProjectEmployeeDetail> LstDbPed = GetModels(pEmployeeCode); //.Products.where(x => x.StoreId == store.StoreId)
                                                                              //if (LstDbPed.Count > 0)
                                                                              //{
                                                                              //    foreach (ProjectEmployeeDetail pedDb in LstDbPed)
                                                                              //    {
                                                                              //        ProjectEmployeeDetail projectEmployeeDetail = _gLstPedModel.FirstOrDefault(x => x.EmployeeCode == pedDb.EmployeeCode && x.ProjectCode == pedDb.ProjectCode);
                                                                              //        if (projectEmployeeDetail != null && projectEmployeeDetail.IsSelected == false) interfaceObj.DeleteModel(pedDb.Id);
                                                                              //    }

            //}

            //foreach (ProjectEmployeeDetail pedModel in _gLstPedModel)
            //{


            //    interfaceObj.InsertModel(pedModel);
            //}

            //--------------------------
            ProjectController projectController = new ProjectController();
            List <Project>    LstProjectsOwnedbyLoginedEmpDb;

            if (LoginInfo.LoginEmployee.EmployeeTypeCode == Constants.ADMIN)
            {
                //get all
                LstProjectsOwnedbyLoginedEmpDb = projectController.GetModels();
            }
            else
            {
                //get only logined manager
                LstProjectsOwnedbyLoginedEmpDb = projectController.GetModelsByCreatedByLoginedEmp();
            }



            //bool Found = false;
            foreach (Project prjDb in LstProjectsOwnedbyLoginedEmpDb)
            {
                ProjectEmployeeDetail pedRunningObj = _gLstPedModelRunning.FirstOrDefault(x => x.ProjectCode == prjDb.ProjectCode && x.EmployeeCode == pEmployeeCode);
                if (pedRunningObj == null)
                {
                    ProjectEmployeeDetail pedDb = LstDbPed.FirstOrDefault(x => x.ProjectCode == prjDb.ProjectCode && x.EmployeeCode == pEmployeeCode);
                    if (pedDb != null)
                    {
                        //delete
                        interfaceObj.DeleteModel(pedDb.Id);
                    }
                }
                else
                {
                    ProjectEmployeeDetail pedDb = LstDbPed.FirstOrDefault(x => x.ProjectCode == pedRunningObj.ProjectCode && x.EmployeeCode == pEmployeeCode);
                    if (pedDb == null)
                    {
                        //insert
                        interfaceObj.InsertModel(pedRunningObj);
                    }
                }
            }

            interfaceObj.Save();
        }
 public ProjectEmployeeDetailController(ProjectEmployeeDetail _pPedModel)
 {
     interfaceObj = new ProcurementRepository <ProjectEmployeeDetail>();
     _gPedModel   = _pPedModel;
 }