예제 #1
0
        public IActionResult Save(int id, EditModel model, bool apply = false)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    model.Item.Values = model.Values.Where(v => v.Reviewed || v.Value != null).ToList();
                    context.Update(model.Item);
                    context.SaveChanges();
                    if (!apply)
                    {
                        return(Back(false));
                    }
                    else
                    {
                        ModelState.Clear();
                        model.HasChanges = false;
                    }
                }
                catch (Exception ex)
                {
                    ModelState.AddModelError("", "An unexpected error occured.");
                    ViewBag.Exception = ex;
                }
            }

            Response.Headers.Add("X-Sircl-History-Replace", Url.Action("Edit", new { id = model.Item.Id }));
            return(EditView(model));
        }
예제 #2
0
        public IActionResult Save(int id, EditModel model)
        {
            // Validate cultures:
            if (model.Item.Cultures != null)
            {
                var cultures = model.Item.Cultures.Split(',').Select(s => s.Trim()).Where(s => s.Length > 0).ToArray();
                if (cultures.Distinct().Count() != cultures.Count())
                {
                    ModelState.AddModelError("Item.Cultures", "Value should not contain duplicates!");
                }
                else if (cultures.Length == 0)
                {
                    ModelState.AddModelError("Item.Cultures", "Value is required!");
                }
            }
            else
            {
                ModelState.AddModelError("Item.Cultures", "Value is required!");
            }

            // Validate modelstate and save:
            if (ModelState.IsValid)
            {
                try
                {
                    context.Update(model.Item);
                    context.SaveChanges();
                    return(this.Close(true));
                }
                catch (Exception ex)
                {
                    ModelState.AddModelError("", "An unexpected error occured.");
                    ViewBag.Exception = ex;
                }
            }

            return(EditView(model));
        }