public ActionResult UpdateAbsencePolicyEntitlement(AbsencePolicyViewModel absencePolicyViewModel) { if (ModelState.IsValid) { var organisationId = UserOrganisationId; HRBusinessService.UpdateAbsencePolicyEntitlement(organisationId, absencePolicyViewModel.AbsencePolicyEntitlement); return(this.JsonNet(string.Empty)); } var errors = ModelState.Values.Where(e => e.Errors.Count > 0) .Select(e => e.Errors.Select(d => d.ErrorMessage).FirstOrDefault()) .Distinct(); return(this.JsonNet(errors)); }
public PartialViewResult AbsencePolicyEntitlement(int absencePolicyId, int absencePolicyEntitlementId) { var organisationId = UserOrganisationId; var absencePolicyEntitlement = HRBusinessService.RetrieveAbsencePolicyEntitlements(organisationId, absencePolicyId) .Items.FirstOrDefault(e => e.AbsencePolicyEntitlementId == absencePolicyEntitlementId); var model = new AbsencePolicyViewModel() { Frequencies = new SelectList(EnumHelper.GetSelectList(typeof(Frequency.FrequencyType)), "Value", "Text", Frequency.FrequencyType.Yearly), AbsencePolicyEntitlement = absencePolicyEntitlement }; return(PartialView("_AbsencePolicyEntitlement", model)); }
public ActionResult Edit(int?id, AbsencePolicyViewModel absencePolicyViewModel) { var organisationId = UserOrganisationId; var absencePolicy = HRBusinessService.RetrieveAbsencePolicies(organisationId, null, null) .Items.FirstOrDefault(e => e.AbsencePolicyId == id); ValidationResult <WorkingPattern> result = null; absencePolicyViewModel.AbsencePolicy.OrganisationId = organisationId; if (absencePolicy.WorkingPatternId == null) { result = HRBusinessService.CreateAbsencePolicyWorkingPattern(organisationId, absencePolicyViewModel.AbsencePolicy, absencePolicyViewModel.WorkingPatternDays); } else { result = HRBusinessService.UpdateAbsencePolicy(organisationId, absencePolicyViewModel.AbsencePolicy, absencePolicyViewModel.WorkingPatternDays); } if (result.Succeeded) { return(RedirectToAction("Index")); } foreach (var error in result.Errors) { ModelState.AddModelError("", error); } var viewModel = new AbsencePolicyViewModel { Frequencies = new SelectList(EnumHelper.GetSelectList(typeof(Frequency.FrequencyType)), "Value", "Text", Frequency.FrequencyType.Yearly), AbsencePolicy = absencePolicy, WorkingPatternDays = absencePolicyViewModel.WorkingPatternDays.ToList(), AbsenceTypes = absencePolicyViewModel.AbsenceTypes, AbsencePeriods = absencePolicyViewModel.AbsencePeriods, SumOfDuration = absencePolicyViewModel.SumOfDuration, AbsencePolicyEntitlement = new AbsencePolicyEntitlement() }; return(View(viewModel)); }
public ActionResult Create([Bind(Include = "AbsencePolicyId,Name")] AbsencePolicy absencePolicy) { if (ModelState.IsValid) { absencePolicy.OrganisationId = UserOrganisationId; var result = HRBusinessService.CreateAbsencePolicy(UserOrganisationId, absencePolicy); if (result.Succeeded) { return(RedirectToAction("Edit", new { id = result.Entity.AbsencePolicyId })); } foreach (var error in result.Errors) { ModelState.AddModelError("", error); } } var viewModel = new AbsencePolicyViewModel { AbsencePolicy = new AbsencePolicy() }; return(View(viewModel)); }
public ActionResult Edit(int?id) { var organisationId = UserOrganisationId; var absencePolicy = HRBusinessService.RetrieveAbsencePolicy(organisationId, id.Value); var workingPatternDays = absencePolicy.WorkingPatternId == null?HRBusinessService.RetrieveDefaultWorkingPatternDays() : absencePolicy.WorkingPattern.WorkingPatternDays; var absenceTypes = HRBusinessService.RetrieveAbsenceTypes(organisationId, null, null); var absencePeriod = HRBusinessService.RetrieveAbsencePeriods(organisationId, null, null); var viewModel = new AbsencePolicyViewModel { Frequencies = new SelectList(EnumHelper.GetSelectList(typeof(Frequency.FrequencyType)), "Value", "Text", Frequency.FrequencyType.Yearly), AbsencePolicy = absencePolicy, SumOfDuration = (double)(workingPatternDays != null? workingPatternDays.Sum(s => s.Duration):0), WorkingPatternDays = workingPatternDays.ToList(), AbsenceTypes = absenceTypes.Items.ToList(), AbsencePeriods = absencePeriod.Items.ToList(), AbsencePolicyEntitlement = new AbsencePolicyEntitlement() }; return(View(viewModel)); }