public JsonResult SaveComission(string StartDate, string EndDate, string Comission) { PropertyComissionRepository objupdate = new PropertyComissionRepository(); int i = 0; try { AssignBizContext(); int id = Convert.ToInt32(BizContext.HotelID); DateTime StartDat = DateTime.ParseExact(StartDate, @"d/M/yyyy", null); DateTime EndDat = DateTime.ParseExact(EndDate, @"d/M/yyyy", null); DataTable ComissionTable = objupdate.GetComissionTable(id); DataRow[] sameIntervalComission = ComissionTable.Select(string.Format("StartDate ='{0}' and EndDate='{1}'", StartDat, EndDat)); if (sameIntervalComission.Length > 0) { i = objupdate.UpdateComission(Convert.ToInt16(sameIntervalComission[0]["ID"]), Comission, this); } else { string comissionIDsToBeDeleted = ""; DataRow[] previousComission = ComissionTable.Select(string.Format("StartDate <'{0}' and EndDate>='{1}'", StartDat, EndDat)); if (previousComission.Length > 0) { i = objupdate.SaveComission(id, Convert.ToDateTime((previousComission[0]["StartDate"])), StartDat.AddDays(-1), Convert.ToString(previousComission[0]["Comission"]), this); if (comissionIDsToBeDeleted == "") { comissionIDsToBeDeleted = Convert.ToString(previousComission[0]["ID"]); } else { comissionIDsToBeDeleted = comissionIDsToBeDeleted + "," + Convert.ToString(previousComission[0]["ID"]); } } DataRow[] nextComission = ComissionTable.Select(string.Format("StartDate <='{0}' and EndDate>'{1}'", StartDat, EndDat)); if (nextComission.Length > 0) { i = objupdate.SaveComission(id, StartDat.AddDays(1), Convert.ToDateTime(nextComission[0]["EndDate"]), Convert.ToString(nextComission[0]["Comission"]), this); if (comissionIDsToBeDeleted == "") { comissionIDsToBeDeleted = Convert.ToString(nextComission[0]["ID"]); } else { comissionIDsToBeDeleted = comissionIDsToBeDeleted + "," + Convert.ToString(nextComission[0]["ID"]); } } DataRow[] intervalComissions = ComissionTable.Select(string.Format("StartDate >='{0}' and EndDate<='{1}'", StartDat, EndDat)); if (intervalComissions.Length > 0) { foreach (DataRow DRIC in intervalComissions) { if (comissionIDsToBeDeleted == "") { comissionIDsToBeDeleted = Convert.ToString(DRIC["ID"]); } else { comissionIDsToBeDeleted = comissionIDsToBeDeleted + "," + Convert.ToString(DRIC["ID"]); } } } i = objupdate.SaveComission(id, StartDat, EndDat, Comission, this); if (comissionIDsToBeDeleted != "") { objupdate.DeleteComission(comissionIDsToBeDeleted); } } } catch(Exception ex) { string hostName1 = Dns.GetHostName(); string GetUserIPAddress = Dns.GetHostByName(hostName1).AddressList[0].ToString(); string PageName = Convert.ToString(Session["PageName"]); //string GetUserIPAddress = GetUserIPAddress1(); using (BaseRepository baseRepo = new BaseRepository()) { //BizContext BizContext1 = new BizContext(); BizApplication.AddError(baseRepo.BizDB, PageName, ex.Message, ex.StackTrace, DateTime.Now, GetUserIPAddress); } Session["PageName"] = ""; string error = ErrorHandling.HandleException(ex); return this.Json(new DataSourceResult { Errors = error }); } return Json(i, JsonRequestBehavior.AllowGet); }
public ActionResult _Read([DataSourceRequest]DataSourceRequest request) { DataSourceResult result = null; try { AssignBizContext(); int id = Convert.ToInt32(BizContext.HotelID); PropertyComissionRepository modelRepo = new PropertyComissionRepository(); result = modelRepo.GetComission(id).ToDataSourceResult(request); } catch(Exception ex) { string hostName1 = Dns.GetHostName(); string GetUserIPAddress = Dns.GetHostByName(hostName1).AddressList[0].ToString(); string PageName = Convert.ToString(Session["PageName"]); //string GetUserIPAddress = GetUserIPAddress1(); using (BaseRepository baseRepo = new BaseRepository()) { //BizContext BizContext1 = new BizContext(); BizApplication.AddError(baseRepo.BizDB, PageName, ex.Message, ex.StackTrace, DateTime.Now, GetUserIPAddress); } Session["PageName"] = ""; string error = ErrorHandling.HandleException(ex); return this.Json(new DataSourceResult { Errors = error }); } return Json(result); }