Esempio n. 1
0
        public IActionResult Edit(Discount model)
        {
            if (ValidateDiscount(model) || model.DiscountId is 0)
            {
                return(BadRequest(model));
            }

            var cur   = _db.Discounts.First(d => d.DiscountId == model.DiscountId);
            var props = cur.GetType().GetProperties();
            var toUpd = new Discount();

            foreach (var prop in props)
            {
                var curVal = prop.GetValue(cur);
                if (prop.Name is "DiscountId" ||
                    prop.Name is "Code")
                {
                    prop.SetValue(toUpd, curVal);
                    continue;
                }

                var modVal = prop.GetValue(model);
                prop.SetValue(toUpd,
                              modVal != curVal ? modVal : curVal);
            }

            _db.EditDiscount(toUpd);
            return(Redirect("/Discount/Index"));
        }