Example #1
0
    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();
            }
        }
    }
Example #2
0
    /// <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));
        }
Example #4
0
 public static void saveRatio(Commission c)
 {
     c.Save();
 }