public string SaveBonusTransaction(List <bonushelper> bonus, transaction_category bonustransaction, DateTime fromdate, DateTime todate, admin_user user) { this.fromdate = fromdate; this.todate = todate; int completed = 0; int failed = 0; // Thread workerSms; //AutoSendSMS("234" + user.phone.Substring(1, user.phone.Length-1)); foreach (bonushelper bhelp in bonus) { if (bhelp.Bonus > 0) { try { //workerSms = new Thread(() => SaveTransaction(bhelp, bonustransaction, user)); //workerSms.Start(); //completed++; SaveTransaction(bhelp, bonustransaction, user); completed++; } catch (Exception) { failed++; } } } return("Completed " + completed + " Failed " + failed); }
private master_transaction initializeDailySalesTransaction(string transcode, decimal amount) { transaction_category tranct = trancategory.SingleOrDefault(a => a.code == transcode); master_transaction trans = new master_transaction(); trans.amount = master_daily_sale.sales; trans.shop = master_daily_sale.shop; trans.trans_timestamp = DateTime.Now; trans.details = tranct.name + " For " + ((DateTime)master_daily_sale.date).ToShortDateString(); trans.description = tranct.name + " For " + ((DateTime)master_daily_sale.date).ToShortDateString(); application app = new application { app_id = Guid.NewGuid().ToString() }; trans.app_id = app.app_id; // master_balance_sheet sheet = dbmc.master_balance_sheets.SingleOrDefault(a => a.shop == master_daily_sale.shop); trans.balance_before = sheet != null ? sheet.sales_balance : Decimal.Zero; trans.posted_by = master_daily_sale.posted_by; // transaction_category tc = dbmc.transaction_categories.SingleOrDefault(a => a.code == transcode); trans.trans_category = tranct.id; trans.trans_type = (tranct.type == true)? 1 : 0; trans.amount = amount; calulateBlanaceSheetAfterDailySalesAlter(tranct.type == false ? Decimal.Negate((decimal)trans.amount): (decimal)trans.amount); //trans.balance_after = Decimal.Add((decimal)trans.balance_before, (tc.type == false ? Decimal.Negate((decimal)trans.amount): (decimal)trans.amount)); trans.balance_after = sheet.sales_balance; return(trans); }
private void AddSalesTransaction(shop shop, PaymentNotificationRequest pnr, BettingSuiteDataContext db) { int tt = db.transaction_categories.Single(a => a.code.Equals("L")).id; if (pnr.isReversal) { tt = db.transaction_categories.Single(a => a.code.Equals("LR")).id; } transaction_category selectedtran = db.transaction_categories.SingleOrDefault(a => a.id == tt); //string[] MDS = {"S", "W", "C", "SR", "WR","CR"}; string[] MLR = { "L", "R", "LR", "RR" }; string[] LPT = { "LP", "LPR" }; if (MLR.Contains(selectedtran.code)) { decimal amount = new decimal(null); AddnewLodgementReimbursementTransaction(shop, selectedtran, pnr, db, amount); } else { } }
private void SendSms(bonushelper bhelp, master_balance_sheet balancesheet, transaction_category btran) { try { bool mailvalidity = new Utilities.Mail_Validity_Helper().getMailSendingStatus(); SMS_Vendor_Validity_Helper valhelp = new SMS_Vendor_Validity_Helper(); sms_vendor vendor = valhelp.getVendorsByName("50kobo"); bool smsvalidity = (DateTime.Today <= vendor.expiry_date) ? true : false; if (bhelp.shop.agent != null) { sms message = new sms(); if (btran.code == "B") { if (smsvalidity) { sm mm = new CRUD.sms_crud().findByCode("BA"); message = new sms(); if (message.initialisebonusparams(bhelp.shop, mm.subject + "\r\n" + mm.content + "\r\n" + mm.conclusion, bhelp.Bonus, balancesheet.sales_balance.Value)) { ; } message.CustomizeAndSendSMS(); } } } } catch (Exception) { } }
private decimal?getbal(decimal?bal1, decimal?bal2, transaction_category tran) { if (tran.type == false) { return(bal1 - bal2); } else { return(bal1 + bal2); } }
private void LodgeCommission(master_transaction master_transaction, transaction_category tran) { commission_balance balance = db.commission_balances.SingleOrDefault(a => a.shop == master_transaction.shop); if (balance == null) { balance = new commission_balance { shop = master_transaction.shop.Value, balance = 0 }; } transaction_category commtran = null; if (tran.code == "CR") { commtran = db.transaction_categories.SingleOrDefault(a => a.code == "CTR"); } else if (tran.code == "C") { commtran = db.transaction_categories.SingleOrDefault(a => a.code == "CT"); } commission_transaction ctran = new commission_transaction { amount = master_transaction.amount, balance_after = getbal(balance.balance, master_transaction.amount, commtran), balance_before = balance.balance, description = master_transaction.details, details = master_transaction.details, posted_by = master_transaction.posted_by, shop = master_transaction.shop, trans_category = commtran.id, trans_timestamp = master_transaction.trans_timestamp, trans_type = commtran.type == true ? 1 : 0 }; balance.balance = getbal(balance.balance, master_transaction.amount, commtran).Value; using (TransactionScope scope = new TransactionScope()) { if (balance.app_id == null) { balance.app_id = getAppID().app_id; db.commission_balances.InsertOnSubmit(balance); } ctran.app_id = getAppID().app_id; db.commission_transactions.InsertOnSubmit(ctran); db.SubmitChanges(); scope.Complete(); } }
public transaction_category find_transaction_category_By_ID(int id) { try { transaction_category = db.transaction_categories.SingleOrDefault(a => a.id == id); return(transaction_category); } catch (Exception) { return(null); } }
public transaction_category find_transaction_category_By_AppId(string Appid) { try { transaction_category = db.transaction_categories.SingleOrDefault(a => a.app_id == Appid); return(transaction_category); } catch (Exception) { return(null); } }
public transaction_category find_transaction_category_By_code(string code) { try { transaction_category tran = db.transaction_categories.SingleOrDefault(a => a.code == code); return(tran); } catch (Exception) { return(null); } }
public transaction_category delete_transaction_category() { try { transaction_category prev_transaction_category = db.transaction_categories.SingleOrDefault(a => a.id == transaction_category.id); db.transaction_categories.DeleteOnSubmit(prev_transaction_category); return(transaction_category); } catch (Exception) { return(null); } }
public void SaveTransaction(bonushelper bhelp, transaction_category bonustransaction, admin_user user) { master_balance_sheet sendbal; transaction_category sendtran; try { using (TransactionScope scope = new TransactionScope()) { master_balance_sheet bal = db.master_balance_sheets.SingleOrDefault(a => a.shop == bhelp.shop.id); master_transaction transaction = new master_transaction { amount = bhelp.Bonus, app_id = Application().app_id, balance_after = getbal(bal.sales_balance, bhelp.Bonus, bonustransaction), balance_before = bal.sales_balance, description = bonustransaction.description + " " + "for " + fromdate.ToShortDateString() + " - " + todate.ToShortDateString(), details = bonustransaction.description + " " + "for " + fromdate.ToShortDateString() + " - " + todate.ToShortDateString(), posted_by = user.id, shop = bhelp.shop.id, trans_category = bonustransaction.id, trans_timestamp = DateTime.Now, trans_type = (bonustransaction.type == true) ? 0 : 1, }; db.master_transactions.InsertOnSubmit(transaction); master_balance_sheet prevbal = db.master_balance_sheets.SingleOrDefault(a => a.shop == bhelp.shop.id); prevbal.sales_balance = getbal(bal.sales_balance, bhelp.Bonus, bonustransaction); prevbal.netbalance = getbal(bal.netbalance, bhelp.Bonus, bonustransaction); sendbal = prevbal; sendtran = bonustransaction; db.SubmitChanges(); scope.Complete(); } SendSms(bhelp, sendbal, sendtran); } catch (Exception) { } }
public transaction_category alter_transaction_category() { try { transaction_category prev_transaction_category = db.transaction_categories.SingleOrDefault(a => a.id == transaction_category.id); prev_transaction_category.type = transaction_category.type; prev_transaction_category.code = transaction_category.code; prev_transaction_category.description = transaction_category.description; prev_transaction_category.name = transaction_category.name; db.SubmitChanges(); return(transaction_category); } catch (Exception) { return(null); } }
public bonusSaver(List <bonushelper> bonuses, transaction_category bonustransaction, DateTime fromdate, DateTime todate, admin_user user) { this.bonuses = bonuses; this.bonustransaction = bonustransaction; this.fromdate = fromdate; this.todate = todate; this.user = user; List <int> shopsIds = bonuses.Select(a => a.shop.id).ToList <int>(); this.shopDebtsToUpdate = db.debts.Where(a => shopsIds.Contains(a.shop)).ToList <debt>(); this.ShopBalancesToUpdate = db.master_balance_sheets.Where(a => shopsIds.Contains(a.shop.Value)).ToList <master_balance_sheet>(); this.transactionsToSave = new List <master_transaction>(); this.debtTransactionToSave = new List <debt_transaction>(); ComputeBonuses(); SaveTransactions(); SendSms(); transtate = true; }
private void AddDebtTransaction(shop shop, PaymentNotificationRequest pr, BettingSuiteDataContext db) { try { List <debt> debts = new CRUD.debt_crud().getShopdebts(shop, null); if (debts != null && debts.Count > 0) { decimal amount = lodgeDebt(debts, pr.Amount, shop.master_balance_sheets[0]); if (amount > 0) { transaction_category saleslodge = db.transaction_categories.SingleOrDefault(a => a.code == "L"); //amount = LodgeSales(shop, amount, shop.master_balance_sheets[0]); AddnewLodgementReimbursementTransaction(shop, saleslodge, pr, db, amount); } } } catch (Exception) { } }
private void SendSmsAndMail(shop shop, transaction_category tran, debt debt, debt_transaction dtran, debt_lodgement_reimbursment newmlr) { try { bool mailvalidity = new Utilities.Mail_Validity_Helper().getMailSendingStatus(); SMS_Vendor_Validity_Helper valhelp = new SMS_Vendor_Validity_Helper(); sms_vendor vendor = valhelp.getVendorsByName("50kobo"); bool smsvalidity = (DateTime.Today <= vendor.expiry_date) ? true : false; if (shop.agent != null) { sms message; if (tran.code == "DL") { if (smsvalidity) { sm mm = new CRUD.sms_crud().findByCode("DL"); message = new sms(); if (message.initializeDebtParameters(shop, debt, dtran, newmlr, mm.subject.Trim() + "\r\n" + mm.content.Trim() + "\r\n" + mm.conclusion.Trim())) { message.CustomizeAndSendSMS(); } } if (mailvalidity) { mail mail = new CRUD.mail_crud().findByCode("DL"); MailClient client = new MailClient(); client.SendDebtLodgement(shop, mail, debt, dtran); } } } } catch (Exception) { } }
public SalesSummaryProcessing(List <master_transaction> maintransactions, List <master_daily_sale> dialysales, List <master_lodgement_reimbursment> mlr) { this.lodgement = new CRUD.transaction_category_crud().find_transaction_category_By_code("L"); this.lodgementReversal = new CRUD.transaction_category_crud().find_transaction_category_By_code("LR"); this.reimbursement = new CRUD.transaction_category_crud().find_transaction_category_By_code("R"); this.reimbursementReversal = new CRUD.transaction_category_crud().find_transaction_category_By_code("RR"); List <shop> shops = getShopsIntransaction(maintransactions); SummarySheet = new List <SummarySheet>(); foreach (shop shop in shops) { try { List <master_transaction> transactions = maintransactions.Where(a => a.shop == shop.id).ToList <master_transaction>(); List <master_daily_sale> ssales = dialysales.Where(a => a.shop == shop.id).ToList <master_daily_sale>(); List <master_lodgement_reimbursment> smlr = mlr.Where(a => a.shop == shop.id).ToList <master_lodgement_reimbursment>(); string shopcode = shop.shop_code; decimal balbf = getbalbf(transactions, ssales); decimal sales = getSales(ssales); decimal winnings = getWinnings(ssales, transactions); decimal commission = getCommission(ssales); decimal reimbursement = getReimbursement(smlr); decimal expectedlodgent = sales - winnings - commission + reimbursement; decimal actuallodgement = getLodgement(smlr, transactions); decimal bal = (expectedlodgent - actuallodgement) + balbf; SummarySheet sheet = new SummarySheet(shopcode, balbf, sales, winnings, commission, reimbursement, expectedlodgent, actuallodgement, bal); SummarySheet.Add(sheet); } catch (Exception) { } } }
public master_daily_sale insert_master_daily_sale() { bool isupdate = false; shop shop = find_shop_By_Code(master_daily_sale.shop1.shop_code); if (shop != null) { try { WgbSalesUpload.master_daily_sale prev_master_daily_sale = db.master_daily_sales.SingleOrDefault(u => u.shop1.id == shop.id && u.date == master_daily_sale.date); master_balance_sheet existsheet; try { existsheet = sheets.SingleOrDefault(a => a.shop == shop.id); } catch (Exception) { existsheet = null; } using (TransactionScope scope = new TransactionScope()) { if (prev_master_daily_sale != null) { isupdate = true; master_daily_sale negatesale = new master_daily_sale(); negatesale.balance = Math.Abs((decimal)prev_master_daily_sale.balance); negatesale.cancelled = Math.Abs((decimal)prev_master_daily_sale.cancelled); negatesale.commision = Math.Abs((decimal)prev_master_daily_sale.commision); negatesale.date_posted = DateTime.Now; negatesale.islocked = prev_master_daily_sale.islocked; negatesale.isverified = prev_master_daily_sale.isverified; negatesale.net_balance = Math.Abs((decimal)prev_master_daily_sale.net_balance); negatesale.posted_by = prev_master_daily_sale.posted_by; negatesale.sales = Math.Abs((decimal)prev_master_daily_sale.sales); negatesale.stake = Math.Abs((decimal)prev_master_daily_sale.stake); negatesale.winnings = Math.Abs((decimal)prev_master_daily_sale.winnings); negatesale.shop = prev_master_daily_sale.shop; negatesale.date = prev_master_daily_sale.date; negatesale.single_stake_commision = Math.Abs((decimal)prev_master_daily_sale.single_stake_commision); negatesale.single_stake_sales = Math.Abs((decimal)prev_master_daily_sale.single_stake_sales); negatesale.single_stake_percent = Math.Abs((decimal)prev_master_daily_sale.single_stake_percent); negatesale.other_stake_commision = Math.Abs((decimal)prev_master_daily_sale.other_stake_commision); application app2 = new application { app_id = Guid.NewGuid().ToString() }; negatesale.app_id = app2.app_id; //db.master_daily_sales.InsertOnSubmit(negatesale); bsh = new balancesheethelper(existsheet, negatesale, trancategory); List <master_transaction> translist = bsh.getDailySalestransactionsReversal(); //lodge commission for aunty bola if (shop.shop_ownership == "WGB") { transaction_category trancatcomm = trancategory.SingleOrDefault(a => a.code == "CR"); LodgeCommission(translist.SingleOrDefault(a => a.trans_category == trancatcomm.id), trancatcomm); } db.master_transactions.InsertAllOnSubmit(translist); master_balance_sheet sheet = bsh.balancesheet; // master_balance_sheet existsheet = db.master_balance_sheets.SingleOrDefault(a => a.shop == prev_master_daily_sale.shop); if (existsheet == null) { db.master_balance_sheets.InsertOnSubmit(sheet); } else { existsheet.netbalance = sheet.netbalance; existsheet.sales_balance = sheet.sales_balance; existsheet.online_credit = sheet.online_credit; existsheet.credit_balance = sheet.credit_balance; new CRUD.master_balance_sheet_crud(existsheet).alter_master_balance_sheet(); } prev_master_daily_sale.balance = master_daily_sale.balance; prev_master_daily_sale.cancelled = master_daily_sale.cancelled; prev_master_daily_sale.commision = master_daily_sale.commision; prev_master_daily_sale.date = master_daily_sale.date; prev_master_daily_sale.date_posted = master_daily_sale.date_posted; prev_master_daily_sale.islocked = master_daily_sale.islocked; prev_master_daily_sale.isverified = master_daily_sale.isverified; prev_master_daily_sale.net_balance = master_daily_sale.net_balance; prev_master_daily_sale.posted_by = master_daily_sale.posted_by; prev_master_daily_sale.sales = master_daily_sale.sales; // prev_master_daily_sale.shop = master_daily_sale.shop; prev_master_daily_sale.stake = master_daily_sale.stake; prev_master_daily_sale.winnings = master_daily_sale.winnings; prev_master_daily_sale.single_stake_sales = master_daily_sale.single_stake_sales; prev_master_daily_sale.single_stake_commision = master_daily_sale.single_stake_commision; prev_master_daily_sale.single_stake_percent = master_daily_sale.single_stake_percent; prev_master_daily_sale.other_stake_commision = master_daily_sale.other_stake_commision; // master_balance_sheet sheet = bsh.balancesheet; // master_balance_sheet existsheet = db.master_balance_sheets.SingleOrDefault(a => a.shop == master_daily_sale.shop); bsh = new balancesheethelper(existsheet, prev_master_daily_sale, trancategory); List <master_transaction> translist2 = bsh.getDailySalestransactions(); //lodge commission for aunty bola if (shop.shop_ownership == "WGB") { transaction_category trancatcomm = trancategory.SingleOrDefault(a => a.code == "C"); LodgeCommission(translist2.SingleOrDefault(a => a.trans_category == trancatcomm.id), trancatcomm); } db.master_transactions.InsertAllOnSubmit(translist2); master_balance_sheet sheet2 = bsh.balancesheet; if (existsheet == null) { db.master_balance_sheets.InsertOnSubmit(sheet2); } else { existsheet.netbalance = sheet.netbalance; existsheet.sales_balance = sheet.sales_balance; existsheet.online_credit = sheet.online_credit; existsheet.credit_balance = sheet.credit_balance; new CRUD.master_balance_sheet_crud(existsheet).alter_master_balance_sheet(); } db.SubmitChanges(); } if (!isupdate) { application app = new application { app_id = Guid.NewGuid().ToString() }; // app = new application_crud(app).insert_application(); db.SubmitChanges(); master_daily_sale.app_id = app.app_id; master_daily_sale.shop1 = shop; master_daily_sale.date_posted = DateTime.Today; if (master_daily_sale.shop1 != null) { db.master_daily_sales.InsertOnSubmit(master_daily_sale); bsh = new balancesheethelper(existsheet, master_daily_sale, trancategory); List <master_transaction> translist = bsh.getDailySalestransactions(); //lodge commission for aunty bola if (shop.shop_ownership == "WGB") { transaction_category trancatcomm = trancategory.SingleOrDefault(a => a.code == "C"); LodgeCommission(translist.SingleOrDefault(a => a.trans_category == trancatcomm.id), trancatcomm); } db.master_transactions.InsertAllOnSubmit(translist); master_balance_sheet sheet = bsh.balancesheet; //master_balance_sheet existsheet = db.master_balance_sheets.SingleOrDefault(a => a.shop == master_daily_sale.shop); if (existsheet == null) { db.master_balance_sheets.InsertOnSubmit(sheet); } else { existsheet.netbalance = sheet.netbalance; existsheet.sales_balance = sheet.sales_balance; existsheet.online_credit = sheet.online_credit; existsheet.credit_balance = sheet.credit_balance; new CRUD.master_balance_sheet_crud(existsheet).alter_master_balance_sheet(); } } // db.master_balance_sheets.InsertOnSubmit(sheet); db.SubmitChanges(); } scope.Complete(); } return(master_daily_sale); } catch (Exception) { return(null); } } else { return(null); } }
public BalanceProcessing() { creditbalance = db.transaction_categories.SingleOrDefault(a => a.code == "CBF"); debitbalance = db.transaction_categories.SingleOrDefault(a => a.code == "DBF"); }
private void AddnewLodgementReimbursementTransaction(shop shop, transaction_category tran, PaymentNotificationRequest pnr, BettingSuiteDataContext db) { DateTime date = DateTime.Today; master_balance_sheet masterbalance = new CRUD.master_balance_sheet_crud().getMasterBalanceByShopId(shop.id); if (masterbalance == null) { masterbalance = new master_balance_sheet { shop = shop.id, credit_balance = 0, online_credit = 0, sales_balance = 0, netbalance = 0, }; masterbalance = new CRUD.master_balance_sheet_crud(masterbalance).insert_master_balance_sheet(); } master_transaction reversalmastertransaction = new master_transaction(); master_lodgement_reimbursment newmlr = new master_lodgement_reimbursment { amount = pnr.Amount, bank = 0,//interswitch id, date = date, shop = shop.id, teller_number = pnr.PaymentLogId.ToString(), islocked = true, isverified = true, payment_type = 5, transaction_category = tran.id, }; login lodin = db.logins.Single(a => a.username == "InterSwitch"); master_transaction newmastertransaction = new master_transaction { amount = Math.Abs(pnr.Amount), balance_before = (masterbalance != null) ? masterbalance.sales_balance : 0, balance_after = (masterbalance != null) ? getbal(masterbalance.sales_balance, pnr.Amount, tran) : pnr.Amount, shop = shop.id, trans_category = tran.id, trans_timestamp = DateTime.Now, trans_type = (tran.type == true) ? 1 : 0, posted_by = lodin.id,// interswitch id, description = pnr.PaymentReference + " Posted For " + date.ToShortDateString(), details = (tran.code == "L") ? "Lodgement For " + date.ToShortDateString() : "Lodgement Reversal For " + date.ToShortDateString() }; masterbalance.sales_balance = (masterbalance != null) ? getbal(masterbalance.sales_balance, newmastertransaction.amount, tran) : newmastertransaction.amount; masterbalance.netbalance = (masterbalance != null) ? getbal(masterbalance.netbalance, newmastertransaction.amount, tran) : newmastertransaction.amount; bool loadtran = new Utilities.TransactionHelper().SaveMasterLodgementTransaction(newmlr, newmastertransaction, masterbalance); if (loadtran) { try { bool mailvalidity = new Utilities.Mail_Validity_Helper().getMailSendingStatus(); SMS_Vendor_Validity_Helper valhelp = new SMS_Vendor_Validity_Helper(); sms_vendor vendor = valhelp.getVendorsByName("50kobo"); bool smsvalidity = (DateTime.Today <= vendor.expiry_date) ? true : false; if (newmlr.bank1.code != "CASH") { sms message; if (tran.code == "L") { if (smsvalidity) { sm mm = new CRUD.sms_crud().findByCode("CA"); message = new sms(); if (message.initializeParameters(shop, mm.subject.Trim() + "\r\n" + mm.content.Trim() + "\r\n" + mm.conclusion.Trim(), newmlr)) { message.CustomizeAndSendSMS(); } } if (mailvalidity) { mail mail = new CRUD.mail_crud().findByCode("LA"); MailClient client = new MailClient(); client.SendLodgementReimbursementMail(shop, mail, newmastertransaction); } } else if (tran.code == "R") { if (smsvalidity) { sm mm = new CRUD.sms_crud().findByCode("DA"); message = new sms(); if (message.initializeParameters(shop, mm.subject + "\r\n" + mm.content + "\r\n" + mm.conclusion, newmlr)) { message.CustomizeAndSendSMS(); } } if (mailvalidity) { mail mail = new CRUD.mail_crud().findByCode("RA"); MailClient client = new MailClient(); client.SendLodgementReimbursementMail(shop, mail, newmastertransaction); } } } } catch (Exception) { } } else { } }
private decimal lodgeDebt(List <debt> shopdebt, decimal amount, master_balance_sheet shopbal) { foreach (debt debt in shopdebt) { transaction_category debttran = db.transaction_categories.SingleOrDefault(a => a.code == "DL"); bank bank = new CRUD.bank_crud().find_bank_By_Code("INT"); payment_type ptype = new CRUD.payment_type_crud().find_payment_type_By_ID(1); login lodin = db.logins.Single(a => a.username == "InterSwitch"); if (amount > 0) { //debt less than or equal to bonus if (debt.current_amount <= amount && debt.status == true && debt.current_amount > 0) { decimal temp = debt.current_amount.Value; debt.current_amount = 0; debt.status = false; debt.installment_count += 1; debt_transaction dtran = new debt_transaction { amount = temp, app_id = Application().app_id, balance_after = getbal(temp, temp, debttran), balance_before = temp, description = debttran.description + " " + "for " + DateTime.Today, details = debttran.description + " " + "for " + DateTime.Today, posted_by = lodin.id, shop = debt.shop, trans_category = debttran.id, trans_timestamp = DateTime.Now, trans_type = (debttran.type == true) ? 0 : 1, debt = debt.id, }; db.debt_transactions.InsertOnSubmit(dtran); db.SubmitChanges(); debt_transaction debtIdtran = new CRUD.debt_transaction_crud().find_debt_transaction_By_AppId(dtran.app_id); debt_lodgement_reimbursment newmlr = new debt_lodgement_reimbursment { app_id = Application().app_id, amount = temp, bank = bank.id, date = DateTime.Today, shop = debt.shop, teller_number = "", islocked = true, isverified = true, payment_type = ptype.id, transaction = (debtIdtran != null) ? debtIdtran.id : 142, transaction_category = debttran.id, }; db.debt_lodgement_reimbursments.InsertOnSubmit(newmlr); amount -= temp; //debtTransactionToSave.Add(dtran); shopbal.credit_balance = getbal(shopbal.credit_balance, temp, debttran); shopbal.netbalance = getbal(shopbal.netbalance, temp, debttran); //SAVE DEBT .... BALANCES debt DebtToUpdate = db.debts.SingleOrDefault(a => a.id == debt.id); DebtToUpdate.current_amount = debt.current_amount; DebtToUpdate.status = debt.status; DebtToUpdate.installment_count = debt.installment_count; master_balance_sheet salesbalancesToUpdate = db.master_balance_sheets.SingleOrDefault(a => a.shop == shopbal.shop); salesbalancesToUpdate.credit_balance = shopbal.credit_balance; salesbalancesToUpdate.netbalance = shopbal.netbalance; db.SubmitChanges(); shop shop = new CRUD.shop_crud().find_shop_By_ID(debt.shop); SendSmsAndMail(shop, debttran, debt, dtran, newmlr); } else if (debt.current_amount > amount && debt.status == true && debt.current_amount > 0) { decimal temp = debt.current_amount.Value; debt.current_amount = getbal(debt.current_amount, amount, debttran); debt.installment_count += 1; debt_transaction dtran = new debt_transaction { amount = amount, app_id = Application().app_id, balance_after = getbal(temp, amount, debttran), balance_before = temp, description = debttran.description + " " + "for " + DateTime.Today, details = debttran.description + " " + "for " + DateTime.Today, posted_by = lodin.id, shop = debt.shop, trans_category = debttran.id, trans_timestamp = DateTime.Now, trans_type = (debttran.type == true) ? 0 : 1, debt = debt.id, }; db.debt_transactions.InsertOnSubmit(dtran); db.SubmitChanges(); //debtTransactionToSave.Add(dtran); debt_transaction debtIdtran = new CRUD.debt_transaction_crud().find_debt_transaction_By_AppId(dtran.app_id); debt_lodgement_reimbursment newmlr = new debt_lodgement_reimbursment { app_id = Application().app_id, amount = temp, bank = bank.id, date = DateTime.Today, shop = debt.shop, teller_number = "", islocked = true, isverified = true, payment_type = ptype.id, transaction = (debtIdtran != null) ? debtIdtran.id : 142, transaction_category = debttran.id, }; db.debt_lodgement_reimbursments.InsertOnSubmit(newmlr); shopbal.credit_balance = getbal(shopbal.credit_balance, amount, debttran); shopbal.netbalance = getbal(shopbal.netbalance, amount, debttran); //SAVE DEBT .... BALANCES debt DebtToUpdate = db.debts.SingleOrDefault(a => a.id == debt.id); DebtToUpdate.current_amount = debt.current_amount; DebtToUpdate.status = debt.status; DebtToUpdate.installment_count = debt.installment_count; master_balance_sheet salesbalancesToUpdate = db.master_balance_sheets.SingleOrDefault(a => a.shop == shopbal.shop); salesbalancesToUpdate.credit_balance = shopbal.credit_balance; salesbalancesToUpdate.netbalance = shopbal.netbalance; amount -= amount; db.SubmitChanges(); shop shop = new CRUD.shop_crud().find_shop_By_ID(debt.shop); SendSmsAndMail(shop, debttran, debt, dtran, newmlr); break; } } } return(amount); }
public transaction_category_crud(transaction_category transaction_category_) { this.transaction_category_ = transaction_category_; }