public ActionResult Return(ReturnDM returnDM, bool withCrash = false)
        {
            if (withCrash && (returnDM.Crash == null || String.IsNullOrEmpty(returnDM.Crash.Description) ||
                              returnDM.Crash.Payment == null || returnDM.Crash.Payment.Price <= 0))
            {
                ModelState.AddModelError("", "Не все поля заполнены корректно");
            }
            else
            {
                returnDM.IsReturned = true;
                ReturnDTO returnDTO = _rentMapperDM.ToReturnDTO.Map <ReturnDM, ReturnDTO>(returnDM);
                returnDTO.User = new User()
                {
                    Id = User.Identity.GetUserId()
                };
                if (withCrash == false)
                {
                    returnDTO.Crash = null;
                }
                _managerService.ReturnCar(returnDTO);
                _logWriter.CreateLog("Отклонил заказ" + returnDTO.Order.Id, User.Identity.GetUserId());

                return(RedirectToAction("ShowReturns", "Manager", null));
            }

            var orderDTO = _managerService.GetOrder(returnDM.Order.Id, false);

            returnDM = new ReturnDM()
            {
                Order = _rentMapperDM.ToOrderDM.Map <OrderDTO, OrderDM>(orderDTO)
            };

            return(View(returnDM));
        }
Esempio n. 2
0
        public void ReturnsViewRedirectToShowReturns()
        {
            var model = new ReturnDM();

            _mockRentMapper.Setup(x => x.ToReturnDTO.Map <ReturnDM, ReturnDTO>(model))
            .Returns(new ReturnDTO()
            {
                Order = new OrderDTO()
                {
                    Id = 1
                }
            });

            RedirectToRouteResult result = _controller.Return(model, false) as RedirectToRouteResult;

            Assert.AreEqual("ShowReturns", result.RouteValues["action"]);
        }
        /// <summary>
        /// Show order by id for return.
        /// </summary>
        /// <param name="id">Order id</param>
        /// <returns>View</returns>
        public ActionResult Return(int?id)
        {
            if (id != null)
            {
                var orderDTO = _managerService.GetOrder(id.Value, false);
                if (orderDTO == null)
                {
                    return(View("CustomNotFound", "_Layout", "Заказ не найден"));
                }

                ReturnDM returnDM = new ReturnDM()
                {
                    Order = _rentMapperDM.ToOrderDM.Map <OrderDTO, OrderDM>(orderDTO)
                };
                return(View(returnDM));
            }

            return(View("CustomNotFound", "_Layout", "Заказ не найден"));
        }