public debt_transaction alter_debt_transaction() { try { debt_transaction prev_debt_transaction = db.debt_transactions.SingleOrDefault(a => a.id == debt_transaction.id); prev_debt_transaction.amount = debt_transaction.amount; prev_debt_transaction.balance_before = debt_transaction.balance_before; prev_debt_transaction.balance_after = debt_transaction.balance_after; prev_debt_transaction.posted_by = debt_transaction.posted_by; prev_debt_transaction.shop = debt_transaction.shop; prev_debt_transaction.trans_category = debt_transaction.trans_category; prev_debt_transaction.trans_timestamp = debt_transaction.trans_timestamp; prev_debt_transaction.trans_type = debt_transaction.trans_type; db.SubmitChanges(); return(debt_transaction); } catch (Exception) { return(null); } }
public StatementHelper(debt_transaction trans) { Date_ = trans.trans_timestamp.ToShortDateString(); Debit_ = (trans.trans_type == 1) ? trans.amount.ToString() : string.Empty; Credit_ = (trans.trans_type == 0) ? trans.amount.ToString() : string.Empty; Balance_ = trans.balance_after.ToString(); Details_ = (trans.details != string.Empty || trans.details != null) ? trans.details : trans.transaction_category.description; debt_trans_ = trans; }
public debt_transaction find_debt_transaction_By_AppId(string Appid) { try { debt_transaction = db.debt_transactions.SingleOrDefault(a => a.app_id == Appid); return(debt_transaction); } catch (Exception) { return(null); } }
public debt_transaction find_debt_transaction_By_ID(int id) { try { debt_transaction = db.debt_transactions.SingleOrDefault(a => a.id == id); return(debt_transaction); } catch (Exception) { return(null); } }
public debt_transaction delete_debt_transaction() { try { debt_transaction prev_debt_transaction = db.debt_transactions.SingleOrDefault(a => a.id == debt_transaction.id); db.debt_transactions.DeleteOnSubmit(prev_debt_transaction); return(debt_transaction); } catch (Exception) { return(null); } }
public bool SaveCutOffTransaction(debt_transaction newdebttransaction, debt debt, master_transaction newmastertransaction, master_balance_sheet masterbalance) { try { using (TransactionScope scope = new TransactionScope()) { newmastertransaction.app_id = Application().app_id; debt.app_id = Application().app_id; newdebttransaction.app_id = Application().app_id; db.master_transactions.InsertOnSubmit(newmastertransaction); master_balance_sheet prev_master_balance_sheet = db.master_balance_sheets.SingleOrDefault(a => a.id == masterbalance.id); prev_master_balance_sheet.credit_balance = masterbalance.credit_balance; prev_master_balance_sheet.netbalance = masterbalance.netbalance; prev_master_balance_sheet.online_credit = masterbalance.online_credit; prev_master_balance_sheet.sales_balance = masterbalance.sales_balance; db.debts.InsertOnSubmit(debt); db.SubmitChanges(); newdebttransaction.debt = new CRUD.debt_crud().find_debt_By_AppId(debt.app_id).id; db.debt_transactions.InsertOnSubmit(newdebttransaction); db.SubmitChanges(); scope.Complete(); } return(true); } catch (Exception) { return(false); } }
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 debt_transaction_crud(debt_transaction debt_transaction_) { this.debt_transaction_ = debt_transaction_; }
private decimal lodgeDebt(List <debt> shopdebt, decimal bonus, master_balance_sheet shopbal) { foreach (debt debt in shopdebt) { if (bonus > 0) { //debt less than or equal to bonus if (debt.current_amount <= bonus && debt.status == true && debt.current_amount > 0) { decimal temp = debt.current_amount.Value; debt.current_amount = 0; debt.status = false; debt_transaction dtran = new debt_transaction { amount = temp, app_id = Application().app_id, balance_after = getbal(temp, temp, bonustransaction), balance_before = temp, description = bonustransaction.description + " " + "for " + fromdate.ToShortDateString() + " - " + todate.ToShortDateString(), details = bonustransaction.description + " " + "for " + fromdate.ToShortDateString() + " - " + todate.ToShortDateString(), posted_by = user.id, shop = debt.shop, trans_category = bonustransaction.id, trans_timestamp = DateTime.Now, trans_type = (bonustransaction.type == true) ? 0 : 1, debt = debt.id, }; bonus -= temp; debtTransactionToSave.Add(dtran); shopbal.credit_balance = getbal(shopbal.credit_balance, temp, bonustransaction); shopbal.netbalance = getbal(shopbal.netbalance, temp, bonustransaction); } else if (debt.current_amount > bonus && debt.status == true && debt.current_amount > 0) { decimal temp = debt.current_amount.Value; debt.current_amount -= bonus; debt_transaction dtran = new debt_transaction { amount = bonus, app_id = Application().app_id, balance_after = getbal(temp, bonus, bonustransaction), balance_before = temp, description = bonustransaction.description + " " + "for " + fromdate.ToShortDateString() + " - " + todate.ToShortDateString(), details = bonustransaction.description + " " + "for " + fromdate.ToShortDateString() + " - " + todate.ToShortDateString(), posted_by = user.id, shop = debt.shop, trans_category = bonustransaction.id, trans_timestamp = DateTime.Now, trans_type = (bonustransaction.type == true) ? 0 : 1, debt = debt.id, }; debtTransactionToSave.Add(dtran); shopbal.credit_balance = getbal(shopbal.credit_balance, bonus, bonustransaction); shopbal.netbalance = getbal(shopbal.netbalance, bonus, bonustransaction); bonus -= bonus; } } } return(bonus); }
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); }