コード例 #1
0
        public void CreateProductOrder(ProductOrderDTO productOrderDTO)
        {
            ProductOrder newProductOrder = productOrderMapper.Map <ProductOrder>(productOrderDTO);

            Database.ProductOrders.Create(newProductOrder);
            Database.Save();
        }
コード例 #2
0
        public async Task <IActionResult> PutProductOrder(int id, ProductOrderDTO productOrderDTO)
        {
            if (id != productOrderDTO.Id)
            {
                return(BadRequest());
            }

            var productOrder = _mapper.Map <ProductOrder>(productOrderDTO);

            _context.Entry(productOrder).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!ProductOrderExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
コード例 #3
0
        public void UpdateProductOrder(ProductOrderDTO productOrderDTO)
        {
            ProductOrder newProductOrder = productOrderMapper.Map <ProductOrder>(productOrderDTO);

            Database.ProductOrders.Detach(newProductOrder);
            Database.ProductOrders.Update(newProductOrder);
            Database.Save();
        }
コード例 #4
0
        public async Task <ActionResult <ProductOrder> > PostProductOrder(ProductOrderDTO newProductOrderDTO)
        {
            ProductOrder newProductOrder = _mapper.Map <ProductOrder>(newProductOrderDTO);

            _context.ProductOrders.Add(newProductOrder);
            await _context.SaveChangesAsync();

            return(CreatedAtAction(nameof(PostProductOrder), newProductOrderDTO));
        }
コード例 #5
0
        //Put api/Customer/5
        public IHttpActionResult Put(int customerid, [FromBody] ProductOrderDTO productOrderDTO)
        {
            if (productOrderDTO == null)
            {
                return(BadRequest("Argument Null"));
            }

            _productOrderService.UpdateProductOrder(productOrderDTO);

            return(Ok());
        }
コード例 #6
0
        public IHttpActionResult Post([FromBody] ProductOrderDTO productOrderDTO)
        {
            if (productOrderDTO == null)
            {
                return(BadRequest("Argument Null"));
            }

            _productOrderService.AddProductOrder(productOrderDTO);

            return(Ok());
        }
コード例 #7
0
        public async Task <IActionResult> OnPostAsync(int?id)
        {
            if (quantity == 0)
            {
                return(Page());
            }
            Product = await _context.Product.FirstOrDefaultAsync(m => m.ID == id);

            var ProductOrderDto = new ProductOrderDTO(Product, quantity);
            var data            = JsonConvert.SerializeObject(new ShoppingCartDTO(ProductOrderDto));

            session.SetString("cart", data);

            return(Page());
        }
コード例 #8
0
        // Add computer components to the cart.

        public IActionResult OnPostComputerToCart()
        {
            var         computerData = session.GetString("computer");
            ComputerDTO computer     = JsonConvert.DeserializeObject <ComputerDTO>(computerData);

            Product cpu         = context.Product.FirstOrDefault(m => m.ID == computer.CpuId);
            Product vga         = context.Product.FirstOrDefault(m => m.ID == computer.VgaId);
            Product memory      = context.Product.FirstOrDefault(m => m.ID == computer.MemoryId);
            Product monitor     = context.Product.FirstOrDefault(m => m.ID == computer.MonitorId);
            Product motherboard = context.Product.FirstOrDefault(m => m.ID == computer.MotherboardId);

            ProductOrderDTO cpuDto         = new ProductOrderDTO(cpu, 1);
            ProductOrderDTO vgaDto         = new ProductOrderDTO(vga, 1);
            ProductOrderDTO memoryDto      = new ProductOrderDTO(memory, 1);
            ProductOrderDTO monitorDto     = new ProductOrderDTO(monitor, 1);
            ProductOrderDTO motherboardDto = new ProductOrderDTO(motherboard, 1);

            ShoppingCartDTO cartDto  = null;
            var             cartData = session.GetString("cart");

            if (cartData != null)
            {
                cartDto = JsonConvert.DeserializeObject <ShoppingCartDTO>(cartData);
            }
            else
            {
                cartDto = new ShoppingCartDTO();
            }

            cartDto.Add(cpuDto);
            cartDto.Add(vgaDto);
            cartDto.Add(memoryDto);
            cartDto.Add(monitorDto);
            cartDto.Add(motherboardDto);

            // Save cart.
            var newCart = JsonConvert.SerializeObject(cartDto);

            session.SetString("cart", newCart);

            // Delete computer.
            session.Remove("computer");

            return(RedirectToAction("OnGetAsync"));
        }
コード例 #9
0
        public CartDTO GetUserCart(HttpContextBase httpContext)
        {
            if (httpContext.Request.Cookies["Cart"] == null)
            {
                return(new CartDTO {
                    ProductOrders = new List <ProductOrderDTO>(), totalPrice = 0
                });
            }
            else
            {
                CartDTO cart       = new CartDTO();
                decimal totalPrice = 0;
                var     json       = httpContext.Request.Cookies["Cart"].Value;
                var     cookieList = JsonConvert.DeserializeObject <List <SerializeProductInfoForCart> >(json);
                var     list       = new List <ProductOrderDTO>();
                foreach (var item in cookieList)
                {
                    var product         = _db.ProductRepository.FindById(item.Id);
                    var productOrderDTO = new ProductOrderDTO
                    {
                        Id       = product.Id,
                        Quantity = item.Quantity,

                        Name     = product.Name,
                        PhotoUrl = product.PhotoUrl,
                        Price    = product.Price,
                        Size     = product.Size,
                        SubPrice = product.Price * item.Quantity,
                    };
                    list.Add(productOrderDTO);

                    totalPrice += item.Quantity * product.Price;
                }
                cart.totalPrice    = totalPrice;
                cart.ProductOrders = list;
                return(cart);
            }
        }