// GET: Admin/Medical/UpdateAllowance public ActionResult UpdateAllowance(string id = "") { try { int _id; MedicalAllowanceInfo _medicalAllowance = null; if (!int.TryParse(id, out _id)) { return(RedirectToAction("Allowance", "Medical")); } using (MedicalAllowanceRepository Repo = new MedicalAllowanceRepository()) { _medicalAllowance = Repo.GetMedicalAllowanceById(_id); } if (_medicalAllowance == null) { return(RedirectToAction("Allowance", "Medical")); } return(View(_medicalAllowance)); } catch (Exception ex) { return(View("Error", new HandleErrorInfo(ex, "Medical", "UpdateAllowance"))); } }
public ActionResult UpdateAllowance(MedicalAllowanceInfo medicalAllowanceInfo) { try { if (!ModelState.IsValid) { return(View()); } using (MedicalAllowanceRepository Repo = new MedicalAllowanceRepository()) { medicalAllowanceInfo.Category = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(medicalAllowanceInfo.Category.ToLower()); Repo.UpdateMedicalAllowance(medicalAllowanceInfo); TempData["Msg"] = AlertMessageProvider.SuccessMessage("Allowance updated successfully."); return(RedirectToAction("Allowance", "Medical")); } } catch (Exception ex) { return(View("Error", new HandleErrorInfo(ex, "Medical", "UpdateAllowance"))); } }
public void SaveMedicalAllowance(MedicalAllowanceInfo medicalAllowanceInfo) { Data.MedicalAllowance medicalAllowance = ConvertToDb(medicalAllowanceInfo); _context.MedicalAllowances.Add(medicalAllowance); _context.SaveChanges(); }
public Data.MedicalAllowance ConvertToDb(MedicalAllowanceInfo medicalAllowanceInfo) { return(new Data.MedicalAllowance { Id = medicalAllowanceInfo.Id, Category = medicalAllowanceInfo.Category, Amount = medicalAllowanceInfo.Amount }); }
public void UpdateMedicalAllowance(MedicalAllowanceInfo medicalAllowanceInfo) { Data.MedicalAllowance medicalAllowance = _context.MedicalAllowances.Find(medicalAllowanceInfo.Id); if (medicalAllowance != null) { medicalAllowance.Category = medicalAllowanceInfo.Category; medicalAllowance.Amount = medicalAllowanceInfo.Amount; _context.SaveChanges(); } else { throw new ArgumentNullException(); } }
public ActionResult ProcessRequest(string CheckoutId = "", string ProcessBtn = "") { try { int _id; MedicalCheckoutInfo _checkout = null; EmployeeInfo _employeeInfo = null; MedicalAllowanceInfo _medicalAllowance = null; if (!int.TryParse(CheckoutId, out _id)) { TempData["Msg"] = AlertMessageProvider.FailureMessage("Something went wrong, please try again later."); return(RedirectToAction("Requests", "Medical")); } using (MedicalCheckoutRepository CheckoutRepo = new MedicalCheckoutRepository()) { _checkout = CheckoutRepo.GetMedicalCheckoutById(_id); if (_checkout == null) { TempData["Msg"] = AlertMessageProvider.FailureMessage("Checkout not found."); return(RedirectToAction("Requests", "Medical")); } if (ProcessBtn != "Approve" && ProcessBtn != "Reject") { TempData["Msg"] = AlertMessageProvider.FailureMessage("Something went wrong, please try again later."); return(RedirectToAction("RequestDetails", "Medical", new { id = _checkout.Id })); } if (ProcessBtn == "Approve") { using (EmployeeRepository EmployeeRepo = new EmployeeRepository()) { _employeeInfo = EmployeeRepo.GetEmployeeInfoById(_checkout.EmployeeInfoId); } using (MedicalAllowanceRepository AllowanceRepo = new MedicalAllowanceRepository()) { if (_employeeInfo.MaritalStatus == "Single") { _medicalAllowance = AllowanceRepo.GetMedicalAllowanceByCategory("Single"); } else { _medicalAllowance = AllowanceRepo.GetMedicalAllowanceByCategory("Married"); } } var _availedMedical = CheckoutRepo.GetAvailedMedicalCheckoutsListByEmployeeIdYearwise(_checkout.EmployeeInfoId, DateTime.Now.ToString("yyyy")); var remainingMedicalAmount = _medicalAllowance.Amount - _availedMedical.Sum(x => x.Amount); if (_checkout.Amount > remainingMedicalAmount) { TempData["Msg"] = AlertMessageProvider.FailureMessage("This request cannot be process, employee has insufficient medical amount."); return(RedirectToAction("RequestDetails", "Medical", new { id = _checkout.EmployeeInfoId })); } _checkout.Status = "Approved"; TempData["Msg"] = AlertMessageProvider.SuccessMessage("Medical request approved successfully."); } else { _checkout.Status = "Incomplete"; TempData["Msg"] = AlertMessageProvider.SuccessMessage("Medical request rejected successfully."); } CheckoutRepo.UpdateMedicalCheckout(_checkout); } return(RedirectToAction("RequestDetails", "Medical", new { id = _checkout.EmployeeInfoId })); } catch (Exception ex) { return(View("Error", new HandleErrorInfo(ex, "Medical", "ProcessRequest"))); } }
public ActionResult SaveCheckout(MedicalCheckoutInfo medicalCheckoutInfo) { try { int _medicalCheckoutId = 0; EmployeeInfo _employeeInfo = null; MedicalAllowanceInfo _medicalAllowance = null; if (!ModelState.IsValid) { TempData["Msg"] = AlertMessageProvider.FailureMessage("Invalid data."); return(RedirectToAction("Details", "Medical")); } if (medicalCheckoutInfo.TreatmentDate > DateTime.Now.Date) { TempData["Msg"] = AlertMessageProvider.FailureMessage("Treatment date cannot be earlier than today."); return(RedirectToAction("Details", "Medical")); } using (FamilyMemberRepository Repo = new FamilyMemberRepository()) { FamilyMemberInfo _familyMember = null; _familyMember = Repo.GetFamilyMemberById(medicalCheckoutInfo.FamilyMemberId); if (_familyMember == null || _familyMember.EmployeeInfoId != CurrentUser.EmployeeInfoId) { TempData["Msg"] = AlertMessageProvider.FailureMessage("Invalid patient name."); return(RedirectToAction("Details", "Medical")); } } using (EmployeeRepository Repo = new EmployeeRepository()) { _employeeInfo = Repo.GetEmployeeInfoById(CurrentUser.EmployeeInfoId); } using (MedicalAllowanceRepository Repo = new MedicalAllowanceRepository()) { if (_employeeInfo.MaritalStatus == "Single") { _medicalAllowance = Repo.GetMedicalAllowanceByCategory("Single"); } else { _medicalAllowance = Repo.GetMedicalAllowanceByCategory("Married"); } } using (MedicalCheckoutRepository Repo = new MedicalCheckoutRepository()) { var _availedMedical = Repo.GetAvailedMedicalCheckoutsListByEmployeeIdYearwise(CurrentUser.EmployeeInfoId, DateTime.Now.ToString("yyyy")); var remainingMedicalAmount = _medicalAllowance.Amount - _availedMedical.Sum(x => x.Amount); if (medicalCheckoutInfo.Amount > remainingMedicalAmount) { TempData["Msg"] = AlertMessageProvider.FailureMessage("Selected amount cannot be greater than remaining medical amount."); return(RedirectToAction("Details", "Medical")); } medicalCheckoutInfo.EmployeeInfoId = CurrentUser.EmployeeInfoId; medicalCheckoutInfo.Status = "Incomplete"; _medicalCheckoutId = Repo.SaveMedicalCheckout(medicalCheckoutInfo); } return(RedirectToAction("Apply", "Medical", new { id = _medicalCheckoutId })); } catch (Exception ex) { return(View("Error", new HandleErrorInfo(ex, "Medical", "SaveCheckout"))); } }