public ActionResult AddEmployeeToYearlyFigure(int?employeeId, int?businessYear) { GetEmployeeList(); GetYearList(); var model = new AddEmployeeYearlyFigureViewModel(); if (employeeId.HasValue) { var employeedetails = db.Employees.Where(m => m.Id == employeeId).FirstOrDefault(); model.EmployeeDepartment = employeedetails.Department; model.EmployeeId = employeeId; model.EmployeeJoinDate = employeedetails.DateJoined; model.CurrentSalary = employeedetails.CurrentSalary; model.EmployeeName = employeedetails.Name; if ((businessYear - employeedetails.DateJoined.Value.Year) >= 1) { model.EligibleForLoyaltyBonus = true; } if (model.EmployeeDepartment == EmployeeDepartments.HR) { model.EligibleForReferalBonus = true; } if (model.EmployeeDepartment == EmployeeDepartments.Sales) { model.EligibleForSalesCommisionBonus = true; } } return(View(model)); }
public IHttpActionResult QuickAddNewEntry(AddEmployeeYearlyFigureViewModel model, int?businessYear) { var employeedetails = db.Employees.Where(m => m.Id == model.EmployeeId).FirstOrDefault(); model.EmployeeDepartment = employeedetails.Department; model.EmployeeJoinDate = employeedetails.DateJoined; model.CurrentSalary = employeedetails.CurrentSalary; model.EmployeeName = employeedetails.Name; if ((businessYear - employeedetails.DateJoined.Value.Year) >= 1) { model.EligibleForLoyaltyBonus = true; } if (model.EmployeeDepartment == EmployeeDepartments.HR) { model.EligibleForReferalBonus = true; } if (model.EmployeeDepartment == EmployeeDepartments.Sales) { model.EligibleForSalesCommisionBonus = true; } var findDuplicateYearDetails = db.YearlyExpenditure.Where(m => m.EmployeeId == model.EmployeeId && m.BusinessYear == model.BusinessYear).FirstOrDefault(); if (findDuplicateYearDetails != null) { ModelState.AddModelError("EmployeeId", "Yearly figure already exists for the current user in the selected business year"); } if (model.CurrentSalaryEndDate.Value.Year > model.BusinessYear) { model.CurrentSalaryEndDate = new System.DateTime(model.BusinessYear, 12, 31); } var currentSalary = 0; var employeeSalaryRate = 0; if (System.DateTime.IsLeapYear(model.BusinessYear)) { employeeSalaryRate = model.CurrentSalary / 366; } else { employeeSalaryRate = model.CurrentSalary / 365; } var amountOfDaysWorkedWithCurrentContract = model.CurrentSalaryEndDate.Value.Date - model.CurrentSalaryStartDate.Value.Date; currentSalary = (int)amountOfDaysWorkedWithCurrentContract.TotalDays * employeeSalaryRate; var loyaltyBonus = 0; var salesCommissionBonus = 0; var holidayBonus = 0; var missionBonus = 0; var referenceBonus = 0; var otherBonus = 0; if (model.LoyaltyBonus.HasValue) { loyaltyBonus = model.LoyaltyBonus.Value; } if (model.HolidayBonus.HasValue) { holidayBonus = model.HolidayBonus.Value * 60; } if (model.SalesCommissionBonus.HasValue) { salesCommissionBonus = model.SalesCommissionBonus.Value * 50; } if (model.MissionBonus.HasValue) { missionBonus = model.MissionBonus.Value; } if (model.ReferalBonus.HasValue) { referenceBonus = model.ReferalBonus.Value * 100; } if (model.OtherBonus.HasValue) { otherBonus = model.OtherBonus.Value; } model.YearTotal = loyaltyBonus + holidayBonus + salesCommissionBonus + missionBonus + referenceBonus + otherBonus + currentSalary; var YearExpModel = new YearlyWageExpenditureModel(); YearExpModel.BusinessYear = model.BusinessYear; YearExpModel.EmployeeId = model.EmployeeId.Value; YearExpModel.EmployeeName = model.EmployeeName; YearExpModel.HolidayBonus = holidayBonus; YearExpModel.LoyaltyBonus = loyaltyBonus; YearExpModel.MissionBonus = missionBonus; YearExpModel.OtherBonus = otherBonus; YearExpModel.ReferalBonus = referenceBonus; YearExpModel.SalesCommissionBonus = salesCommissionBonus; YearExpModel.YearTotal = model.YearTotal.Value; db.YearlyExpenditure.Add(YearExpModel); db.SaveChanges(); return(Ok("New Entry has been added")); }
public ActionResult AddEmployeeToYearlyFigure(AddEmployeeYearlyFigureViewModel model) { GetEmployeeList(); GetYearList(); var findDuplicateYearDetails = db.YearlyExpenditure.Where(m => m.EmployeeId == model.EmployeeId && m.BusinessYear == model.BusinessYear).FirstOrDefault(); if (findDuplicateYearDetails != null) { ModelState.AddModelError("EmployeeId", "Yearly figure already exists for the current user in the selected business year"); } if (model.CurrentSalaryEndDate.Value.Year > model.BusinessYear) { model.CurrentSalaryEndDate = new System.DateTime(model.BusinessYear, 12, 31); } if (!ModelState.IsValid) { return(View(model)); } var currentSalary = 0; var employeeSalaryRate = 0; if (System.DateTime.IsLeapYear(model.BusinessYear)) { employeeSalaryRate = model.CurrentSalary / 366; } else { employeeSalaryRate = model.CurrentSalary / 365; } var amountOfDaysWorkedWithCurrentContract = model.CurrentSalaryEndDate.Value.Date - model.CurrentSalaryStartDate.Value.Date; currentSalary = (int)amountOfDaysWorkedWithCurrentContract.TotalDays * employeeSalaryRate; var loyaltyBonus = 0; var salesCommissionBonus = 0; var holidayBonus = 0; var missionBonus = 0; var referenceBonus = 0; var otherBonus = 0; if (model.LoyaltyBonus.HasValue) { loyaltyBonus = model.LoyaltyBonus.Value; } if (model.HolidayBonus.HasValue) { holidayBonus = model.HolidayBonus.Value * 60; } if (model.SalesCommissionBonus.HasValue) { salesCommissionBonus = model.SalesCommissionBonus.Value * 50; } if (model.MissionBonus.HasValue) { missionBonus = model.MissionBonus.Value; } if (model.ReferalBonus.HasValue) { referenceBonus = model.ReferalBonus.Value * 100; } if (model.OtherBonus.HasValue) { otherBonus = model.OtherBonus.Value; } model.YearTotal = loyaltyBonus + holidayBonus + salesCommissionBonus + missionBonus + referenceBonus + otherBonus + currentSalary; var YearExpModel = new YearlyWageExpenditureModel(); YearExpModel.BusinessYear = model.BusinessYear; YearExpModel.EmployeeId = model.EmployeeId.Value; YearExpModel.EmployeeName = model.EmployeeName; YearExpModel.HolidayBonus = holidayBonus; YearExpModel.LoyaltyBonus = loyaltyBonus; YearExpModel.MissionBonus = missionBonus; YearExpModel.OtherBonus = otherBonus; YearExpModel.ReferalBonus = referenceBonus; YearExpModel.SalesCommissionBonus = salesCommissionBonus; YearExpModel.YearTotal = model.YearTotal.Value; db.YearlyExpenditure.Add(YearExpModel); db.SaveChanges(); return(RedirectToAction("EntryAddedSuccessfully", new { name = model.EmployeeName, year = model.BusinessYear })); }
public ActionResult GetUserDetails(AddEmployeeYearlyFigureViewModel model) => RedirectToAction("AddEmployeeToYearlyFigure", new { employeeId = model.EmployeeId, businessYear = model.BusinessYear });