public ActionResult GetOrder(Guid Id, DateTime DateCreateStart, DateTime DateCreateEnd, string Status) { var checkCus = _customerService.GetCustomer(Id); if (checkCus == null) { return(NotFound("Not Found Customer")); } List <DateTimeVM> listDateTime = new List <DateTimeVM>(); //get orders var result = _orderService.GetOrders(o => o.CustomerId == Id && o.DateCreate >= DateCreateStart.AddDays(-1) && o.DateCreate <= DateCreateEnd.AddDays(1) && !o.Status.ToLower().Equals("done") && !o.Status.ToLower().Equals("cancel")); foreach (Order item in result) { DateTimeVM date = new DateTimeVM(); date.Date = item.DateCreate; OrderCM orderCM = item.Adapt <OrderCM>(); bool flag = false; foreach (DateTimeVM dates in listDateTime) { if (date.Date.ToString("dd/MM/yyyy").Equals(dates.Date.ToString("dd/MM/yyyy"))) { flag = true; dates.ListOrder.Add(orderCM); } } if (!flag) { date.ListOrder = new List <OrderCM>(); date.ListOrder.Add(orderCM); listDateTime.Add(date); } } return(Ok(listDateTime)); }
public IHttpActionResult Create(OrderCM cm) { try { Order model = AutoMapper.Mapper.Map <OrderCM, Order>(cm); model.OrderDate = DateTime.Now.ToUniversalTime() .AddHours(ConstantDataManager.WorldTime.VIETNAM); model.Status = ConstantDataManager.OrderStatus.PENDING; model.UserId = CURRENT_USER_ID; _orderService.CreateOrder(model); _orderService.SaveOrderChanges(); foreach (int couponItemId in cm.CouponItemIds) { CouponItem coupon = _couponItemService.GetCouponItem(couponItemId); coupon.OrderId = model.Id; coupon.IsUsed = true; _couponItemService.UpdateCouponItem(coupon); _couponItemService.SaveCouponItemChanges(); } model = _orderService.GetOrder(o => o.Id == model.Id, o => o.CouponItems, o => o.OrderDetails); OrderVM result = AutoMapper.Mapper.Map <Order, OrderVM>(model); return(Ok(result)); } catch (Exception e) { return(InternalServerError(e)); } }
public ActionResult CreateOrder([FromBody] OrderCM model) { var timeCreate = DateTime.Now; var checkSlot = _slotService.GetSlots(s => s.TimeStart.Date == timeCreate.Date).Where(t1 => t1.TimeStart.TimeOfDay <= timeCreate.TimeOfDay).Where(t2 => t2.TimeEnd.TimeOfDay >= timeCreate.TimeOfDay).ToList(); if (checkSlot.Any()) { var checkCus = _customerService.GetCustomer(model.CustomerId.Value); if (checkCus == null) { return(NotFound()); } Order newOrder = model.Adapt <Order>(); newOrder.IsDelete = false; newOrder.SlotTakeId = checkSlot[0].Id; _orderService.CreateOrder(newOrder); _orderService.Save(); foreach (var item in model.ListOrderServices) { OrderService orderService = item.Adapt <OrderService>(); orderService.OrderId = newOrder.Id; _orderServiceService.CreateOrderService(orderService); } _orderServiceService.Save(); return(Ok(200)); } else { return(BadRequest("Dont Have Any Slot")); } }
public IHttpActionResult Create(OrderCM cm) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } try { Order model = AutoMapper.Mapper.Map <OrderCM, Order>(cm); _orderService.CreateOrder(model); _orderService.SaveOrderChanges(); OrderVM result = AutoMapper.Mapper.Map <Order, OrderVM>(model); return(Ok(result)); } catch (Exception e) { return(InternalServerError(e)); } }
public async Task <ActionResult> createOrder(OrderCM model) { double totalAmount = 0; foreach (var item in model.OrderDetailCMs) { if (item.Quantity <= 0 || item.Quantity > 5) { return(BadRequest()); } var product = _productService.GetProduct(item.ProductId); if (product == null) { return(BadRequest()); } totalAmount += product.CurrentPrice * item.Quantity; } var user = await _userManager.GetUserAsync(User); var order = model.Adapt <Order>(); order.BuyerId = user.Id; order.TotalAmount = totalAmount; order.CurrentStatus = (int)OrderCurrentStatus.received; _orderService.CreateOrder(order); foreach (var item in model.OrderDetailCMs) { var orderDetail = item.Adapt <OrderDetail>(); orderDetail.OrderId = order.Id; _detailService.CreateOrderDetail(orderDetail); } _orderService.SaveChanges(); OrderStatus status = new OrderStatus(); status.OrderId = order.Id; status.StatusId = (int)OrderStatusId.start; _statusService.CreateOrderStatus(status); _statusService.SaveChanges(); return(Ok()); }