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) { } }
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) { } }
private void computeSales() { List <shop> shops = new List <shop>(); if (ownership != null) { shops = db.shops.Where(a => a.shop_ownership == ownership).ToList <shop>(); } if (state != -1) { shops = db.shops.Where(a => a.state == state).ToList <shop>(); } List <int> shopint = shops.Select(a => a.id).ToList <int>(); List <master_daily_sale> sales = db.master_daily_sales.Where(a => shopint.Contains(a.shop.Value) && a.date >= fromdate && a.date <= todate).ToList <master_daily_sale>(); foreach (shop shop in shops) { decimal winnings = sales.Where(a => a.shop1 == shop).Sum(a => a.winnings).Value; decimal shopsales = sales.Where(a => a.shop1 == shop).Sum(a => a.sales).Value; decimal shopcomm = sales.Where(a => a.shop1 == shop).Sum(a => a.commision).Value; decimal netprofit = 0; decimal bonus = 0; if (bonustype == 1) { netprofit = shopsales - winnings - shopcomm; bonus = (netprofit > 0) ? netprofit * (bonuspercentage / 100) : 0; } else if (bonustype == 2) { netprofit = shopsales - shopcomm; bonus = (netprofit > 0) ? netprofit * (bonuspercentage / 100) : 0; } bonus = Math.Round(bonus, 2); bonushelper bhelper = new bonushelper(shop, shop.shop_code, shopsales, winnings, shopcomm, netprofit, bonus); bonushelper.Add(bhelper); } }