public static void UpdateCommissions(Membership membership) { var levels = AppSettings.Referrals.ReferralEarningsUpToTier; for (int i = 1; i <= levels; i++) { var commission = TableHelper.GetListFromRawQuery <Commission>( string.Format("SELECT * FROM Commissions WHERE MembershipId = {0} AND RefLevel = {1}" , membership.Id, i)).FirstOrDefault(); if (commission == null) { commission = new Commission() { RefLevel = i, MembershipId = membership.Id, MembershipPurchasePercent = 0, BannerPurchasePercent = 0, AdPackPurchasePercent = 0, PointsForAdPackPurchasePercent = 0, OfferwallPercent = 0, CPAOfferPercent = 0, TrafficGridPurchasePercent = 0, VideoViewPercent = 0, CashBalanceDepositPercent = 0, InvestmentPlanPurchasePercent = 0, AccountActivationFeePercent = 0, JackpotPvpStageBuyFeePercent = 0 }; commission.Save(); } } }
/// <summary> /// Only for update 5009 /// </summary> public static void UpdateCommissionSystem() { var memberships = Membership.GetAll(); var levels = AppSettings.Referrals.ReferralEarningsUpToTier; foreach (var m in memberships) { for (int i = 1; i <= levels; i++) { decimal tierEarnings = 1; if (i != 1) { var intEarnings = (int)TableHelper.SelectScalar(string.Format("SELECT ReferralEarningsFromTier{0} FROM ApplicationSettings", i)); tierEarnings = ((int)TableHelper.SelectScalar(string.Format("SELECT ReferralEarningsFromTier{0} FROM ApplicationSettings", i))) / 100m; } var commission = TableHelper.GetListFromRawQuery <Commission>( string.Format("SELECT * FROM Commissions WHERE MembershipId = {0} AND RefLevel = {1}" , m.Id, i)).FirstOrDefault(); if (commission == null) { commission = new Commission() { RefLevel = i, MembershipId = m.Id, MembershipPurchasePercent = m.DirectReferralMembershipPurchaseEarnings * tierEarnings, BannerPurchasePercent = m.DirectReferralBannerPurchaseEarnings * tierEarnings, AdPackPurchasePercent = m.DirectReferralAdPackPurchaseEarnings * tierEarnings, OfferwallPercent = m.RefPercentEarningsOfferwalls * tierEarnings, CPAOfferPercent = m.RefPercentEarningsCPA * tierEarnings, TrafficGridPurchasePercent = m.DirectReferralTrafficGridPurchaseEarnings * tierEarnings, PointsForAdPackPurchasePercent = 0, AccountActivationFeePercent = 0, JackpotPvpStageBuyFeePercent = 0 }; commission.Save(); } } } }
public ActionResult GetAllCommission(int OrgId) { // Sale table objects// Sale SObj = new Sale(); Sale S1Obj = new Sale(); //======================// // Commission table objects// Commission CObj = new Commission(); Commission CMObj = new Commission(); //================================== int LastEntry = 0; int LastSaleEntry = 0; double totalAmount = 0.00; double TotalSale = 0.00; double TotalTaxOnCommission = 0.00; List <BalanceStatement> GetRecords = new List <BalanceStatement>(); BalanceStatement FindLastEntryNo = new BalanceStatement(); try { FindLastEntryNo = BalanceStatement.GetAllForBalanceCalculation(OrgId) .Where(w => w.EntryNo > 0 && w.Narration.Contains("Commission Invoice No.")).Last(); } catch (Exception ex) { ex.ToString(); } if (FindLastEntryNo.EntryNo == 0) { GetRecords = BalanceStatement.GetAllForBalanceCalculation(OrgId); } else { GetRecords = BalanceStatement.GetAllForBalanceCalculation(OrgId).Where(w => w.BID > FindLastEntryNo.BID).ToList(); } if (GetRecords != null) { BalanceStatement LastRecords = BalanceStatement.GetAllForBalanceCalculation(OrgId).Last(); Ledger LedgerDetails = Ledger.GetAllList().Where(x => x.DebtorType == 1 && x.OrgId == OrgId).FirstOrDefault(); foreach (var data in GetRecords) { if (data.Narration != "Opening Balance") { CObj.CommissionAmount = data.CRAmount; SObj.SaleAmount = data.Amount; if (data.TaxOnCash > 0) { CObj.TaxOnCommission = (data.CRAmount * data.TaxOnCash) / 100; } if (data.TaxOnOnline > 0) { CObj.TaxOnCommission = (data.CRAmount * data.TaxOnOnline) / 100; } // CObj.BalanceStatementId = data.BID; CObj.OrgId = data.OrgId; SObj.OrgId = data.OrgId; //Save to commision table CObj.Save(); //======================// // Save to Sale Table SObj.Save(); //====================// } } //if (GetRecords.Count != 1) // used for eliminating Opening Balance entry when there is no data for next entry // { int GetLastCalculationRecord = Commission.GetAllCommissions().Where(w => w.OrgId == OrgId).Select(s => s.BalanceStatementId).Max(); int CommissionId = Commission.GetAllCommissions() .Where(w => w.BalanceStatementId == GetLastCalculationRecord && w.OrgId == OrgId).Select(s => s.CommisionId).FirstOrDefault(); if (GetLastCalculationRecord == 0) { TotalTaxOnCommission = Commission.GetAllCommissions() .Where(w => w.CommisionId >= CommissionId && w.OrgId == OrgId).Select(s => s.TaxOnCommission).Sum(); totalAmount = Commission.GetAllCommissions() .Where(w => w.CommisionId >= CommissionId && w.OrgId == OrgId).Select(s => s.CommissionAmount).Sum(); } else { TotalTaxOnCommission = Commission.GetAllCommissions() .Where(w => w.CommisionId > CommissionId && w.OrgId == OrgId).Select(s => s.TaxOnCommission).Sum(); totalAmount = Commission.GetAllCommissions() .Where(w => w.CommisionId > CommissionId && w.OrgId == OrgId).Select(s => s.CommissionAmount).Sum(); } int GetMaxBID = Sale.GetAllSales().Where(w => w.OrgId == OrgId).Select(s => s.BalanceStatementId).Max(); int SaleId = Sale.GetAllSales() .Where(w => w.BalanceStatementId == GetMaxBID && w.OrgId == OrgId).Select(s => s.SaleId).FirstOrDefault(); if (GetMaxBID == 0) { TotalSale = Sale.GetAllSales().Where(w => w.SaleId >= SaleId && w.OrgId == OrgId).Select(s => s.SaleAmount).Sum(); } else { TotalSale = Sale.GetAllSales().Where(w => w.SaleId > SaleId && w.OrgId == OrgId).Select(s => s.SaleAmount).Sum(); } try { LastEntry = Commission.GetAllCommissions() .Where(w => w.EntryNo > 0 && w.OrgId == OrgId).Select(s => s.EntryNo).Max(); LastSaleEntry = Sale.GetAllSales() .Where(w => w.EntryNo > 0 && w.OrgId == OrgId).Select(s => s.EntryNo).Max(); } catch (Exception ex) { ex.ToString(); } CMObj.EntryNo = LastEntry + 1; CMObj.CommissionAmount = totalAmount; CMObj.TaxOnCommission = TotalTaxOnCommission; CMObj.BalanceStatementId = LastRecords.BID; CMObj.OrgId = LastRecords.OrgId; CMObj.Save(); S1Obj.EntryNo = LastSaleEntry + 1; S1Obj.SaleAmount = TotalSale; S1Obj.BalanceStatementId = LastRecords.BID; S1Obj.OrgId = LastRecords.OrgId; S1Obj.Save(); mergeAndSendToAcoount(LastRecords.OrgId); EntryToAccount(LastRecords.OrgId); // } } return(Json(new { data = CObj }, JsonRequestBehavior.AllowGet)); }
public static void saveRatio(Commission c) { c.Save(); }