Пример #1
0
        public async Task <IActionResult> PutClient(int id, Client client)
        {
            if (id != client.Id)
            {
                return(BadRequest());
            }

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

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

            return(NoContent());
        }
Пример #2
0
        public async Task <IActionResult> PutProduct(int id, Product product)
        {
            var response = new SingleResponse <Product>();

            if (id != product.Id)
            {
                return(BadRequest());
            }

            _context.Entry(product).State = EntityState.Modified;
            response.Model = product;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!ProductExists(id))
                {
                    response.DidError     = true;
                    response.ErrorMessage = "Product not found";
                }
                throw;
            }

            return(response.ToHttpResponse());
        }
        public async Task <IActionResult> PutSupplierCommandLine(int id, SupplierCommandLine supplierCommandLine)
        {
            if (id != supplierCommandLine.Id)
            {
                return(BadRequest());
            }

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

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

            return(NoContent());
        }
Пример #4
0
        public async Task<IActionResult> PutProducer(int id, Producer producer)
        {
            if (id != producer.Id)
            {
                return BadRequest();
            }

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

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

            return NoContent();
        }
Пример #5
0
        public async Task <IActionResult> PutType(int id, Models.Type @type)
        {
            if (id != @type.Id)
            {
                return(BadRequest());
            }

            _context.Entry(@type).State = EntityState.Modified;

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

            return(NoContent());
        }
        public async Task <IActionResult> PutClientOrder(int id, ClientOrder clientOrder)
        {
            var response = new SingleResponse <ClientOrder>();

            if (id != clientOrder.Id)
            {
                return(BadRequest());
            }

            ClientOrder co = _context.ClientOrders.Where(po => po.Id == clientOrder.Id).AsNoTracking().Include(co => co.ClientOrderItems).SingleOrDefault();

            _context.Entry(co).CurrentValues.SetValues(clientOrder);
            _context.Entry(co).State = EntityState.Modified;

            if (co != null)
            {
                response.Model = clientOrder;

                foreach (ClientOrderItem clientOrderItem in co.ClientOrderItems)
                {
                    if (!clientOrder.ClientOrderItems.Any(c => c.Id == clientOrderItem.Id))
                    {
                        _context.ClientOrderItems.Remove(clientOrderItem);
                    }
                }

                foreach (ClientOrderItem clientOrderItem in clientOrder.ClientOrderItems)
                {
                    ClientOrderItem existingChild = co.ClientOrderItems
                                                    .Where(c => c.Id == clientOrderItem.Id)
                                                    .SingleOrDefault();

                    if (existingChild != null)
                    {
                        _context.Entry(existingChild).CurrentValues.SetValues(clientOrderItem);
                        _context.Entry(existingChild).State = EntityState.Modified;
                    }
                    else
                    {
                        ClientOrderItem newClientOrderItem = new ClientOrderItem
                        {
                            ProductId     = clientOrderItem.ProductId,
                            ClientOrderId = clientOrderItem.ClientOrderId,
                            Quantity      = clientOrderItem.Quantity
                        };

                        _context.ClientOrderItems.Add(newClientOrderItem);
                    }
                }

                try
                {
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!ProviderOrderExists(id))
                    {
                        response.DidError     = true;
                        response.ErrorMessage = "ClientOrder not found";
                    }
                    throw;
                }
            }

            return(response.ToHttpResponse());
        }
        public async Task <IActionResult> PutProviderOrder(int id, ProviderOrder providerOrder)
        {
            var response = new SingleResponse <ProviderOrder>();

            if (id != providerOrder.Id)
            {
                return(BadRequest());
            }

            ProviderOrder po = _context.ProviderOrders.Where(po => po.Id == providerOrder.Id).AsNoTracking().Include(po => po.ProviderOrderItems).SingleOrDefault();

            _context.Entry(po).CurrentValues.SetValues(providerOrder);
            _context.Entry(po).State = EntityState.Modified;

            if (po != null)
            {
                response.Model = providerOrder;

                foreach (ProviderOrderItem providerOrderItem in po.ProviderOrderItems)
                {
                    if (!providerOrder.ProviderOrderItems.Any(c => c.Id == providerOrderItem.Id))
                    {
                        _context.ProviderOrderItems.Remove(providerOrderItem);
                    }
                }

                foreach (ProviderOrderItem providerOrderItem in providerOrder.ProviderOrderItems)
                {
                    ProviderOrderItem existingChild = po.ProviderOrderItems
                                                      .Where(c => c.Id == providerOrderItem.Id)
                                                      .SingleOrDefault();

                    if (existingChild != null)
                    {
                        _context.Entry(existingChild).CurrentValues.SetValues(providerOrderItem);
                        _context.Entry(existingChild).State = EntityState.Modified;
                    }
                    else
                    {
                        ProviderOrderItem newProviderOrderItem = new ProviderOrderItem
                        {
                            ProductId       = providerOrderItem.ProductId,
                            ProviderOrderId = providerOrderItem.ProviderOrderId,
                            Quantity        = providerOrderItem.Quantity
                        };

                        Console.WriteLine("New " + newProviderOrderItem.Quantity);

                        _context.ProviderOrderItems.Add(newProviderOrderItem);
                    }
                }

                try
                {
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!ProviderOrderExists(id))
                    {
                        response.DidError     = true;
                        response.ErrorMessage = "Product not found";
                    }
                    throw;
                }
            }

            return(response.ToHttpResponse());
        }