Example #1
0
        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"));
        }
Example #3
0
        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();
        }