Esempio n. 1
0
        public void GetYearBonusTest(
            Department department,
            Position position,
            decimal salary,
            decimal expected
            )
        {
            // Arrange
            var unitUnderTest = this.CreateYearBonusAPI();

            _employee.GetEmployeeInfo(5).ReturnsForAnyArgs(
                new EmployeeInfo
            {
                Id         = 5,
                Name       = "Miles",
                Department = department,
                Position   = position
            });
            _account.GetSalary(5).ReturnsForAnyArgs(salary);

            // Act
            BonusVM result = unitUnderTest.GetYearsBonus(id: 5);

            // Assert
            Assert.Equal(5, result.Id);
            Assert.Equal("Miles", result.Name);
            Assert.Equal(expected, result.YearBonus);
        }
Esempio n. 2
0
        public async Task <IActionResult> Create(string id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var workers = await _userManager.FindByIdAsync(id);

            BonusVM bonus = new BonusVM
            {
                WorkerAccount = workers.Account,
                WorkerID      = workers.Id
            };

            return(View(bonus));
        }
Esempio n. 3
0
        public async Task <IActionResult> Create(string id, BonusVM bonusvm)
        {
            var workers = await _userManager.FindByIdAsync(id);

            if (!ModelState.IsValid)
            {
                bonusvm.WorkerID      = workers.Id;
                bonusvm.WorkerAccount = workers.Account;
                return(View(bonusvm));
            }

            WorkerBonus bonus = new WorkerBonus
            {
                WorkerId    = workers.Id,
                BonusSalary = bonusvm.BonusSalary,
                BonusDate   = DateTime.Now,
                Reason      = bonusvm.Reason
            };

            _context.WorkerBonus.Add(bonus);

            _context.SaveChanges();
            return(RedirectToAction(nameof(List)));
        }
Esempio n. 4
0
        public async Task <MyProfileReportVM> GetMyProfileReport(int siteUserId)
        {
            MyProfileReportVM result = new MyProfileReportVM();
            var myPyramid            = await db.Pyramids.FirstOrDefaultAsync(b => b.SiteUserId == siteUserId);

            if (myPyramid == null)
            {
                return(result);
            }
            var MyLeader = await db.Pyramids.FirstOrDefaultAsync(b => b.PyramidId == myPyramid.PyramidParentId);

            if (MyLeader != null)
            {
                var myBP = await db.BPs.FirstOrDefaultAsync(x => x.SiteUserId == MyLeader.SiteUserId);

                //MyLeader.SiteUser.BPs.FirstOrDefault();
                result.LeaderEmail = myBP.EMail;
                result.LeaderName  = myBP.BPName;
            }
            List <SaleVM> lSales = new List <SaleVM>();

            foreach (var s in db.v3MonthSalesPerUser.Where(v => v.SiteUserId == siteUserId).OrderBy(v => v.OnDate))
            {
                SaleVM sale = new SaleVM()
                {
                    CustomerName = s.CustomerName,
                    OnDate       = s.OnDate,
                    Total        = s.Total.Value
                };
                lSales.Add(sale);
            }
            result.Sales = lSales;
            List <BonusVM> lFirstLevel = new List <BonusVM>();

            foreach (var fl in db.v3MonthsBonuses.Where(v => v.ParentSiteId == siteUserId))
            {
                var b = new BonusVM()
                {
                    BPName = fl.BPName,
                    Bonus  = fl.Bonus.Value,
                    Month  = fl.Month,
                    Year   = fl.Year
                };
                lFirstLevel.Add(b);
            }
            result.FirstLevel = lFirstLevel;

            List <BonusVM> lAllBonuses  = new List <BonusVM>();
            List <BonusVM> lYearBonuses = new List <BonusVM>();

            foreach (var fl in db.vBonuses.Where(v => v.SiteUserId == siteUserId).OrderBy(v => v.Year).OrderBy(v => v.Month))
            {
                var b = new BonusVM()
                {
                    BPName = fl.BPName,
                    Bonus  = fl.Bonus.Value,
                    Month  = fl.Month,
                    Year   = fl.Year
                };
                lAllBonuses.Add(b);
                if (fl.Year == DateTime.Now.Year)
                {
                    lYearBonuses.Add(b);
                }
            }
            result.Bonuses        = lAllBonuses;
            result.BonusesPerYear = lYearBonuses;

            return(result);
        }