Example #1
0
        private string getModelError(DataGroup dgt)
        {
            string error = null;

            if (string.IsNullOrWhiteSpace(dgt.Name))
            {
                error = "Вы не вказали назву";
                return(error);
            }

            string groupName = dgt.Name.Trim();

            using (zcrlDbContext = new DAL.ZcrlContext())
            {
                var existGroup = (from g in zcrlDbContext.PortalDataGroups
                                  where ((g.RelatedGroup == dgt.RelatedGroup) && (g.Name == dgt.Name))
                                  select g).FirstOrDefault();
                if (existGroup != null)
                {
                    error = "Така назва вже існує";
                    return(error);
                }
            }

            return(error);
        }
Example #2
0
        public ActionResult Edit(int?id)
        {
            string redirectActionName = null;
            string editedEntityName   = null;

            using (zcrlDbContext = new DAL.ZcrlContext())
            {
                if (!id.HasValue)
                {
                    return(RedirectToAction("NotFound", "Error"));
                }

                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"));
                }

                ViewBag.Mode  = CrudMode.Edit;
                ViewBag.Title = getTitleForPage(requiredGroup.RelatedGroup, CrudMode.Edit);
                return(View("AddEditGroup", requiredGroup));
            }
        }
Example #3
0
        public ActionResult Edit(int?id)
        {
            using (zcrlDbContext = new DAL.ZcrlContext())
            {
                if (!id.HasValue)
                {
                    return(RedirectToAction("NotFound", "Error"));
                }

                var requiredNewsItem = (from n in zcrlDbContext.PortalPublications.Include("Themes")
                                        where (n.Id == id.Value) select n).FirstOrDefault();

                if (requiredNewsItem != null)
                {
                    ViewBag.Mode = CrudMode.Edit;

                    if (requiredNewsItem.InformationType == PublicationType.Article)
                    {
                        ViewBag.Themes = (from t in zcrlDbContext.PortalDataGroups
                                          where (t.RelatedGroup == DataGroupType.ArticleGroup)
                                          select t).ToList();
                    }

                    switch (requiredNewsItem.InformationType)
                    {
                    case PublicationType.News:
                    {
                        if (User.IsInRole("Doctors"))
                        {
                            return(RedirectToAction("AccessError", "Error"));
                        }
                        ViewBag.Title = "Редагування новини";
                        break;
                    }

                    case PublicationType.Article:
                    {
                        if (User.IsInRole("Doctors") && (requiredNewsItem.UserProfileId != (int)Profile["Id"]))
                        {
                            return(RedirectToAction("AccessError", "Error"));
                        }
                        ViewBag.Title = "Редагування статті";
                        break;
                    }
                    }

                    return(View("AddEditItem", requiredNewsItem));
                }
                else
                {
                    return(RedirectToAction("NotFound", "Error"));
                }
            }
        }
Example #4
0
        private List <DataGroup> getGroupsList(DataGroupType groupType)
        {
            using (zcrlDbContext = new DAL.ZcrlContext())
            {
                List <DataGroup> groupsList = (from tg in zcrlDbContext.PortalDataGroups
                                               where (tg.RelatedGroup == groupType)
                                               select tg).ToList();

                return(groupsList);
            }
        }
Example #5
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));
            }
        }
Example #6
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));
            }
        }
Example #7
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));
            }
        }