Пример #1
0
        public IHttpActionResult GetDroplist(int id)
        {
            if (CurrentUser == null)
            {
                return(Unauthorized());
            }

            Models.Droplist droplist = db.Droplists.Find(id);
            if (droplist == null)
            {
                return(NotFound());
            }

            var droplistItems = db.DroplistItems
                                .Where(d => d.DroplistId == id)
                                .Select(d => new
            {
                product = new
                {
                    productId   = d.Product.ProductId,
                    itemNumber  = d.Product.ItemNumber,
                    description = d.Product.Description
                },
                droplistId     = d.DroplistId,
                aisleNumber    = d.AisleNumber,
                aisleRow       = d.AisleRow,
                aisleColumn    = d.AisleColumn,
                completed      = d.Completed,
                rejected       = d.Rejected,
                quantity       = d.Quantity,
                droplistItemId = d.DroplistItemId
            })
                                .OrderBy(d => d.aisleNumber)
                                .ThenBy(d => d.aisleColumn)
                                .ThenBy(d => d.aisleRow);


            var resultSet = new
            {
                droplist.DroplistId,
                droplist.BuildingId,
                droplist.DroplistName,
                droplist.CreatedOnDate,
                droplist.CompletedOnDate,
                droplist.StockerId,
                droplist.DriverId,
                droplist.SectionId,
                DriverName = (droplist.Driver != null) ? droplist.Driver.FirstName + " " + droplist.Driver.LastName : null,
                //StockerName = droplist.Stocker.FirstName + " " + droplist.Stocker.LastName,
                DepartmentName = droplist.Section.Department.DepartmentName,
                SectionName    = droplist.Section.SectionName,
                DroplistItems  = droplistItems
            };

            return(Ok(resultSet));
        }
        public IHttpActionResult DeleteDroplist(int id)
        {
            Models.Droplist droplist = db.Droplists.Find(id);
            if (droplist == null)
            {
                return(NotFound());
            }

            db.Droplists.Remove(droplist);
            db.SaveChanges();

            return(Ok(droplist));
        }
        public IHttpActionResult GetDroplist(int id)
        {
            Models.Droplist droplist = db.Droplists.Find(id);
            if (droplist == null)
            {
                return(NotFound());
            }
            var resultSet = new
            {
                droplist.DroplistId,
                droplist.BuildingId,
                droplist.DroplistName,
                droplist.CreatedOnDate,
                droplist.StockerId,
                droplist.DriverId,
                droplist.SectionId,
            };

            return(Ok(resultSet));
        }
        public IHttpActionResult PostDroplist(Models.Droplist droplist)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.Droplists.Add(droplist);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = droplist.DroplistId }, new
            {
                droplist.DroplistId,
                droplist.BuildingId,
                droplist.DroplistName,
                droplist.CreatedOnDate,
                droplist.StockerId,
                droplist.DriverId,
                droplist.SectionId,
            }));
        }
        public IHttpActionResult PutDroplist(int id, Models.Droplist droplist)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != droplist.DroplistId)
            {
                return(BadRequest());
            }
            var dbDroplist = db.Droplists.Find(id);

            dbDroplist.DroplistId      = droplist.DroplistId;
            dbDroplist.BuildingId      = droplist.BuildingId;
            dbDroplist.StockerId       = droplist.StockerId;
            dbDroplist.DriverId        = droplist.DriverId;
            dbDroplist.DroplistName    = droplist.DroplistName;
            dbDroplist.SectionId       = droplist.SectionId;
            dbDroplist.CreatedOnDate   = droplist.CreatedOnDate;
            db.Entry(dbDroplist).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!DroplistExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
Пример #6
0
        public IHttpActionResult DeleteDroplist(int id)
        {
            if (CurrentUser == null)
            {
                return(Unauthorized());
            }

            Models.Droplist droplist = db.Droplists.Find(id);
            if (droplist == null)
            {
                return(NotFound());
            }
            var droplistItems = db.DroplistItems.Where(x => x.DroplistId == id).ToList();

            for (int i = 0; i < droplistItems.Count; i++)
            {
                db.DroplistItems.Remove(droplistItems[i]);
            }

            db.Droplists.Remove(droplist);
            db.SaveChanges();

            return(Ok(droplist));
        }
