public IHttpActionResult AddOrder([FromBody] OrderToSave model) { if (!ModelState.IsValid) { return(BadRequest()); } _orderService.AddOrder(model); return(Ok()); }
public async Task <IActionResult> SaveHistory(int id, OrderToSave order) { int numberOfItems = 0; double total = 0; foreach (var item in order.detail) { numberOfItems += item.quantity; total += (item.productPrice * item.quantity) + ((item.productPrice * item.quantity) * 8.5 / 100); } var ordertosave = new Orders(); ordertosave.CustomerId = id; ordertosave.OrderName = order.name; ordertosave.OrderShipAddress1 = order.address1; ordertosave.OrderShipAddress2 = order.address2; ordertosave.OrderShipCity = order.city; ordertosave.OrderShipState = order.state; ordertosave.OrderShipZip5 = order.zip5; ordertosave.OrderShipZip4 = order.zip4; ordertosave.OrderDate = DateTime.Now; ordertosave.NumberOfItems = numberOfItems; ordertosave.OrderTotal = total; ordertosave.CardName = order.cardname; ordertosave.CardNumber = order.cardnumber; // await _dataContext.Orders.AddAsync(ordertosave); // await _dataContext.SaveChangesAsync(); var changes = await _repo.SaveHistory(ordertosave); // If there is change in database if (changes > 0) { foreach (var item in order.detail) { var itemtosave = new OrderDetails(); itemtosave.ProductId = item.productId; itemtosave.ProductUrl = item.productImageUrl; itemtosave.ProductName = item.productName; itemtosave.Quantity = item.quantity; itemtosave.SalePrice = item.productPrice; // itemtosave.OrderId = _dataContext.Orders.Max(o => o.OrderId); // get last orderid just added itemtosave.OrderId = _repo.getLastestOrder(); // update orderdetails // await _dataContext.OrderDetails.AddAsync(itemtosave); _repo.updateOrderDetails(itemtosave); } // await _dataContext.SaveChangesAsync(); _repo.SaveAllChange(); return(Ok("save successful")); } return(BadRequest("save unsuccessfully")); }
public void AddOrder(OrderToSave model) { var paintColorId = AddPaintColorToOrder <PaintColor>(model.PaintColorId, model.CustomColor); var artworkBeltGuardId = AddArtworkToOrder <ArtworkBeltGuard>(model.ArtworkBeltGuardId, model.ArtworkBeltGuardColor, model.ArtworkBeltGuardImageUrl); var artworkFlywheelId = AddArtworkToOrder <ArtworkFlywheel>(model.ArtworkFlywheelId, model.ArtworkFlywheelColor, model.ArtworkFlywheelImageUrl); var artworkFrameForkId = AddArtworkToOrder <ArtworkFrameFork>(model.ArtworkFrameForkId, model.ArtworkFrameForkColor, model.ArtworkFrameForkImageUrl); var IsChecked = false; var detail = new OrderDetail() { GrossPrice = model.GrossPrice, Discount = model.Discount, NetPrice = model.NetPrice, Comment = model.Comment, CustomerName = model.CustomerName, CreateSalesOrder = IsChecked, DateTimeAdded = DateTime.Now }; _orderDetailRepository.Create(detail); var cycle = new Cycle() { ModelId = GetIdByModelType(model.ModelType), HandlebarTypeId = model.HandlebarTypeId, PlasticsColorTypeId = model.PlasticsColorTypeId, SprintShiftTypeId = model.SprintShiftTypeId, PowerMeterTypeId = model.PowerMeterTypeId, PedalTypeId = model.PedalTypeId, ConsoleTypeId = model.ConsoleTypeId, SeatTypeId = model.SeatTypeId, PaintColorId = paintColorId, ArtworkBeltGuardId = artworkBeltGuardId.Value, ArtworkFlywheelId = artworkFlywheelId, ArtworkFrameForkId = artworkFrameForkId.Value }; _cycleRepository.Create(cycle); var order = new Order() { TabletHolderId = model.TabletHolderId, TabletHolderQuantity = model.TabletHolderQuantity, PhoneHolderId = model.PhoneHolderId, PhoneHolderQuantity = model.PhoneHolderQuantity, MediaShelfId = model.MediaShelfId, MediaShelfQuantity = model.MediaShelfQuantity, SeatPostId = model.SeatPostId, SeatPostQuantity = model.SeatPostQuantity, HandlebarPostId = model.HandlebarPostId, HandlebarPostQuantity = model.HandlebarPostQuantity, StagesDumbbellHolderId = model.StagesDumbbellHolderId, StagesDumbbellHolderQuantity = model.StagesDumbbellHolderQuantity, ApplicationUserId = System.Web.HttpContext.Current.User.Identity.GetUserId(), AerobarQuantity = model.AerobarQuantity, AerobarId = model.AerobarId, PlatesOneToSixtyId = model.PlatesOneToSixtyId, PlatesOneToSixtyQuntity = model.PlatesOneToSixtyQuntity, PlatesSixtyOneToHundredId = model.PlatesSixtyOneToHundredId, PlatesSixtyOneToHundredQuantity = model.PlatesSixtyOneToHundredQuantity, PlatesOneToEightyId = model.PlatesOneToEightyId, PlatesOneToEightyQuantity = model.PlatesOneToEightyQuantity, PlatesFiftyPeacesId = model.PlatesFiftyPeacesId, PlatesFiftyPeacesQuantity = model.PlatesFiftyPeacesQuantity, PlatesOneToThirtyId = model.PlatesOneToThirtyId, PlatesOneToThirtyQuantity = model.PlatesOneToThirtyQuantity, CycleQuantity = model.CycleQuantity }; _orderRepository.Create(order); _unitOfWork.Save(); }