private void Save() { try { if (objDriverCommision.Current == null) { return; } string Description = txtReason.Text.ToStr().Trim(); if (string.IsNullOrEmpty(Description)) { ENUtils.ShowMessage("Required : Description"); return; } objDriverCommision.Edit(); objDriverCommision.Current.Balance = numCurrBalance.Value.ToDecimal(); Fleet_DriverCommissionExpense objDriverCommissionExpense = new Fleet_DriverCommissionExpense(); if (rdoCredit.IsChecked) { objDriverCommissionExpense.Credit = spnCommissionPay.Value.ToDecimal(); objDriverCommissionExpense.Amount = spnCommissionPay.Value.ToDecimal(); } else { objDriverCommissionExpense.Debit = spnCommissionPay.Value.ToDecimal(); objDriverCommissionExpense.Amount = spnCommissionPay.Value.ToDecimal(); } objDriverCommissionExpense.Date = DateTime.Now; objDriverCommissionExpense.Description = Description; objDriverCommissionExpense.IsPaid = true; if (objDriverCommision.Current.Fleet_DriverCommissionExpenses.Count == 0) { objDriverCommision.Current.Fleet_DriverCommissionExpenses.Add(objDriverCommissionExpense); } else { objDriverCommision.Current.Fleet_DriverCommissionExpenses.Add(objDriverCommissionExpense); } objDriverCommision.Current.EditOn = DateTime.Now; objDriverCommision.Current.EditLog = AppVars.LoginObj.UserName.ToStr(); objDriverCommision.Current.EditBy = AppVars.LoginObj.LuserId.ToInt(); objDriverCommision.Save(); DisplayRecord(); //this.Close(); } catch (Exception ex) { if (objDriverCommision.Errors.Count > 0) { ENUtils.ShowMessage(objDriverCommision.ShowErrors()); } else { ENUtils.ShowMessage(ex.Message); } } }
void Grid_RowsChanging(object sender, GridViewCollectionChangingEventArgs e) { if (e.Action == Telerik.WinControls.Data.NotifyCollectionChangedAction.Remove) { objMaster = new DriverCommisionBO(); try { objMaster.GetByPrimaryKey(grdLister.CurrentRow.Cells["Id"].Value.ToInt()); string Transaction = grdLister.CurrentRow.Cells["TransNo"].Value.ToStr(); int DriverId = grdLister.CurrentRow.Cells["DriverID"].Value.ToInt(); var query = General.GetQueryable <Fleet_DriverCommision>(c => c.DriverId == DriverId).OrderByDescending(c => c.Id).FirstOrDefault(); if (query != null) { string Transno = query.TransNo.ToStr(); if (Transno == Transaction) { objMaster.Delete(objMaster.Current); } else { ENUtils.ShowMessage("You Can not delete a record.."); } } } catch (Exception ex) { if (objMaster.Errors.Count > 0) { ENUtils.ShowMessage(objMaster.ShowErrors()); } else { ENUtils.ShowMessage(ex.Message); } e.Cancel = true; } } }
private bool OnSave(int DriverId, decimal oldBalance, decimal DriverCommissionPerBooking, decimal pdaCommission, decimal InitialBalance, decimal CommissionPayValue, ref decimal accJobs, ref long transId, ref decimal rentDue, ref decimal currBalance) { bool IsSaved = false; try { bool RentForProcessedJobs = AppVars.objPolicyConfiguration.RentForProcessedJobs.ToBool(); var CommissionList = General.GetGeneralList <Fleet_DriverCommision_Charge>(c => c.BookingId != null && c.TransId != null); Expression <Func <Booking, bool> > _exp = null; if (AppVars.objPolicyConfiguration.PickBookingOnInvoicingType.ToInt() == 2) { _exp = c => ((c.PaymentTypeId != Enums.PAYMENT_TYPES.CASH && c.BookingStatusId == Enums.BOOKINGSTATUS.NOPICKUP) || c.BookingStatusId == Enums.BOOKINGSTATUS.DISPATCHED) && (c.FareRate != null) && ((RentForProcessedJobs == true && (c.IsProcessed != null && c.IsProcessed == true)) || (RentForProcessedJobs == false && (c.IsProcessed == null || c.IsProcessed == false))) && (c.DriverId == DriverId) && (c.PickupDateTime.Value.Date >= dtpFromDate.Value.Value.Date && c.PickupDateTime.Value.Date <= dtpTillDate.Value.Value.Date); } else { _exp = c => c.BookingStatusId == Enums.BOOKINGSTATUS.DISPATCHED && (c.FareRate != null) && ((RentForProcessedJobs == true && (c.IsProcessed != null && c.IsProcessed == true)) || (RentForProcessedJobs == false && (c.IsProcessed == null || c.IsProcessed == false))) && (c.DriverId == DriverId) && (c.PickupDateTime.Value.Date >= dtpFromDate.Value.Value.Date && c.PickupDateTime.Value.Date <= dtpTillDate.Value.Value.Date); } var list2 = (from a in General.GetGeneralList <Booking>(_exp) join b in CommissionList on a.Id equals b.BookingId into table2 from b in table2.DefaultIfEmpty() where (b == null) select new { Id = a.Id, TotalFare = a.FareRate.ToDecimal(), CompanyId = a.CompanyId, AccountTypeId = a.Gen_Company != null ? a.Gen_Company.AccountTypeId : a.PaymentTypeId, DriverCommissionAmount = a.DriverCommission, DriverCommissionType = a.DriverCommissionType, IsCommissionWise = a.IsCommissionWise, AgentCommission = a.AgentCommission }).ToList(); if (list2.Count > 0) { objMaster = new DriverCommisionBO(); objMaster.New(); List <Fleet_DriverCommision_Charge> ListDetail = (from a in list2 select new Fleet_DriverCommision_Charge { //Id = a.Id, TransId = objMaster.Current.Id, BookingId = a.Id, CommissionPerBooking = (a.TotalFare * DriverCommissionPerBooking) / 100 //CommissionPerBooking=a.DriverCommissionAmount }).ToList(); decimal Total = list2.Sum(c => c.TotalFare).ToDecimal(); decimal ACCJobsTotal = list2.Where(c => c.CompanyId != null).Sum(c => c.TotalFare).ToDecimal(); double totalWeeks = (dtpTillDate.Value.ToDate().Subtract(dtpFromDate.Value.ToDate()).TotalDays) / 7; if (totalWeeks <= 0) { totalWeeks = 1; } decimal TotalPDARent = (pdaCommission * totalWeeks.ToInt()); decimal AgentCommission = list2.Sum(c => c.AgentCommission).ToDecimal(); decimal DriverCommissionTotal = 0; DriverCommissionTotal = ((Total - AgentCommission) * DriverCommissionPerBooking / 100); decimal owed = ((AgentCommission + TotalPDARent + DriverCommissionTotal) - ACCJobsTotal); rentDue = owed; objMaster.Current.AccJobsTotal = ACCJobsTotal; objMaster.Current.DriverOwed = rentDue; objMaster.Current.CommissionTotal = DriverCommissionTotal; objMaster.Current.JobsTotal = Total; objMaster.Current.AgentFeesTotal = AgentCommission; objMaster.Current.CommisionPay = CommissionPayValue.ToDecimal(); objMaster.Current.Balance = (rentDue + oldBalance);//RentPay - DriverRent; objMaster.Current.DriverCommision = DriverCommissionPerBooking; // add pda rent objMaster.Current.PDARent = pdaCommission; objMaster.Current.AddBy = AppVars.LoginObj.LuserId.ToInt(); objMaster.Current.AddLog = AppVars.LoginObj.LoginName.ToStr(); objMaster.Current.AddOn = DateTime.Now; objMaster.Current.TransDate = DateTime.Now; //dtpTransactionDate.Value.ToDateTime(); objMaster.Current.DriverId = DriverId; //ddlDriver.SelectedValue.ToIntorNull(); objMaster.Current.OldBalance = oldBalance; // (CurrentBalance - RentPay); objMaster.Current.FromDate = dtpFromDate.Value.ToDate(); objMaster.Current.ToDate = dtpTillDate.Value.ToDate(); objMaster.Current.TransFor = "Weekly";//ddlDayWise.SelectedText.ToStr(); objMaster.Current.Fuel = 0; //Fuel.ToDecimal(); objMaster.Current.Extra = 0; // Extra.ToDecimal(); string[] skipProperties = { "Fleet_DriverCommision", "Booking" }; IList <Fleet_DriverCommision_Charge> savedList = objMaster.Current.Fleet_DriverCommision_Charges; var list = objMaster.Current.Fleet_DriverCommision_Charges.ToList(); Utils.General.SyncChildCollection(ref savedList, ref ListDetail, "Id", skipProperties); objMaster.Save(); currBalance = objMaster.Current.Balance.ToDecimal(); IsSaved = true; transId = objMaster.Current.Id; } } catch (Exception ex) { if (objMaster.Errors.Count > 0) { ENUtils.ShowMessage(objMaster.ShowErrors()); } else { ENUtils.ShowMessage(ex.Message); } } return(IsSaved); }