protected override IServiceRequestDto <IServiceRequestOptionDto, IServiceRequestUserInputDto> Create(int performingUserId, IServiceRequestDto <IServiceRequestOptionDto, IServiceRequestUserInputDto> serviceRequestDto) { using (var context = new PrometheusContext()) { var serviceRequest = context.ServiceRequests.Find(serviceRequestDto.Id); if (serviceRequest != null) { throw new InvalidOperationException(string.Format("Service Request with ID {0} already exists.", serviceRequestDto.Id)); } var saved = context.ServiceRequests.Add(ManualMapper.MapDtoToServiceRequest(serviceRequestDto)); context.SaveChanges(performingUserId); return(ManualMapper.MapServiceRequestToDto(saved)); } }
protected override IServiceRequestDto <IServiceRequestOptionDto, IServiceRequestUserInputDto> Update(int performingUserId, IServiceRequestDto <IServiceRequestOptionDto, IServiceRequestUserInputDto> serviceRequestDto) { using (var context = new PrometheusContext()) { if (!context.ServiceRequests.Any(x => x.Id == serviceRequestDto.Id)) { throw new InvalidOperationException(string.Format("Service Request with ID {0} cannot be updated since it does not exist.", serviceRequestDto.Id)); } var updated = ManualMapper.MapDtoToServiceRequest(serviceRequestDto); context.ServiceRequests.Attach(updated); context.Entry(updated).State = EntityState.Modified; context.SaveChanges(performingUserId); return(ManualMapper.MapServiceRequestToDto(updated)); } }
private int CreateFakeRequest(ServiceRequestState state) { var fakeRequest = A.Fake <IServiceRequestDto <IServiceRequestOptionDto, IServiceRequestUserInputDto> >(); A.CallTo(() => fakeRequest.State).Returns(state); A.CallTo(() => fakeRequest.CreationDate).Returns(DateTime.UtcNow); A.CallTo(() => fakeRequest.RequestedForDate).Returns(DateTime.UtcNow); A.CallTo(() => fakeRequest.DepartmentId).Returns(DepartmentId); A.CallTo(() => fakeRequest.RequestedByUserId).Returns(UserId); using (var context = new PrometheusContext()) { var request = ManualMapper.MapDtoToServiceRequest(fakeRequest); context.ServiceRequests.Add(request); context.SaveChanges(); return(request.Id); } }