Exemple #1
0
        public IHttpActionResult DeleteVendorProductType(int id, int UILoginUserID, string UILoginPassword, int SiteID)
        {
            if (!Global.CheckUserIDAndPasswordWithSiteID(db, UILoginUserID, UILoginPassword, SiteID, "DeleteVendorProductType"))
            {
                return(BadRequest());
            }
            VendorProductType vendorProductType = db.VendorProductTypes.Find(id);

            if (vendorProductType == null)
            {
                return(NotFound());
            }

            if (vendorProductType.SiteID != SiteID)
            {
                return(BadRequest());
            }
            User user = db.Users.Find(UILoginUserID);

            if (user == null)
            {
                return(BadRequest());
            }
            if (!user.IsRootUser && !user.IsSiteAdmin && vendorProductType.EntryByUserID != user.ID)
            {
                return(BadRequest());
            }
            db.VendorProductTypes.Remove(vendorProductType);
            db.SaveChanges();

            return(Ok(vendorProductType));
        }
Exemple #2
0
        public IHttpActionResult PutVendorProductType(int id, VendorProductType vendorProductType)
        {
            if (!Global.CheckUserIDAndPasswordWithSiteID(db, vendorProductType.UILoginUserID, vendorProductType.UILoginPassword, vendorProductType.SiteID, "PutVendorProductType"))
            {
                return(BadRequest());
            }
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != vendorProductType.ID)
            {
                return(BadRequest());
            }

            VendorProductType vpt = db.VendorProductTypes.AsNoTracking().SingleOrDefault(p => p.ID == id);

            if (vpt == null)
            {
                return(NotFound());
            }
            if (vpt.SiteID != vendorProductType.SiteID)
            {
                return(BadRequest());
            }
            User user = db.Users.Find(vendorProductType.UILoginUserID);

            if (!user.IsRootUser && !user.IsSiteAdmin && vpt.EntryByUserID != user.ID)
            {
                return(BadRequest());
            }
            db.Entry(vendorProductType).State = EntityState.Modified;

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

            return(StatusCode(HttpStatusCode.NoContent));
        }
Exemple #3
0
        public IHttpActionResult PostVendorProductType(VendorProductType vendorProductType)
        {
            if (!Global.CheckUserIDAndPasswordWithSiteID(db, vendorProductType.UILoginUserID, vendorProductType.UILoginPassword, vendorProductType.SiteID, "PostVendorProductType"))
            {
                return(BadRequest());
            }
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.VendorProductTypes.Add(vendorProductType);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = vendorProductType.ID }, vendorProductType));
        }
        public IHttpActionResult DeleteReceived(int id, int UILoginUserID, string UILoginPassword, int SiteID)
        {
            if (!Global.CheckUserIDAndPasswordWithSiteID(db, UILoginUserID, UILoginPassword, SiteID, "DeleteReceiving"))
            {
                return(BadRequest());
            }
            Receiving receiving = db.Received.Find(id);

            if (receiving == null)
            {
                return(NotFound());
            }

            if (receiving.SiteID != SiteID)
            {
                return(BadRequest());
            }
            User user = db.Users.Find(UILoginUserID);

            if (user == null)
            {
                return(BadRequest());
            }
            if (!user.IsRootUser && !user.IsSiteAdmin && receiving.EntryByUserID != user.ID)
            {
                return(BadRequest());
            }
            VendorProductType vpt = db.VendorProductTypes.Find(receiving.VendorProductTypeID);

            if (vpt == null)
            {
                return(BadRequest());
            }
            Inventory i = db.Inventories.AsNoTracking().SingleOrDefault(u => u.ProductTypeID == vpt.ProductTypeID);

            if (i != null)
            {
                i.Quantity       -= receiving.Quantity;
                db.Entry(i).State = EntityState.Modified;
            }
            db.Received.Remove(receiving);
            db.SaveChanges();

            return(Ok(receiving));
        }
        public IHttpActionResult PostReceived(Receiving receiving)
        {
            if (!Global.CheckUserIDAndPasswordWithSiteID(db, receiving.UILoginUserID, receiving.UILoginPassword, receiving.SiteID, "PostReceiving"))
            {
                return(BadRequest());
            }
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            VendorProductType vpt = db.VendorProductTypes.Find(receiving.VendorProductTypeID);

            if (vpt == null)
            {
                return(BadRequest());
            }
            Inventory i = db.Inventories.AsNoTracking().SingleOrDefault(u => u.ProductTypeID == vpt.ProductTypeID);

            if (i != null)
            {
                i.Quantity       += receiving.Quantity;
                db.Entry(i).State = EntityState.Modified;
            }
            else
            {
                Inventory inew = new Inventory();
                inew.EntryByUserID       = receiving.UILoginUserID;
                inew.TransactionDateTime = DateTime.Now;
                inew.ProductTypeID       = vpt.ProductTypeID;
                inew.Quantity            = receiving.Quantity;
                inew.SiteID = receiving.SiteID;
                db.Inventories.Add(inew);
            }
            db.Received.Add(receiving);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = receiving.ID }, receiving));
        }
        public IHttpActionResult PutReceived(int id, Receiving receiving)
        {
            if (!Global.CheckUserIDAndPasswordWithSiteID(db, receiving.UILoginUserID, receiving.UILoginPassword, receiving.SiteID, "PutReceiving"))
            {
                return(BadRequest());
            }
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != receiving.ID)
            {
                return(BadRequest());
            }

            Receiving r = db.Received.AsNoTracking().SingleOrDefault(p => p.ID == id);

            if (r == null)
            {
                return(NotFound());
            }
            if (r.SiteID != receiving.SiteID)
            {
                return(BadRequest());
            }
            User user = db.Users.Find(receiving.UILoginUserID);

            if (!user.IsRootUser && !user.IsSiteAdmin && r.EntryByUserID != user.ID)
            {
                return(BadRequest());
            }
            VendorProductType vpt = db.VendorProductTypes.Find(receiving.VendorProductTypeID);

            if (vpt == null)
            {
                return(BadRequest());
            }
            Inventory i = db.Inventories.AsNoTracking().SingleOrDefault(u => u.ProductTypeID == vpt.ProductTypeID);

            if (i != null)
            {
                if (r.VendorProductTypeID == receiving.VendorProductTypeID && r.Quantity != receiving.Quantity)
                {
                    i.Quantity       += receiving.Quantity - r.Quantity;
                    db.Entry(i).State = EntityState.Modified;
                }
                else if (r.VendorProductTypeID != receiving.VendorProductTypeID)
                {
                    VendorProductType vpt2 = db.VendorProductTypes.Find(r.VendorProductTypeID);
                    Inventory         i2   = db.Inventories.AsNoTracking().SingleOrDefault(u => u.ProductTypeID == vpt2.ProductTypeID);
                    i2.Quantity       -= r.Quantity;
                    db.Entry(i2).State = EntityState.Modified;
                    i.Quantity        += receiving.Quantity;
                    db.Entry(i).State  = EntityState.Modified;
                }
            }
            else
            {
                Inventory inew = new Inventory();
                inew.EntryByUserID       = receiving.UILoginUserID;
                inew.TransactionDateTime = DateTime.Now;
                inew.ProductTypeID       = vpt.ProductTypeID;
                inew.Quantity            = receiving.Quantity;
                inew.SiteID = receiving.SiteID;
                db.Inventories.Add(inew);
            }
            db.Entry(receiving).State = EntityState.Modified;

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

            return(StatusCode(HttpStatusCode.NoContent));
        }