Пример #1
0
        protected void ClickSave_MiRvsItem(object sender, ImageClickEventArgs e)
        {
            DbMileageRateRevisionDetail MiRvsItem = new DbMileageRateRevisionDetail();
            Guid revisionItemId = new Guid(MiRvsItemId.Value);

            if (revisionItemId != Guid.Empty)
            {
                MiRvsItem.Id = new Guid(MiRvsItemId.Value);
            }

            MiRvsItem.MileageRateRevisionId  = new Guid(MiRvsId.Value);
            MiRvsItem.MileageProfileId       = new Guid(MiRvsProfileId.Value);
            MiRvsItem.PersonalLevelGroupCode = MiRvsPositionLevel.Value.ToString();
            MiRvsItem.CarRate        = UIHelper.ParseDouble(InputCarRate.Text);
            MiRvsItem.CarRate2       = UIHelper.ParseDouble(InputCarRate2.Text);
            MiRvsItem.PickUpRate     = UIHelper.ParseDouble(InputPickUpRate.Text);
            MiRvsItem.PickUpRate2    = UIHelper.ParseDouble(InputPickUpRate2.Text);
            MiRvsItem.MotocycleRate  = UIHelper.ParseDouble(InputMotocycleRate.Text);
            MiRvsItem.MotocycleRate2 = UIHelper.ParseDouble(InputMotocycleRate2.Text);
            DbMileageRateRevisionDetailService.AddMileageRateRevisionItem(MiRvsItem, UserAccount.UserID);
            InputCarRate.Text        = string.Empty;
            InputCarRate2.Text       = string.Empty;
            InputPickUpRate.Text     = string.Empty;
            InputPickUpRate2.Text    = string.Empty;
            InputMotocycleRate.Text  = string.Empty;
            InputMotocycleRate2.Text = string.Empty;
            MiRvsEditForm(false);
            DivMileageIltem.Style.Add("display", "none");
            //ctlMiRvsGrid.DataCountAndBind();
            ctlMiRvsDetail.DataCountAndBind();
            ctlUpdatePanelGridview.Update();
        }
        public void ValidateMileageRateData(FnExpenseMileage mileage, DateTime travelDate)
        {
            Spring.Validation.ValidationErrors errors = new Spring.Validation.ValidationErrors();
            long   companyId;
            string personal;

            if (mileage == null)
            {
                return;
            }
            if (mileage.IsOverrideLevel == true)
            {
                if (mileage != null)
                {
                    companyId = Convert.ToInt64(mileage.OverrideCompanyId);
                    personal  = mileage.OverrideUserPersonalLevelCode;
                }
                else
                {
                    errors.AddError("Provider.Error", new Spring.Validation.ErrorMessage("OverrideCompanyIdIsRequare"));
                    throw new ServiceValidationException(errors);
                }
            }
            else
            {
                companyId = Convert.ToInt64(mileage.CurrentCompanyId);
                personal  = mileage.CurrentUserPersonalLevelCode;
            }

            Guid MileageProfileId = SCG.DB.Query.ScgDbQueryProvider.DbCompanyQuery.getMileageProfileByCompanyID(companyId);

            if (MileageProfileId == null)
            {
                errors.AddError("Provider.Error", new Spring.Validation.ErrorMessage("CanNotFindMileageRate"));
                throw new ServiceValidationException(errors);
            }

            DbMileageRateRevisionDetail result = ScgDbQueryProvider.DbMileageRateRevisionDetailQuery.FindMileageRateRevision(MileageProfileId, personal, travelDate);

            if (result == null)
            {
                errors.AddError("Provider.Error", new Spring.Validation.ErrorMessage("CanNotFindMileageRate"));
                throw new ServiceValidationException(errors);
            }
            switch (mileage.TypeOfCar)
            {
            case TypeOfCar.PrivateCar:
                if (result.CarRate != Convert.ToDouble(mileage.First100KmRate) || result.CarRate2 != Convert.ToDouble(mileage.Exceed100KmRate))
                {
                    //errors.AddError("Provider.Error", new Spring.Validation.ErrorMessage("MileageRateInvalid"));
                    errors.AddError("Provider.Error", new Spring.Validation.ErrorMessage("MileageRateInvalid", new object[] { travelDate.ToString() }));
                }

                break;

            case TypeOfCar.MotorCycle:
                if (result.MotocycleRate != Convert.ToDouble(mileage.First100KmRate) || result.MotocycleRate2 != Convert.ToDouble(mileage.Exceed100KmRate))
                {
                    errors.AddError("Provider.Error", new Spring.Validation.ErrorMessage("MileageRateInvalid", new object[] { travelDate.ToString() }));
                }
                break;

            case TypeOfCar.Pickup:
                if (result.PickUpRate != Convert.ToDouble(mileage.First100KmRate) || result.PickUpRate2 != Convert.ToDouble(mileage.Exceed100KmRate))
                {
                    errors.AddError("Provider.Error", new Spring.Validation.ErrorMessage("MileageRateInvalid", new object[] { travelDate.ToString() }));
                }

                break;

            default:
                break;
            }
            if (!errors.IsEmpty)
            {
                throw new ServiceValidationException(errors);
            }
        }
        private void ImPortExcelFile(string storePath, string fileName)
        {
            addError2 = String.Empty;
            IList <DbMileageRateRevisionDetail> rows = new List <DbMileageRateRevisionDetail>();

            using (SpreadsheetDocument spreadsheetDocument = SpreadsheetDocument.Open(storePath + fileName, false))
            {
                WorkbookPart workbookPart = spreadsheetDocument.WorkbookPart;
                foreach (WorksheetPart worksheetPart in workbookPart.WorksheetParts)
                {
                    SheetData sheetData = worksheetPart.Worksheet.Elements <SheetData>().Where(t => t.HasChildren).FirstOrDefault();

                    if (sheetData == null)
                    {
                        continue;
                    }

                    foreach (Row r in sheetData.Elements <Row>())
                    {
                        DbMileageRateRevisionDetail row = new DbMileageRateRevisionDetail();
                        if (r.RowIndex == 1)
                        {
                            IList <DbMileageRateRevisionDetail> mRiTemId = ScgDbQueryProvider.DbMileageRateRevisionDetailQuery.FindForRemoveMileageRateRevisionItem(MRRevisionId);
                            foreach (DbMileageRateRevisionDetail mileageId in mRiTemId)
                            {
                                ScgDbDaoProvider.DbMileageRateRevisionDetailDao.Delete(mileageId);
                            }
                            continue;
                        }/*check if empty all column break*/
                        List <Cell> cells = r.Elements <Cell>().ToList();
                        row.MileageRateRevisionId = MRRevisionId;
                        Guid?result = ScgDbQueryProvider.DbProfileListQuery.GetProfileListIdByName(ExcelUtility.GetValue(workbookPart, r, 0));
                        row.MileageProfileId       = new Guid(result.ToString());
                        row.PersonalLevelGroupCode = ExcelUtility.GetValue(workbookPart, r, 1);
                        row.CarRate        = !String.IsNullOrEmpty(ExcelUtility.GetValue(workbookPart, r, 2)) ? UIHelper.ParseDouble(ExcelUtility.GetValue(workbookPart, r, 2)) : 0;
                        row.CarRate2       = !String.IsNullOrEmpty(ExcelUtility.GetValue(workbookPart, r, 3)) ? UIHelper.ParseDouble(ExcelUtility.GetValue(workbookPart, r, 3)) : 0;
                        row.MotocycleRate  = !String.IsNullOrEmpty(ExcelUtility.GetValue(workbookPart, r, 4)) ? UIHelper.ParseDouble(ExcelUtility.GetValue(workbookPart, r, 4)) : 0;
                        row.MotocycleRate2 = !String.IsNullOrEmpty(ExcelUtility.GetValue(workbookPart, r, 5)) ? UIHelper.ParseDouble(ExcelUtility.GetValue(workbookPart, r, 5)) : 0;
                        row.PickUpRate     = !String.IsNullOrEmpty(ExcelUtility.GetValue(workbookPart, r, 6)) ? UIHelper.ParseDouble(ExcelUtility.GetValue(workbookPart, r, 6)) : 0;
                        row.PickUpRate2    = !String.IsNullOrEmpty(ExcelUtility.GetValue(workbookPart, r, 7)) ? UIHelper.ParseDouble(ExcelUtility.GetValue(workbookPart, r, 7)) : 0;
                        row.Active         = true;
                        row.CreBy          = 1;
                        row.CreDate        = DateTime.Now;
                        row.UpdBy          = 1;
                        row.UpdDate        = DateTime.Now;
                        row.UpdPgm         = "1";
                        rows.Add(row);
                    }

                    break;
                }
            }
            //int count = 1;
            //DbMileageRateRevisionDetail temp = null ;
            for (int index = 0; index < rows.Count; index++)
            {
                addError = string.Empty;
                for (int index2 = 0; index2 < rows.Count; index2++)
                {
                    if (index != index2)
                    {
                        if (rows[index].MileageProfileId == new Guid())
                        {
                            addError = "found"; break;
                        }
                        if (rows[index].MileageProfileId == rows[index2].MileageProfileId && rows[index].PersonalLevelGroupCode == rows[index2].PersonalLevelGroupCode)
                        {
                            addError = "duplicate";
                        }
                    }
                }

                if (String.IsNullOrEmpty(addError))
                {
                    ScgDbDaoProvider.DbMileageRateRevisionDetailDao.SaveOrUpdate(rows[index]);
                }
                else if (addError == "duplicate")
                {
                    //if (!String.IsNullOrEmpty(addError2))
                    //{
                    //    addError2 += ",";
                    //}
                    addError2 += (index + 2).ToString() + " ";
                }
                else if (addError == "found")
                {
                    //if (!String.IsNullOrEmpty(addError3))
                    //{
                    //    addError3 += ",";
                    //}
                    addError3 += (index + 2).ToString() + " ";
                }
            }
        }