Пример #7
0
        public IHttpActionResult PostDroplist(Models.Droplist droplist)
        {
            if (CurrentUser == null)
            {
                return(Unauthorized());
            }

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

            var dbDroplist = new Models.Droplist
            {
                BuildingId      = droplist.BuildingId,
                CreatedOnDate   = droplist.CreatedOnDate,
                CompletedOnDate = droplist.CompletedOnDate,
                DriverId        = droplist.DriverId,
                DroplistId      = droplist.DroplistId,
                DroplistName    = droplist.DroplistName,
                SectionId       = droplist.SectionId,
                StockerId       = droplist.StockerId
            };

            foreach (var di in droplist.DroplistItems)
            {
                if (di.ProductId != 0)
                {
                    var dbdi = new DroplistItem
                    {
                        AisleColumn    = di.AisleColumn,
                        AisleNumber    = di.AisleNumber,
                        AisleRow       = di.AisleRow,
                        Completed      = di.Completed,
                        DroplistId     = di.DroplistId,
                        DroplistItemId = di.DroplistItemId,
                        ProductId      = di.ProductId,
                        Quantity       = di.Quantity,
                        Rejected       = di.Rejected
                    };

                    dbDroplist.DroplistItems.Add(dbdi);
                }
                else
                {
                    var product = new Product
                    {
                        ItemNumber  = di.Product.ItemNumber,
                        Description = di.Product.Description,
                        Price       = 0
                    };

                    db.Products.Add(product);
                    db.SaveChanges();

                    var dbdi = new DroplistItem
                    {
                        AisleColumn    = di.AisleColumn,
                        AisleNumber    = di.AisleNumber,
                        AisleRow       = di.AisleRow,
                        Completed      = di.Completed,
                        DroplistId     = di.DroplistId,
                        DroplistItemId = di.DroplistItemId,
                        ProductId      = product.ProductId,
                        Quantity       = di.Quantity,
                        Rejected       = di.Rejected
                    };

                    dbDroplist.DroplistItems.Add(dbdi);
                }
            }

            db.Droplists.Add(dbDroplist);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = dbDroplist.DroplistId }, new
            {
                dbDroplist.DroplistId,
                droplist.BuildingId,
                droplist.DroplistName,
                droplist.CreatedOnDate,
                droplist.CompletedOnDate,
                droplist.StockerId,
                droplist.DriverId,
                droplist.SectionId,
            }));
        }
Пример #8
0
        public IHttpActionResult PutDroplist(int id, Models.Droplist droplist)
        {
            if (CurrentUser == null)
            {
                return(Unauthorized());
            }

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

            if (id != droplist.DroplistId)
            {
                return(BadRequest());
            }

            var dbDroplist = db.Droplists.Find(id);

            dbDroplist.DroplistId      = droplist.DroplistId;
            dbDroplist.BuildingId      = droplist.BuildingId;
            dbDroplist.StockerId       = droplist.StockerId;
            dbDroplist.DriverId        = droplist.DriverId;
            dbDroplist.DroplistName    = droplist.DroplistName;
            dbDroplist.SectionId       = droplist.SectionId;
            dbDroplist.CompletedOnDate = droplist.CompletedOnDate;
            dbDroplist.CreatedOnDate   = droplist.CreatedOnDate;
            dbDroplist.CompletedOnDate = droplist.CompletedOnDate;

            db.Entry(dbDroplist).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!DroplistExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            foreach (var droplistItem in droplist.DroplistItems)
            {
                if (droplistItem.DroplistItemId == 0)
                {
                    db.DroplistItems.Add(droplistItem);
                }
                else
                {
                    var dbDroplistItem = db.DroplistItems.Find(droplistItem.DroplistItemId);

                    // save the properties you want to set
                    // aisle
                    dbDroplistItem.AisleNumber = droplistItem.AisleNumber;
                    // row
                    dbDroplistItem.AisleRow = droplistItem.AisleRow;
                    // column
                    dbDroplistItem.AisleColumn = droplistItem.AisleColumn;
                    // productid
                    dbDroplistItem.ProductId = droplistItem.Product.ProductId;
                    // quantity
                    dbDroplistItem.Quantity = droplistItem.Quantity;

                    db.Entry(dbDroplistItem).State = EntityState.Modified;
                }

                db.SaveChanges();
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }