public void Create(EducationSecurityPrincipal user, ServiceRequestModel viewModel) { if (user == null) { throw new ArgumentNullException("user"); } if (viewModel == null) { throw new ArgumentNullException("viewModel"); } IPermission permission = PermissionFactory.Current.Create("CreateServiceRequest", StudentRepository.Items.Include(s => s.School.UserRoles).Where(s => viewModel.StudentIds.Contains(s.Id))); permission.GrantAccess(user); List <int> studentIds = viewModel.StudentIds.ToList(); foreach (int studentId in studentIds) { ServiceRequest request = new ServiceRequest(); viewModel.CopyTo(request); request.StudentId = studentId; request.CreatingUser = user.Identity.User; request.CreatingUserId = user.Identity.User.Id; CreateFulfillmentDetail(request, user, viewModel); ServiceRequestRepository.Add(request); } RepositoryContainer.Save(); }
public IHttpActionResult Save(ServiceRequestModel Model) { ServiceRequest SR = new ServiceRequest(); SR.Id = Model.Id; SR.InsuranceTypeId = Model.InsuranceTypeId; SR.Code = Model.Code; SR.UserId = Model.UserId; SR.TimeOccured = DateTime.Now.ToUniversalTime(); SR.ClaimType = Model.ClaimType; SR.UsageType = Model.UsageType; SR.RegistrationCategory = Model.RegistrationCategory; SR.VehicleNo = Model.VehicleNo; SR.VehicleValue = Model.VehicleValue; SR.VehicleYear = Model.VehicleYear; SR.IsFinanced = Model.IsFinanced; SR.Location = Model.Location; SR.ClientType = Model.ClientType; SR.FuelType = Model.FuelType; //SR.Images = Model.Images; try { using (AppDBContext context = new AppDBContext()) { var repo = new ServiceRequestRepository(context); if (SR.Id == 0) { SR.Id = repo.Add(SR); AssignRequestToAgents(SR.Id); //Added temporary Utility.SendEmail("Request " + SR.Code + " Raised", SR.Code); } else { repo.Update(SR); } if (SR.Images != null) { var imageRepo = new VehicleImageRepository(context); imageRepo.Update(SR.Id, SR.Images); } } return(Json(SR)); } catch (Exception ex) { Logger.Log(typeof(ServiceRequestController), ex.Message + ex.StackTrace, LogType.ERROR); return(InternalServerError()); } }