Ejemplo n.º 1
0
        // GET: Items/EditItem/1
        public ActionResult EditItem(int id)
        {
            if (!WebSecurity.IsAuthenticated)
            {
                ViewBag.CloseWindow = true;
                ViewBag.LogoutUser  = true;
                return(RedirectToAction("Logout", "Account"));
            }

            if (id < 1)
            {
                ViewBag.Message     = "Item not found!";
                ViewBag.CloseWindow = true;
                return(View());
            }

            gp_InventoryItems dbitem = db.gp_InventoryItems.Find(id);

            if (id < 1 || dbitem == null)
            {
                ViewBag.Message     = "Item not found!";
                ViewBag.CloseWindow = true;
                return(View());
            }
            gp_InventoryItems current_item = db.gp_InventoryItems.AsNoTracking().Where(d => d.ItemId == id).First();

            mdl_Item item = new mdl_Item();

            item.ItemId                = dbitem.ItemId;
            item.VendorItemNumber      = dbitem.VNDITNUM;
            item.VendorItemDescription = dbitem.VNDITDSC;

            return(PartialView(item));
        }
Ejemplo n.º 2
0
        public JsonNetResult AddItem(string collection)
        {
            //server response
            obj_ServerResponse response = new obj_ServerResponse();
            int affectedRows            = 0;

            JavaScriptSerializer jsonSerializer = new JavaScriptSerializer();
            mdl_Item             item           = jsonSerializer.Deserialize <mdl_Item>(collection);
            var context = new ValidationContext(item);
            var results = new List <ValidationResult>();

            if (Validator.TryValidateObject(item, context, results, true))
            {
                //validate existing vendor item number
                IQueryable <gp_InventoryItems> existingItems = db.gp_InventoryItems.Where(d => d.VNDITNUM == item.VendorItemNumber);
                if (existingItems.Count() > 0)
                {
                    response.MessageType = "warning";
                    response.Message     = "An item already has that vendor code, try again!";
                    response.ShowDialog  = true;

                    return(new JsonNetResult(response));
                }

                gp_InventoryItems dbItem = new gp_InventoryItems();
                dbItem.VNDITNUM    = item.VendorItemNumber;
                dbItem.VNDITDSC    = item.VendorItemDescription;
                dbItem.CustomItem  = true;
                dbItem.DateCreated = DateTime.Now;

                db.gp_InventoryItems.Add(dbItem);
                affectedRows = db.SaveChanges();

                if (affectedRows > 0)
                {
                    response.MessageType = "success";
                    response.Message     = "Item added successfully!";
                    response.ShowDialog  = true;
                }
                else
                {
                    response.MessageType = "danger";
                    response.Message     = "There was a problem saving this item!";
                    response.ShowDialog  = true;
                }
            }
            else
            {
                response.Errors = results.Select(d => new KeyValuePair <string, string>(d.MemberNames.First().ToString(), d.ErrorMessage));
            }

            return(new JsonNetResult(response));
        }
Ejemplo n.º 3
0
        public JsonNetResult EditItem(string collection)
        {
            //server response
            obj_ServerResponse response = new obj_ServerResponse();
            int affectedRows            = 0;

            JavaScriptSerializer jsonSerializer = new JavaScriptSerializer();
            mdl_Item             item           = jsonSerializer.Deserialize <mdl_Item>(collection);
            var context = new ValidationContext(item);
            var results = new List <ValidationResult>();

            if (Validator.TryValidateObject(item, context, results, true))
            {
                gp_InventoryItems dbItem = db.gp_InventoryItems.Find(item.ItemId);
                if (dbItem == null)
                {
                    //item not found
                    response.MessageType = "warning";
                    response.Message     = "Item not found!";
                    response.ShowDialog  = true;
                }

                //validate existing vendor item number
                IQueryable <gp_InventoryItems> existingItems = db.gp_InventoryItems.Where(d => d.VNDITNUM == item.VendorItemNumber && d.ItemId != item.ItemId);
                if (existingItems.Count() > 0)
                {
                    response.MessageType = "warning";
                    response.Message     = "An item already has that vendor code, try again!";
                    response.ShowDialog  = true;

                    return(new JsonNetResult(response));
                }

                //only edit custom, unsynced items
                if (dbItem.CustomItem != true || dbItem.Synced == true)
                {
                    //item not found
                    response.MessageType = "warning";
                    response.Message     = "Can't edit this item!";
                    response.ShowDialog  = true;
                    return(new JsonNetResult(response));
                }


                gp_InventoryItems currentItem = db.gp_InventoryItems.AsNoTracking().Where(d => d.ItemId == item.ItemId).First();

                dbItem.VNDITNUM = item.VendorItemNumber;
                dbItem.VNDITDSC = item.VendorItemDescription;

                db.Entry(dbItem).State = EntityState.Modified;
                affectedRows           = db.SaveChanges();

                if (affectedRows > 0)
                {
                    response.MessageType = "success";
                    response.Message     = "Item updated successfully!";
                    response.ShowDialog  = true;
                }
                else
                {
                    response.MessageType = "warning";
                    response.Message     = "There was a problem updating this item!";
                    response.ShowDialog  = true;
                }
            }
            else
            {
                response.Errors = results.Select(d => new KeyValuePair <string, string>(d.MemberNames.First().ToString(), d.ErrorMessage));
            }

            return(new JsonNetResult(response));
        }