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() + " "; } } }