Exemple #1
0
        public ActionResult DeleteDatasetElement(DatasetElementDeleteModel model)
        {
            ViewBag.MenuItem = CurrentMenuItem;

            var cancelRedirectUrl = (TempData["cancelRedirectUrl"] ?? string.Empty).ToString();

            ViewBag.cancelRedirectUrl = cancelRedirectUrl;

            ArrayList errors = new ArrayList();

            if (ModelState.IsValid)
            {
                var element = _unitOfWork.Repository <DatasetElement>().Queryable().SingleOrDefault(ds => ds.Id == model.DatasetElementId);

                try
                {
                    ArrayList delete = new ArrayList();
                    delete.AddRange(element.DatasetRules.ToArray());
                    foreach (DatasetRule rule in delete)
                    {
                        _unitOfWork.Repository <DatasetRule>().Delete(rule);
                    }
                    _unitOfWork.Repository <Field>().Delete(element.Field);
                    _unitOfWork.Repository <DatasetElement>().Delete(element);
                    _unitOfWork.Complete();
                }
                catch (DbUpdateException ex)
                {
                    errors.Add("Unable to delete element. " + ex.Message);
                }
                if (errors.Count == 0)
                {
                    HttpCookie cookie = new HttpCookie("PopUpMessage");
                    cookie.Value = "Dataset element deleted successfully";
                    Response.Cookies.Add(cookie);

                    return(Redirect("/Admin/ManageDatasetElement.aspx"));
                }
                else
                {
                    AddErrors(errors);
                }
            }

            return(View(model));
        }
Exemple #2
0
        public ActionResult DeleteDatasetElement(long id, string cancelRedirectUrl)
        {
            ViewBag.MenuItem = CurrentMenuItem;

            TempData["cancelRedirectUrl"] = cancelRedirectUrl;
            ViewBag.CancelRedirectUrl     = cancelRedirectUrl;

            var element     = _unitOfWork.Repository <DatasetElement>().Queryable().SingleOrDefault(de => de.Id == id);
            var allowDelete = (_infrastuctureService.HasAssociatedData(element) == false);

            DatasetElementDeleteModel model = new DatasetElementDeleteModel()
            {
                DatasetElementId = element.Id, DatasetElementName = element.ElementName, AllowDelete = allowDelete
            };

            ViewData.Model = model;

            ViewBag.Id           = id;
            ViewBag.AlertMessage = allowDelete == false ? "Unable to delete this record as it has associated referential data...." : "You are about to delete this record. This action is not reversible....";

            return(View());
        }