public void CanListRequestStatuses() { // Establish Context IList <RequestStatusDto> requestStatusSummariesToExpect = new List <RequestStatusDto>(); var requestStatusDto = new RequestStatusDto(); requestStatusSummariesToExpect.Add(requestStatusDto); _requestStatusManagementService.Expect(r => r.GetRequestStatusSummaries()) .Return(requestStatusSummariesToExpect); // Act ViewResult result = _requestStatusesController.Index().AssertViewRendered(); // Assert result.ViewData.Model.ShouldNotBeNull(); (result.ViewData.Model as IList <RequestStatusDto>).ShouldNotBeNull(); (result.ViewData.Model as IList <RequestStatusDto>).Count.ShouldEqual(1); }
public void CanGetRequestStatusSummaries() { // Establish Context IList <RequestStatusDto> requestStatusSummariesToExpect = new List <RequestStatusDto>(); var requestStatusDto = new RequestStatusDto(); requestStatusSummariesToExpect.Add(requestStatusDto); _requestStatusRepository.Expect(r => r.GetRequestStatusSummaries()) .Return(requestStatusSummariesToExpect); // Act IList <RequestStatusDto> requestStatusSummariesRetrieved = _requestStatusManagementService.GetRequestStatusSummaries(); // Assert requestStatusSummariesRetrieved.ShouldNotBeNull(); requestStatusSummariesRetrieved.Count.ShouldEqual(1); requestStatusSummariesRetrieved[0].ShouldNotBeNull(); requestStatusSummariesRetrieved[0].ShouldEqual(requestStatusDto); }
public void UpdateListRequestStatus(RequestStatusDto requestStatusDto) { foreach (var requestDto in requestStatusDto.UpdateRequestDtos) { var request = _requestRepository.GetById(requestDto.RequestId); if (request != null) { //if courier Declined or Completed request if (requestDto.RequestType == (int)StatusRequest.Declined || requestDto.RequestType == (int)StatusRequest.Completed) { var requestHistory = new RequestHistory { RequestId = requestDto.RequestId, CourierId = requestDto.CourierId, LastRequestStatus = request.Status, ActionType = requestDto.RequestType == (int)StatusRequest.Declined ? (int)HistoryRequestActionType.Declined : (int)HistoryRequestActionType.Completed, Comment = requestDto.RequestType == (int)StatusRequest.Declined ? "Declined request" : "Completed request", TimeChanged = DateTime.UtcNow }; _requestHistoryRepository.Add(requestHistory); switch (requestDto.RequestType) { case (int)StatusRequest.Declined: _systemEventRepository.Add(EventMessage.CourierDeclinedRequest, new Dictionary <EventMessageParam, string> { { EventMessageParam.Courier, request.Courier.User.FullName }, { EventMessageParam.Request, request.RequestNo } }); break; case (int)StatusRequest.Completed: _systemEventRepository.Add(EventMessage.CourierCompletedRequest, new Dictionary <EventMessageParam, string> { { EventMessageParam.Courier, request.Courier.User.FullName }, { EventMessageParam.Request, request.RequestNo } }); break; } } //if request still belong courier if (request.CourierId == requestDto.CourierId && request.Status != (int)StatusRequest.Cancelled && !(request.Status == (int)StatusRequest.Abandoned && requestDto.RequestType == (int)StatusRequest.Waiting)) { request.ReceivedTime = requestDto.ReceivedTime; request.AcceptedTime = requestDto.AcceptedTime; request.RejectedTime = requestDto.RejectedTime; request.ActualStartTime = requestDto.ActualStartTime; request.ActualEndTime = requestDto.ActualEndTime; request.IsAgreed = requestDto.IsAgreed; request.CompleteNote = requestDto.CompleteNote; switch (requestDto.RequestType) { case (int)StatusRequest.Received: _systemEventRepository.Add(EventMessage.CourierAcceptedRequest, new Dictionary <EventMessageParam, string> { { EventMessageParam.Courier, request.Courier.User.FullName }, { EventMessageParam.Request, request.RequestNo } }); break; case (int)StatusRequest.Started: _systemEventRepository.Add(EventMessage.CourierStartedRequest, new Dictionary <EventMessageParam, string> { { EventMessageParam.Courier, request.Courier.User.FullName }, { EventMessageParam.Request, request.RequestNo } }); break; } request.Status = requestDto.RequestType; if (requestDto.PriorityNumber != 0) { request.PriorityNumber = requestDto.PriorityNumber; } if (requestDto.Signature != null) { request.Signature = Convert.FromBase64String(requestDto.Signature.Replace("\\", "")); } if (requestDto.CompletePicture != null) { request.CompletePicture = Convert.FromBase64String(requestDto.CompletePicture.Replace("\\", "")); } if (requestDto.NoteDto != null) { foreach (var noteDto in requestDto.NoteDto) { request.NoteRequests.Add(new NoteRequest { Description = noteDto.Description, CreateTime = noteDto.Date, CourierId = request.CourierId }); } } _requestRepository.Update(request); } } } _requestRepository.Commit(); }
public IHttpActionResult UpdateListRequestStatus(RequestStatusDto requestStatusDto) { _requestService.UpdateListRequestStatus(requestStatusDto); return(Ok()); }