private void Save() { try { if (objDriverRent.Current == null) { return; } string Description = txtReason.Text.ToStr().Trim(); if (string.IsNullOrEmpty(Description)) { ENUtils.ShowMessage("Required : Description"); return; } objDriverRent.Edit(); objDriverRent.Current.Balance = numCurrBalance.Value.ToDecimal(); Fleet_DriverRentExpense objDriverRentExpense = new Fleet_DriverRentExpense(); if (rdoCredit.IsChecked) { objDriverRentExpense.Credit = spnCommissionPay.Value.ToDecimal(); objDriverRentExpense.Amount = spnCommissionPay.Value.ToDecimal(); } else { objDriverRentExpense.Debit = spnCommissionPay.Value.ToDecimal(); objDriverRentExpense.Amount = spnCommissionPay.Value.ToDecimal(); } objDriverRentExpense.Date = DateTime.Now; objDriverRentExpense.Description = Description; objDriverRentExpense.IsPaid = true; objDriverRentExpense.AddBy = AppVars.LoginObj.UserName.ToStr().Trim(); if (objDriverRent.Current.Fleet_DriverRentExpenses.Count == 0) { objDriverRent.Current.Fleet_DriverRentExpenses.Add(objDriverRentExpense); } else { objDriverRent.Current.Fleet_DriverRentExpenses.Add(objDriverRentExpense); } objDriverRent.Save(); DisplayRecord(); //this.Close(); } catch (Exception ex) { if (objDriverRent.Errors.Count > 0) { ENUtils.ShowMessage(objDriverRent.ShowErrors()); } else { ENUtils.ShowMessage(ex.Message); } } }
void Grid_RowsChanging(object sender, GridViewCollectionChangingEventArgs e) { if (e.Action == Telerik.WinControls.Data.NotifyCollectionChangedAction.Remove) { objMaster = new DriverRentBO(); 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 <DriverRent>(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 void btnDisplayRent_Click(object sender, EventArgs e) { try { // decimal accJobsTotal = 0; decimal rentDue = 0; int DriverId = 0; decimal DriverRent = 0.00m; decimal pdaRent = 0.00m; decimal oldBalance = 0.00m; foreach (var row in grdDriverRent.Rows.Where(c => c.Cells["Check"].Value.ToBool())) { DriverId = row.Cells["Id"].Value.ToInt(); DriverRent = row.Cells["DriverRent"].Value.ToDecimal(); // add pda rent pdaRent = row.Cells[COLS.DriverPDARent].Value.ToDecimal(); oldBalance = row.Cells[COLS.OldBalance].Value.ToDecimal(); rentDue = 0; try { bool RentForProcessedJobs = AppVars.objPolicyConfiguration.RentForProcessedJobs.ToBool(); var rentList = General.GetGeneralList <DriverRent_Charge>(c => c.BookingId != null && c.TransId != null); var list2 = (from a in General.GetGeneralList <Booking>(c => c.CompanyId != null && 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)) join b in rentList 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() + a.CongtionCharges.ToDecimal() + a.MeetAndGreetCharges.ToDecimal(), // TotalCharges = a.TotalCharges, CompanyId = a.CompanyId, AccountTypeId = a.Gen_Company.AccountTypeId, DriverCommissionAmount = a.DriverCommission, DriverCommissionType = a.DriverCommissionType, IsCommissionWise = a.IsCommissionWise }).ToList(); //if (list2.Count == 0) // continue; decimal Total = list2.Sum(c => c.TotalFare).ToDecimal(); decimal ACCJobsTotal = list2.Where(c => c.CompanyId != null && c.AccountTypeId.ToInt() == Enums.ACCOUNT_TYPE.ACCOUNT) .Sum(c => c.TotalFare).ToDecimal(); decimal ACCCashJobsAmountTotal = list2.Where(c => c.CompanyId != null && c.AccountTypeId.ToInt() == Enums.ACCOUNT_TYPE.CASH && c.IsCommissionWise.ToBool() && c.DriverCommissionType.ToStr().Trim() == "Amount") .Sum(c => c.DriverCommissionAmount.ToDecimal()).ToDecimal(); decimal ACCCashJobsPercentTotal = list2.Where(c => c.CompanyId != null && c.AccountTypeId.ToInt() == Enums.ACCOUNT_TYPE.CASH && c.IsCommissionWise.ToBool() && c.DriverCommissionType.ToStr().Trim() == "Percent") .Sum(c => (c.DriverCommissionAmount.ToDecimal() * 100) / c.TotalFare).ToDecimal(); decimal owed = ACCJobsTotal - (DriverRent + pdaRent + (ACCCashJobsAmountTotal + ACCCashJobsPercentTotal)); owed = owed + oldBalance; rentDue = owed; row.Cells[COLS.AccountsTotal].Value = ACCJobsTotal; row.Cells[COLS.RentDue].Value = rentDue; row.Cells[COLS.CurrBalance].Value = rentDue; row.Cells[COLS.RentPay].Value = 0.00m; row.Cells[COLS.RentId].Value = null; dtpFromDate.Enabled = false; dtpTillDate.Enabled = false; } catch (Exception ex) { if (objMaster.Errors.Count > 0) { ENUtils.ShowMessage(objMaster.ShowErrors()); } else { ENUtils.ShowMessage(ex.Message); } } // } } catch (Exception ex) { } }
private bool OnSave(int DriverId, decimal oldBalance, decimal DriverRent, decimal pdaRent, decimal InitialBalance, decimal rentPayValue, ref decimal accJobs, ref long transId, ref decimal rentDue, ref decimal currBalance) { bool IsSaved = false; try { bool RentForProcessedJobs = AppVars.objPolicyConfiguration.RentForProcessedJobs.ToBool(); //var list = (from b in list1 // join c in list2 on b.Id equals c.BookingId into table2 // from c in table2.DefaultIfEmpty() // where (c == null) // select new var rentList = General.GetGeneralList <DriverRent_Charge>(c => c.BookingId != null && c.TransId != null); Expression <Func <Booking, bool> > _exp = null; if (AppVars.objPolicyConfiguration.PickBookingOnInvoicingType.ToInt() == 2) { _exp = c => c.CompanyId != null && ((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.CompanyId != null && 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 rentList 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() + a.CongtionCharges.ToDecimal() + a.MeetAndGreetCharges.ToDecimal(), // TotalCharges = a.TotalCharges, CompanyId = a.CompanyId, AccountTypeId = a.Gen_Company.AccountTypeId, DriverCommissionAmount = a.DriverCommission, DriverCommissionType = a.DriverCommissionType, IsCommissionWise = a.IsCommissionWise }).ToList(); //if (list2.Count == 0) // return false; objMaster = new DriverRentBO(); objMaster.New(); List <DriverRent_Charge> ListDetail = (from a in list2 select new DriverRent_Charge { //Id = a.Id, TransId = objMaster.Current.Id, BookingId = a.Id }).ToList(); decimal Total = list2.Sum(c => c.TotalFare).ToDecimal(); decimal ACCJobsTotal = list2.Where(c => c.CompanyId != null && c.AccountTypeId.ToInt() == Enums.ACCOUNT_TYPE.ACCOUNT) .Sum(c => c.TotalFare).ToDecimal(); decimal ACCCashJobsAmountTotal = list2.Where(c => c.CompanyId != null && c.AccountTypeId.ToInt() == Enums.ACCOUNT_TYPE.CASH && c.IsCommissionWise.ToBool() && c.DriverCommissionType.ToStr().Trim() == "Amount") .Sum(c => c.DriverCommissionAmount.ToDecimal()).ToDecimal(); decimal ACCCashJobsPercentTotal = list2.Where(c => c.CompanyId != null && c.AccountTypeId.ToInt() == Enums.ACCOUNT_TYPE.CASH && c.IsCommissionWise.ToBool() && c.DriverCommissionType.ToStr().Trim() == "Percent") .Sum(c => (c.DriverCommissionAmount.ToDecimal() * 100) / c.TotalFare).ToDecimal(); objMaster.Current.JobsTotal = ACCJobsTotal; accJobs = ACCJobsTotal; decimal owed = ACCJobsTotal - (DriverRent + pdaRent + (ACCCashJobsAmountTotal + ACCCashJobsPercentTotal)); owed = owed + oldBalance; rentDue = owed; // decimal balance = owed;// +payment; currBalance = owed + rentPayValue.ToDecimal(); objMaster.Current.RentPay = rentPayValue.ToDecimal(); objMaster.Current.Balance = currBalance;//RentPay - DriverRent; objMaster.Current.DriverRent1 = DriverRent; // add pda rent objMaster.Current.PDARent = pdaRent; 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 = { "DriverRent", "Booking" }; IList <DriverRent_Charge> savedList = objMaster.Current.DriverRent_Charges; var list = objMaster.Current.DriverRent_Charges.ToList(); Utils.General.SyncChildCollection(ref savedList, ref ListDetail, "Id", skipProperties); objMaster.Save(); 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); }