Example #1
0
        public static Order MapModelToEntity(OrdersModelItem model)
        {
            var order = new Order
            {
                PaymentId    = model.PaymentId,
                CreationDate = DateTime.Now,
                UserId       = model.UserId,
                Description  = model.Description
            };

            return(order);
        }
Example #2
0
        public static OrdersModelItem MapEntityToModel(Order order)
        {
            var model = new OrdersModelItem
            {
                Id          = order.Id,
                UserId      = order.UserId,
                UserEmail   = order.User.Email,
                UserName    = $"{order.User.FirstName} {order.User.LastName}",
                PaymentDate = order.CreationDate.ToString(),
                Description = order.Description,
                PaymentId   = order.PaymentId
            };

            return(model);
        }
Example #3
0
        public static OrdersModelItem MapResponseModelToModelItem(OrderResponseModel model)
        {
            var responseModel = new OrdersModelItem
            {
                UserName    = model.UserName,
                UserEmail   = model.UserEmail,
                Id          = model.OrderId,
                Description = model.Description,
                PaymentDate = model.OrderDate.ToShortDateString(),
                OrderStatus = (StatusEnum.StatusType)model.OrderStatus
            };
            decimal amount          = 0;
            var     orderItemsModel = new List <OrderItemModelItem>();

            foreach (var item in model.OrderItems)
            {
                amount += item.Amount;
                var orderItem = OrderItemMapper.MapEntityToModel(item);
                orderItemsModel.Add(orderItem);
                responseModel.TotalAmount = amount;
            }
            responseModel.OrderItems = orderItemsModel;
            return(responseModel);
        }
Example #4
0
        public async Task <OrdersModelItem> MakeOrderAsync(CartModelItem model, long userId)
        {
            var response = new OrdersModelItem();
            var result   = await CreatePaymentAsync(model.TransactionId);

            if (result.Errors.Any())
            {
                return((OrdersModelItem)result);
            }
            result = await CreateAsync(model, userId);

            if (result.Errors.Any())
            {
                return((OrdersModelItem)result);
            }
            var createItemResult = await CreateOrderItemsAsync(model);

            if (result.Errors.Any())
            {
                return((OrdersModelItem)result);
            }
            response.Id = createItemResult.OrderId;
            return(response);
        }