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