Ejemplo n.º 1
0
        public int Save(OrderVM inputVM)
        {
            OrderDM inputDM = new OrderDM();

            inputDM.UserId        = inputVM.UserId;
            inputDM.ProductId     = inputVM.ProductId;
            inputDM.Date          = inputVM.Date;
            inputDM.Quantity      = inputVM.Quantity;
            inputDM.TotalPrice    = inputVM.TotalPrice;
            inputDM.Address       = inputVM.Address;
            inputDM.Township      = inputVM.Township;
            inputDM.CreatedUserId = inputVM.CreatedUserId;
            inputDM.UpdatedUserId = inputVM.UpdatedUserId;

            long time = DateTime.Now.Ticks;

            inputDM.Version     = time;
            inputDM.CreatedDate = time;
            inputDM.UpdatedDate = time;

            int result = 0;

            using (PHOTOLIODBContext context = new PHOTOLIODBContext())
            {
                context.OrderDMs.Add(inputDM);
                result = context.SaveChanges();
            }

            return(result);
        }
Ejemplo n.º 2
0
        public ResultModel <OrderDM> GetDetails(OrderPM modelPM)
        {
            #region 验证
            if (string.IsNullOrWhiteSpace(modelPM.Version)) //版本号
            {
                return(ResultModel <OrderDM> .Conclude(GetOrdersStatus.NoVersion));
            }
            if (modelPM.OrderId < 0)//订单Id不合法
            {
                return(ResultModel <OrderDM> .Conclude(GetOrdersStatus.ErrOderNo));
            }
            if (!iOrderProvider.IsExist(modelPM.OrderId)) //订单不存在
            {
                return(ResultModel <OrderDM> .Conclude(GetOrdersStatus.FailedGetOrders));
            }

            #endregion

            try
            {
                OrderDM orderDM = iOrderProvider.GetDetails(modelPM);
                return(ResultModel <OrderDM> .Conclude(GetOrdersStatus.Success, orderDM));
            }
            catch (Exception ex)
            {
                LogHelper.LogWriter(" ResultModel<OrderDM> GetDetails", new { obj = "时间:" + DateTime.Now.ToString() + ex.Message });
                return(ResultModel <OrderDM> .Conclude(GetOrdersStatus.Failed));
            }
        }
Ejemplo n.º 3
0
        public async Task <ActionResult> MakeOrder(OrderDM orderDM)
        {
            if (orderDM.DateStart.Date < DateTime.Now.Date || orderDM.DateEnd.Date < orderDM.DateStart.Date)
            {
                ModelState.AddModelError("", "Проверте корректоность введенных дат");
            }
            else
            {
                if (!_clientService.CarIsFree(orderDM.Car.Id, orderDM.DateStart, orderDM.DateEnd))
                {
                    ModelState.AddModelError("", "В данный период машина не доступна");
                }
                else
                {
                    var orderDTO = _rentMapperDM.ToOrderDTO.Map <OrderDM, OrderDTO>(orderDM);
                    orderDTO.Profile = await _clientService.ShowProfileAsync(User.Identity.GetUserId());

                    _clientService.MakeOrder(orderDTO);
                    var paymentId = _clientService.GetOrdersForClient(User.Identity.GetUserId()).Last().Payment.Id;
                    _logWriter.CreateLog("Заказал авто", User.Identity.GetUserId());

                    return(RedirectToAction("MakePayment", "Client", new { id = paymentId }));
                }
            }
            var carDTO = _rentService.GetCar(orderDM.Car.Id);
            var car    = _rentMapperDM.ToCarDM.Map <CarDTO, CarDM>(carDTO);

            orderDM.Car = car;

            return(View("MakeOrder", orderDM));
        }