public void UpsertDetailsServicesTest_NoServices()
        {
            var orderId = "1";

            Order order = new Order()
            {
                Id = orderId
            };

            _mockRepository.Setup(r => r.GetOrderFor(_userId, orderId, UserRoles.Consultant)).Returns(order);
            OrdersTransfereeDetailsServiceDto dto = new OrdersTransfereeDetailsServiceDto()
            {
                Id = "1", ScheduledDate = DateTime.Now, CompletedDate = DateTime.Now
            };
            OrdersTransfereeDetailsServicesDto dtos = new OrdersTransfereeDetailsServicesDto()
            {
                Id = "1"
            };
            List <OrdersTransfereeDetailsServiceDto> svc = new List <OrdersTransfereeDetailsServiceDto>();

            svc.Add(dto);
            dtos.Services = svc;
            order.Services.Add(new Service()
            {
                Id = "1", ScheduledDate = DateTime.Now, CompletedDate = DateTime.Now
            });
            var result = _controller.UpsertDetailsServices(dtos) as IHttpActionResult;

            result.Should().BeOfType <System.Web.Http.Results.OkResult>();
        }
예제 #2
0
        public IHttpActionResult UpsertDetailsServices(OrdersTransfereeDetailsServicesDto dto)
        {
            var   userId = User.Identity.GetUserId();
            Order order  = _unitOfWork.Orders.GetOrderFor(userId, dto.Id, User.GetUserRole());

            if (order == null)
            {
                return(NotFound());
            }
            if (dto.Services != null)
            {
                foreach (var serviceDto in dto.Services)
                {
                    var service = order.Services.FirstOrDefault(s => !String.IsNullOrEmpty(serviceDto.Id) && s.Id == serviceDto.Id);
                    if (service == null)
                    {
                        return(NotFound());
                    }
                    else
                    {
                        var originalServiceDate = service.CompletedDate;
                        _mapper.Map <OrdersTransfereeDetailsServiceDto, Service>(serviceDto, service);
                        if (service.CompletedDate != originalServiceDate)
                        {
                            _queueStore.Add(new OdinToSeQueueEntry(service.Id, QueueType.Service));
                        }
                    }
                }
            }
            _unitOfWork.Complete();
            return(Ok());
        }