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);
            }
        }
Esempio n. 2
0
 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);
            }
        }
Esempio n. 7
0
        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_;
 }
Esempio n. 9
0
        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);
        }
Esempio n. 10
0
        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);
        }