Ejemplo n.º 1
0
        public ActionResult Delete(_PreCommission model)
        {
            int month = model.StartDate.Month;

            CH.Delete <PreCommission>(model.ID);
            var list = Finance_Logical._PreCommissionBLL.GetPreCommission(model.StartDate.Year, month);
            var data = list.OrderBy(p => p.TargetNameEN).ToList();

            return(View(new GridModel(data)));
        }
Ejemplo n.º 2
0
            public static _PreCommission GetIncome(int month, string sale, int projectid)
            {
                var year  = DateTime.Now.Year;
                var deals = from d in CH.DB.Deals.Where(o => o.ProjectID == projectid && o.Abandoned == false && o.Income > 0 &&
                                                        o.ActualPaymentDate.Value.Month == month && o.ActualPaymentDate.Value.Year == year && o.Sales == sale)
                            select d;
                var username    = sale;
                var emps        = CH.DB.EmployeeRoles.Where(w => w.AccountName == username);
                var displayname = emps.Select(s => s.AccountNameCN).FirstOrDefault();
                var roleid      = emps.Select(s => s.RoleID).FirstOrDefault();
                var projects    = from p in deals
                                  group p by new { p.Project.ProjectCode } into grp
                    select new { projectcode = grp.Key.ProjectCode };
                var proname = "";

                foreach (var name in projects)
                {
                    proname = proname + name.projectcode + ",";
                }
                proname = proname.TrimEnd(',');
                string inout = "海外";

                if (roleid != null)
                {
                    var name = CH.GetDataById <Role>(roleid).Name;
                    if (name.Contains("国内"))
                    {
                        inout = "国内";
                    }
                }
                decimal standard = 3000;
                var     lps      = new _PreCommission()
                {
                    RoleLevel = 1,
                    ID        = 0,
                    //ProjectNames = proname,
                    Income             = deals.Sum(s => (decimal?)s.Income),
                    TargetNameEN       = sale,
                    TargetNameCN       = displayname,
                    InOut              = inout,
                    DelegateLessIncome = inout == "海外" ? 0 :deals.Where(w => w.Poll > 0 && w.Income / w.Poll < standard).Sum(s => (decimal?)s.Income),
                    DelegateMoreCount  = inout == "海外" ? 0 : deals.Where(w => w.Poll > 0 && w.Income / w.Poll > standard).Sum(s => (int?)s.Poll),
                    DelegateMoreIncome = inout == "海外" ? 0 : deals.Where(w => w.Poll > 0 && w.Income / w.Poll >= standard).Sum(s => (decimal?)s.Income),
                    SponsorIncome      = deals.Where(w => w.Poll == 0).Sum(s => (decimal?)s.Income),
                    DelegateIncome     = deals.Where(w => w.Poll > 0).Sum(s => (decimal?)s.Income)
                };

                return(lps);
            }
Ejemplo n.º 3
0
        public ActionResult Save(_PreCommission model)
        {
            PreCommission newmodel = new PreCommission();

            newmodel = CH.GetDataById <PreCommission>(model.ID);
            //newmodel.StartDate = model.StartDate;
            //newmodel.EndDate = model.EndDate;
            newmodel.TargetNameEN       = model.TargetNameEN;
            newmodel.TargetNameCN       = model.TargetNameCN;
            newmodel.ProjectID          = model.ProjectID;
            newmodel.InOut              = model.InOut;
            newmodel.DelegateLessIncome = model.DelegateLessIncome;
            newmodel.DelegateMoreCount  = model.DelegateMoreCount;
            newmodel.DelegateMoreIncome = model.DelegateMoreIncome;
            newmodel.SponsorIncome      = model.SponsorIncome;
            newmodel.Income             = model.Income;
            newmodel.CommissionRate     = model.CommissionRate;
            newmodel.Commission         = model.Commission;
            newmodel.Tax              = model.Tax;
            newmodel.Bonus            = model.Bonus;
            newmodel.ReturnIncome     = model.ReturnIncome;
            newmodel.ReturnReason     = model.ReturnReason;
            newmodel.ActualCommission = model.ActualCommission;

            newmodel.DelegateLessRate       = model.DelegateLessRate;
            newmodel.DelegateLessCommission = model.DelegateLessCommission;
            newmodel.DelegateMoreRate       = model.DelegateMoreRate;
            newmodel.DelegateMoreCommission = model.DelegateMoreCommission;
            newmodel.SponsorRate            = model.SponsorRate;
            newmodel.SponsorCommission      = model.SponsorCommission;
            newmodel.TotalCommission        = model.TotalCommission;

            newmodel.DelegateIncome     = model.DelegateIncome;
            newmodel.DelegateRate       = model.DelegateRate;
            newmodel.DelegateCommission = model.DelegateCommission;

            CH.Edit <PreCommission>(newmodel);
            var list = Finance_Logical._PreCommissionBLL.GetPreCommission(model.StartDate.Year, model.StartDate.Month);
            var data = list.OrderBy(p => p.TargetNameEN).ToList();

            return(View(new GridModel(data)));
        }
Ejemplo n.º 4
0
        public ActionResult Insert(_PreCommission model)
        {
            PreCommission newmodel = new PreCommission();

            newmodel.StartDate          = model.StartDate;
            newmodel.EndDate            = model.StartDate.AddMonths(1).AddDays(-1);
            newmodel.TargetNameEN       = model.TargetNameEN;
            newmodel.TargetNameCN       = model.TargetNameCN;
            newmodel.ProjectID          = model.ProjectID;
            newmodel.InOut              = model.InOut;
            newmodel.DelegateLessIncome = model.DelegateLessIncome;
            newmodel.DelegateMoreCount  = model.DelegateMoreCount;
            newmodel.DelegateMoreIncome = model.DelegateMoreIncome;
            newmodel.SponsorIncome      = model.SponsorIncome;
            newmodel.Income             = model.Income;
            newmodel.CommissionRate     = model.CommissionRate;
            newmodel.Commission         = model.Commission;
            newmodel.Tax              = model.Tax;
            newmodel.Bonus            = model.Bonus;
            newmodel.ReturnIncome     = model.ReturnIncome;
            newmodel.ReturnReason     = model.ReturnReason;
            newmodel.ActualCommission = model.ActualCommission;

            newmodel.DelegateLessRate       = model.DelegateLessRate;
            newmodel.DelegateLessCommission = model.DelegateLessCommission;
            newmodel.DelegateMoreRate       = model.DelegateMoreRate;
            newmodel.DelegateMoreCommission = model.DelegateMoreCommission;
            newmodel.SponsorRate            = model.SponsorRate;
            newmodel.SponsorCommission      = model.SponsorCommission;
            newmodel.TotalCommission        = model.TotalCommission;

            newmodel.DelegateIncome     = model.DelegateIncome;
            newmodel.DelegateRate       = model.DelegateRate;
            newmodel.DelegateCommission = model.DelegateCommission;

            newmodel.CommID = model.TargetNameEN + model.StartDate.Year.ToString() + model.StartDate.Month.ToString().PadLeft(2, '0');
            CH.Create <PreCommission>(newmodel);
            var list = Finance_Logical._PreCommissionBLL.GetPreCommission(model.StartDate.Year, model.StartDate.Month);
            var data = list.OrderBy(p => p.TargetNameEN).ToList();

            return(View(new GridModel(data)));
        }