示例#1
0
        public async Task <IActionResult> PostProductPrice([FromBody] List <ProductPrice> productPrice)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            int count = 0;

            foreach (var item in productPrice)
            {
                Product productdb = _context.Products.FirstOrDefault(p => p.Code == item.Code);
                if (productdb != null)
                {
                    productdb.Price     = item.Price;
                    productdb.Price1    = item.Price1;
                    productdb.Quantity  = item.Quantity;
                    productdb.Quantity1 = item.Quantity1;
                    _context.AttachRange(productdb);

                    count++;
                }
            }

            await _context.SaveChangesAsync();

            return(Ok(new { count = count }));
        }
示例#2
0
        public async Task <IActionResult> AddCustomerShoppingArea([FromBody] Customer customer)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var user = await _context.Users.SingleAsync(x => x.UserName == HttpContext.User.Identity.Name);

            if (user == null)
            {
                ModelState.AddModelError("", "Sory, your user is empty !");

                return(BadRequest(ModelState));
            }

            UserMeta userMeta = _context.UserMeta.FirstOrDefault(u => u.Id == user.UserMetaId);

            ShoppingArea shoppingArea = await _context.ShoppingArea.FirstOrDefaultAsync(x => x.ShoppingAreaId == userMeta.ShoppingAreaId);

            if (shoppingArea == null)
            {
                ModelState.AddModelError("", "Sory, your Shoping Area is empty !");

                return(BadRequest(ModelState));
            }

            _context.AttachRange(customer);

            CustomerShoppingArea customerShoppingArea = _context.CustomerShoppingArea.FirstOrDefault(c => c.CustomerId == customer.CustomerId & c.ShoppingAreaId == shoppingArea.ShoppingAreaId);

            if (customerShoppingArea != null)
            {
                customerShoppingArea.ShoppingArea = shoppingArea;
                customerShoppingArea.Customer     = customer;
                customerShoppingArea.UpdateStatus = 1;

                await _context.SaveChangesAsync();

                return(CreatedAtAction("GetCustomerShoppingArea", new CustomerShoppingAreaCode {
                    ShoppingAreaCode = shoppingArea.Code, CustomerCode = customer.Code
                }));
            }
            else
            {
                customerShoppingArea = new CustomerShoppingArea();
                customerShoppingArea.ShoppingArea = shoppingArea;
                customerShoppingArea.Customer     = customer;
                customerShoppingArea.UpdateStatus = 1;

                _context.CustomerShoppingArea.Add(customerShoppingArea);
                await _context.SaveChangesAsync();

                return(CreatedAtAction("GetCustomerShoppingArea", new CustomerShoppingAreaCode {
                    ShoppingAreaCode = shoppingArea.Code, CustomerCode = customer.Code
                }));
            }
        }
示例#3
0
        public async Task <IActionResult> AddWarehouseShoppingArea([FromBody] Warehouse warehouse)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var user = await _context.Users.SingleAsync(x => x.UserName == HttpContext.User.Identity.Name);

            if (user == null)
            {
                ModelState.AddModelError("", "Sory, your user is empty !");

                return(BadRequest(ModelState));
            }

            UserMeta userMeta = _context.UserMeta.FirstOrDefault(u => u.Id == user.UserMetaId);

            ShoppingArea shoppingArea = await _context.ShoppingArea.FirstOrDefaultAsync(x => x.ShoppingAreaId == userMeta.ShoppingAreaId);

            if (shoppingArea == null)
            {
                ModelState.AddModelError("", "Sory, your Shoping Area is empty !");

                return(BadRequest(ModelState));
            }

            _context.AttachRange(warehouse);

            WarehouseShoppingArea warehouseShoppingArea = _context.WarehouseShoppingArea.FirstOrDefault(c => c.WarehouseId == warehouse.WarehouseId & c.ShoppingAreaId == shoppingArea.ShoppingAreaId);

            if (warehouseShoppingArea != null)
            {
                warehouseShoppingArea.ShoppingArea = shoppingArea;
                warehouseShoppingArea.Warehouse    = warehouse;
                warehouseShoppingArea.UpdateStatus = 1;

                await _context.SaveChangesAsync();
            }
            else
            {
                warehouseShoppingArea = new WarehouseShoppingArea();
                warehouseShoppingArea.ShoppingArea = shoppingArea;
                warehouseShoppingArea.Warehouse    = warehouse;
                warehouseShoppingArea.UpdateStatus = 1;

                _context.WarehouseShoppingArea.Add(warehouseShoppingArea);
                await _context.SaveChangesAsync();
            }

            return(Ok());
        }
        public async Task <IActionResult> PostMarketingEventProduct([FromBody] List <MarketingEventProductCode> marketingEventProductCode)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            int count = 0;

            foreach (var item in marketingEventProductCode)
            {
                MarketingEvent marketingEvent = _context.MarketingEvent.FirstOrDefault(p => p.Code == item.MarketingEventCode);
                Product        product        = _context.Products.FirstOrDefault(p => p.Code == item.ProductCode);

                if (marketingEvent == null)
                {
                    return(BadRequest(ModelState));
                }

                if (product == null)
                {
                    return(BadRequest(ModelState));
                }

                var marketingEventProduct = await _context.MarketingEventProduct.SingleOrDefaultAsync(c => c.MarketingEventId == marketingEvent.MarketingEventId& c.ProductId == product.ProductId);

                if (marketingEventProduct != null)
                {
                    marketingEventProduct.MarketingEvent = marketingEvent;
                    marketingEventProduct.Product        = product;
                }
                else
                {
                    marketingEventProduct = new MarketingEventProduct();
                    marketingEventProduct.MarketingEvent = marketingEvent;
                    marketingEventProduct.Product        = product;
                }

                _context.AttachRange(marketingEventProduct);
                count++;
            }

            await _context.SaveChangesAsync();

            return(Ok(new { count = count }));
        }
        public async Task <IActionResult> PostShoppingAreaUsers([FromBody] List <UserShoppingArea> userShoppingArea)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            int count = 0;

            foreach (var item in userShoppingArea)
            {
                var user = await _context.Users.FirstOrDefaultAsync(x => x.Id == item.UserId);

                if (user != null)
                {
                    UserMeta userMeta = _context.UserMeta.FirstOrDefault(u => u.Id == user.UserMetaId);

                    ShoppingArea shoppingarea = await _context.ShoppingArea.FirstOrDefaultAsync(c => c.Code == item.ShoppingAreaCode);

                    if (shoppingarea != null)
                    {
                        userMeta.ShoppingAreaId = shoppingarea.ShoppingAreaId;
                        _context.AttachRange(userMeta);

                        //user.ShoppingAreaId = shoppingarea.ShoppingAreaId;
                        //_context.AttachRange(user);

                        count++;
                    }
                }
            }

            await _context.SaveChangesAsync();

            return(Ok(new { count = count }));
        }
