public ActionResult MedicalReport(int?id) { if (id != null) { using (IDal dal = new Dal()) { Animal animal = dal.GetAnimalById((int)id); if (animal != null) { MedicalReportViewModel vm = new MedicalReportViewModel(animal); if (HttpContext.User.IsInRole("Client")) { if (int.Parse(HttpContext.User.Identity.Name) == animal.IdUtilisateur) { return(View(vm)); } } if (HttpContext.User.IsInRole("Veterinary")) { return(View(vm)); } return(new HttpStatusCodeResult(HttpStatusCode.Forbidden)); } } } return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); }
public JsonResult AddMedicalReport(MedicalReportViewModel model) { var result = new { Success = "true", Message = "Success" }; if (ModelState.IsValid) { try { if (model.CompletionDate >= model.NextCompletionDate) { result = new { Success = "false", Message = "Data ważności badania nie może być wcześniejsza niż data wykonania badania." }; return(Json(result, JsonRequestBehavior.AllowGet)); } var employee = _employeeService.GetById(model.EmployeeId); var lastCheck = employee.MedicalReports?.Where(x => !x.IsDeleted).OrderByDescending(x => x.Id).FirstOrDefault(); if ((lastCheck != null && lastCheck.NextCompletionDate > model.NextCompletionDate)) { result = new { Success = "false", Message = "Data ważności nowego badania musi być późniejsza od poprzedniego." }; return(Json(result, JsonRequestBehavior.AllowGet)); } var mReport = Mapper.Map <MedicalReport>(model); mReport.CreatedDate = DateTime.Now; mReport.UpdatedDate = mReport.CreatedDate; _medicalReportService.Create(mReport); } catch (Exception e) { logger.Error(e, e.Message); result = new { Success = "false", Message = WebResources.ErrorMessage }; } return(Json(result, JsonRequestBehavior.AllowGet)); } else { var error = ModelState.Values.SelectMany(v => v.Errors).FirstOrDefault().ErrorMessage; result = new { Success = "false", Message = error }; return(Json(result, JsonRequestBehavior.AllowGet)); } }