Ejemplo n.º 1
0
        public ActionResult Edit(DataGroup newDataGroup)
        {
            string        redirectActionName = null;
            string        editedEntityName   = null;
            LogRecordType recordTypeForLog   = LogRecordType.UserChanges;
            string        logAddEditItemName = null;

            string error = getModelError(newDataGroup);

            if (!string.IsNullOrWhiteSpace(error))
            {
                ViewBag.Mode      = CrudMode.Edit;
                ViewBag.Title     = getTitleForPage(newDataGroup.RelatedGroup, CrudMode.Edit);
                TempData["Error"] = error;
                return(View("AddEditGroup", newDataGroup));
            }

            using (zcrlDbContext = new DAL.ZcrlContext())
            {
                var requiredGroup = (from g in zcrlDbContext.PortalDataGroups
                                     where (g.Id == newDataGroup.Id)
                                     select g).FirstOrDefault();

                if (requiredGroup == null)
                {
                    return(RedirectToAction("NotFound", "Error"));
                }

                if (!checkUserAccess(requiredGroup.RelatedGroup, out redirectActionName, out editedEntityName))
                {
                    return(RedirectToAction("AccessError", "Error"));
                }

                if (requiredGroup.Name != newDataGroup.Name.Trim())
                {
                    switch (newDataGroup.RelatedGroup)
                    {
                    case DataGroupType.UserDepartment:
                    {
                        recordTypeForLog   = LogRecordType.UserChanges;
                        logAddEditItemName = "группи користувачів";
                        break;
                    }

                    case DataGroupType.TenderGroup:
                    {
                        recordTypeForLog   = LogRecordType.TendersAddEdit;
                        logAddEditItemName = "тендерної категорії";
                        break;
                    }

                    case DataGroupType.ArticleGroup:
                    {
                        recordTypeForLog   = LogRecordType.ArticlesAddEdit;
                        logAddEditItemName = "категорії статей";
                        break;
                    }
                    }

                    zcrlDbContext.LogJournal.Add(new LogRecord()
                    {
                        СreatedDate = DateTime.Now,
                        RecordType  = recordTypeForLog,
                        Content     = string.Format("Користувач <b>{0} {1}.{2}.</b> змінив назву {3} <b>{4}</b> на <b>{5}</b>",
                                                    (string)Profile["LastName"], ((string)Profile["FirstName"]).First(), ((string)Profile["MiddleName"]).First(),
                                                    logAddEditItemName, requiredGroup.Name, newDataGroup.Name)
                    });
                }

                requiredGroup.Name = newDataGroup.Name.Trim();
                zcrlDbContext.SaveChanges();

                TempData["SuccessMessage"] = editedEntityName + " успішно змінена!";
                return(RedirectToAction(redirectActionName));
            }
        }
Ejemplo n.º 2
0
        public ActionResult Delete(int?id)
        {
            if (!id.HasValue)
            {
                return(RedirectToAction("NotFound", "Error"));
            }

            string        redirectActionName = null;
            string        editedEntityName   = null;
            LogRecordType recordTypeForLog   = LogRecordType.UserChanges;
            string        logAddEditItemName = null;

            using (zcrlDbContext = new DAL.ZcrlContext())
            {
                var requiredGroup = (from g in zcrlDbContext.PortalDataGroups
                                     where (g.Id == id.Value)
                                     select g).FirstOrDefault();

                if (requiredGroup == null)
                {
                    return(RedirectToAction("NotFound", "Error"));
                }

                if (!checkUserAccess(requiredGroup.RelatedGroup, out redirectActionName, out editedEntityName))
                {
                    return(RedirectToAction("AccessError", "Error"));
                }

                switch (requiredGroup.RelatedGroup)
                {
                case DataGroupType.UserDepartment:
                {
                    recordTypeForLog   = LogRecordType.UserChanges;
                    logAddEditItemName = "группу користувачів";
                    break;
                }

                case DataGroupType.TenderGroup:
                {
                    recordTypeForLog   = LogRecordType.TendersAddEdit;
                    logAddEditItemName = "тендерну категорію";
                    break;
                }

                case DataGroupType.ArticleGroup:
                {
                    recordTypeForLog   = LogRecordType.ArticlesAddEdit;
                    logAddEditItemName = "категорію статей";
                    break;
                }
                }
                zcrlDbContext.LogJournal.Add(new LogRecord()
                {
                    СreatedDate = DateTime.Now,
                    RecordType  = recordTypeForLog,
                    Content     = string.Format("Користувач <b>{0} {1}.{2}.</b> видалив {3} <b>{4}</b>",
                                                (string)Profile["LastName"], ((string)Profile["FirstName"]).First(), ((string)Profile["MiddleName"]).First(),
                                                logAddEditItemName, requiredGroup.Name)
                });

                zcrlDbContext.PortalDataGroups.Remove(requiredGroup);
                zcrlDbContext.SaveChanges();

                TempData["SuccessMessage"] = editedEntityName + " успішно видалена!";
                return(RedirectToAction(redirectActionName));
            }
        }
Ejemplo n.º 3
0
        public ActionResult Add(DataGroup newGroup)
        {
            string        redirectActionName = null;
            string        editedEntityName   = null;
            LogRecordType recordTypeForLog   = LogRecordType.UserChanges;
            string        logAddEditItemName = null;

            string error = getModelError(newGroup);

            if (!string.IsNullOrWhiteSpace(error))
            {
                ViewBag.Mode      = CrudMode.Add;
                ViewBag.Title     = getTitleForPage(newGroup.RelatedGroup, CrudMode.Add);
                TempData["Error"] = error;
                return(View("AddEditGroup", newGroup));
            }

            using (zcrlDbContext = new DAL.ZcrlContext())
            {
                if (!checkUserAccess(newGroup.RelatedGroup, out redirectActionName, out editedEntityName))
                {
                    return(RedirectToAction("AccessError", "Error"));
                }

                newGroup.Name = newGroup.Name.Trim();
                zcrlDbContext.PortalDataGroups.Add(newGroup);

                switch (newGroup.RelatedGroup)
                {
                case DataGroupType.UserDepartment:
                {
                    recordTypeForLog   = LogRecordType.UserChanges;
                    logAddEditItemName = "группу користувачів";
                    break;
                }

                case DataGroupType.TenderGroup:
                {
                    recordTypeForLog   = LogRecordType.TendersAddEdit;
                    logAddEditItemName = "тендерну категорію";
                    break;
                }

                case DataGroupType.ArticleGroup:
                {
                    recordTypeForLog   = LogRecordType.ArticlesAddEdit;
                    logAddEditItemName = "категорію статей";
                    break;
                }
                }

                zcrlDbContext.LogJournal.Add(new LogRecord()
                {
                    СreatedDate = DateTime.Now,
                    RecordType  = recordTypeForLog,
                    Content     = string.Format("Користувач <b>{0} {1}.{2}.</b> додав нову {3} <b>{4}</b>",
                                                (string)Profile["LastName"], ((string)Profile["FirstName"]).First(), ((string)Profile["MiddleName"]).First(),
                                                logAddEditItemName, newGroup.Name)
                });

                zcrlDbContext.SaveChanges();

                TempData["SuccessMessage"] = editedEntityName + " успішно додана!";
                return(RedirectToAction(redirectActionName));
            }
        }