示例#6
0
        public async Task <IActionResult> PostOrder([FromBody] Order order)
        {
            if (!string.IsNullOrWhiteSpace(order.Number))
            {
                Order orderdb = await _context.Orders.SingleOrDefaultAsync(m => m.Number == order.Number);

                if (orderdb != null)
                {
                    ModelState.AddModelError("", "Sory, order exist !");
                }
            }

            //Заполняем из БД
            if (order.Customer.CustomerId == 0)
            {
                Customer customer = await _context.Customers.SingleOrDefaultAsync(m => m.Code == order.Customer.Code);

                if (customer != null)
                {
                    order.Customer = customer;
                }
            }

            if (order.Outlet.OutletId == 0)
            {
                Outlet outlet = await _context.Outlets.SingleOrDefaultAsync(m => m.Code == order.Outlet.Code);

                if (outlet != null)
                {
                    order.Outlet = outlet;
                }
            }

            if (order.Warehouse.WarehouseId == 0)
            {
                Warehouse warehouse = await _context.Warehouses.SingleOrDefaultAsync(m => m.Code == order.Warehouse.Code);

                if (warehouse != null)
                {
                    order.Warehouse = warehouse;
                }
            }

            foreach (var item in order.Lines)
            {
                if (item.Product.ProductId == 0)
                {
                    Product product = await _context.Products.SingleOrDefaultAsync(m => m.Code == item.Product.Code);

                    if (product != null)
                    {
                        item.Product = product;
                    }
                }
            }


            if (order.Lines.Count() == 0)
            {
                ModelState.AddModelError("", "Sory, your cart is empty !");
            }

            if (order.Customer.CustomerId == 0)
            {
                ModelState.AddModelError("", "Sory, your customer is empty !");
            }

            if (order.Outlet.OutletId == 0)
            {
                ModelState.AddModelError("", "Sory, your outlet is empty !");
            }

            if (order.Warehouse.WarehouseId == 0)
            {
                ModelState.AddModelError("", "Sory, your warehouse is empty !");
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            order.Shipped = false;
            order.Date    = DateTime.Now;

            var userApi = await _context.Users.SingleAsync(x => x.UserName == HttpContext.User.Identity.Name);

            if (userApi != null)
            {
                order.UserId    = userApi.Id;
                order.FirstName = userApi.FirstName;
                order.LastName  = userApi.LastName;
            }

            _context.AttachRange(order.Customer);
            _context.AttachRange(order.Outlet);
            _context.AttachRange(order.Warehouse);
            _context.AttachRange(order.Lines.Select(l => l.Product));

            var marketingEventList = order.Lines.Where(m => m.MarketingEvent != null).Select(l => l.MarketingEvent);

            List <int> newList = new List <int>();

            foreach (var item in marketingEventList)
            {
                if (newList.IndexOf(item.MarketingEventId) == -1)
                {
                    newList.Add(item.MarketingEventId);
                    _context.AttachRange(item);
                }
            }

            _context.Orders.Add(order);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetOrder", new { id = order.OrderId }, order));
        }