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)); }
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)); }
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)); }