public ActionResult Edit(string id) { ViewBag.Current = "Users"; if (string.IsNullOrEmpty(id)) { return(RedirectToAction("BadRequestError", "ErrorController")); } ApplicationUser user = UserManager.FindById(id); if (user == null) { return(RedirectToAction("HttpNotFoundError", "ErrorController")); } if (CheckDelete.CheckUserEdit(id) == false) { return(RedirectToAction("Index", new { Id = "OperationError" })); } EditProfileViewModel EProfile = new EditProfileViewModel() { Email = user.Email, FullName = user.FullName, Role = user.RoleName, Id = user.Id, UserName = user.UserName, Gender = user.Gender, JobTitleId = user.JobTitleId == null ? 0 : user.JobTitleId.Value, DepartmentID = user.DepartmentId == null ? 0 : user.DepartmentId.Value }; ViewBag.Role = new SelectList(db.Roles.ToList(), "Name", "Name", EProfile.Role); List <int> SelectedGroups = new List <int>(); SelectedGroups = db.UsersGroups.Where(a => a.UserId.Equals(id)).Select(a => a.GroupId).ToList(); List <SelectListItem> ListSl = new List <SelectListItem>(); foreach (var G in db.Groups.ToList()) { var sl = new SelectListItem() { Text = G.Name, Value = G.Id.ToString(), Selected = SelectedGroups.DefaultIfEmpty().Contains(G.Id) ? true : false }; ListSl.Add(sl); } ViewBag.Groups = ListSl; ViewBag.DepartmentID = new SelectList(DepartmentListDisplay.CreateDepartmentListDisplay(), "Id", "Name", EProfile.DepartmentID); ViewBag.JobTitleId = new SelectList(db.JobTitles.ToList(), "Id", "Name", EProfile.JobTitleId); return(View(EProfile)); }
public ActionResult Confirm(int?id) { ViewBag.Current = "Department"; Department department = db.Departments.Find(id); string DepartmentName = DepartmentListDisplay.CreateDepartmentDisplay(department.Id); db.Departments.Remove(department); db.SaveChanges(); string NotificationTime = DateTime.Now.ToString("dd/MM/yyyy-HH:mm:ss"); string UserId = User.Identity.GetUserId(); Notification notification = null; List <ApplicationUser> Users = db.Users.Where(a => !a.Id.Equals(UserId)).ToList(); foreach (ApplicationUser user in Users) { notification = new Notification() { CreatedAt = NotificationTime, Active = false, UserId = user.Id, Message = "تم حذف القسم : " + DepartmentName, NotificationOwnerId = UserId }; db.Notifications.Add(notification); } db.SaveChanges(); return(RedirectToAction("Index", new { Id = "DeleteSuccess" })); }
public ActionResult Edit([Bind(Include = "Id,Name,CreatedAt,CreatedById,ParentId")] Department department) { ViewBag.Current = "Department"; if (Convert.ToInt32(Session["Parent_Id"]) != 0) { int Pid = Convert.ToInt32(Session["Parent_Id"]); ////Get Childerns: Department Childs = db.Departments.Include(a => a.ChildDepartment).SingleOrDefault(a => a.Id == Pid); if (Childs.ChildDepartment.Where(a => a.Id != department.Id).Any(a => a.Name.Equals(department.Name, StringComparison.OrdinalIgnoreCase)) == true) { return(RedirectToAction("Index", new { Id = "EditError" })); } } else { if (db.Departments.Where(a => a.Id != department.Id).Any(a => a.Name.Equals(department.Name, StringComparison.OrdinalIgnoreCase)) == true) { return(RedirectToAction("Index", new { Id = "EditError" })); } } if (ModelState.IsValid) { string OldName = DepartmentListDisplay.CreateDepartmentDisplay(department.Id); department.UpdatedAt = DateTime.Now.ToString("dd/MM/yyyy-HH:mm:ss"); department.UpdatedById = User.Identity.GetUserId(); db.Entry(department).State = EntityState.Modified; db.SaveChanges(); string Newname = DepartmentListDisplay.CreateDepartmentDisplay(department.Id); string NotificationTime = DateTime.Now.ToString("dd/MM/yyyy-HH:mm:ss"); string UserId = User.Identity.GetUserId(); Notification notification = null; List <ApplicationUser> Users = db.Users.Where(a => !a.Id.Equals(UserId)).ToList(); foreach (ApplicationUser user in Users) { notification = new Notification() { CreatedAt = NotificationTime, Active = false, UserId = user.Id, Message = "تم تعديل اسم القسم من: " + OldName + " إلى:" + Newname, NotificationOwnerId = UserId }; db.Notifications.Add(notification); } db.SaveChanges(); return(RedirectToAction("Index", new { Id = "EditSuccess" })); } return(RedirectToAction("Index")); }
public ActionResult Register() { //Role ViewBag.Current = "Users"; ViewBag.Groups = new SelectList(db.Groups.ToList(), "Id", "Name"); ViewBag.Role = new SelectList(db.Roles.Where(a => !a.Name.Equals("Master")).ToList(), "Name", "Name"); ViewBag.DepartmentID = new SelectList(DepartmentListDisplay.CreateDepartmentListDisplay(), "Id", "Name"); ViewBag.JobTitleId = new SelectList(db.JobTitles.ToList(), "Id", "Name"); return(View()); }
public ActionResult Create(int?Id) { ViewBag.Current = "Document"; if (Id == null) { return(RedirectToAction("BadRequestError", "ErrorController")); } Document document = db.Documents.Find(Id); if (document == null) { return(RedirectToAction("HttpNotFoundError", "ErrorController")); } Session["Document_Id"] = Id; List <int> Departments_Document = db.DocumentDepartments.Where(a => a.DocumentId == Id.Value).Select(a => a.DepartmentId).Distinct().ToList(); //All Departments Expect current : List <int> DepartmentsId = db.Departments.Select(a => a.Id).Except(Departments_Document).ToList(); ViewBag.DocumentIdValue = Id.Value; IEnumerable <DepartmentListDisplay> Departments = DepartmentListDisplay.CreateDepartmentListDisplay().Where(a => DepartmentsId.Contains(a.Id)).ToList(); return(View(Departments)); }
public ActionResult Create(int?Id) { ViewBag.Current = "Forms"; if (Id == null) { return(RedirectToAction("BadRequestError", "ErrorController")); } Form form = db.Forms.Find(Id); if (form == null) { return(RedirectToAction("HttpNotFoundError", "ErrorController")); } Session["Form_Id"] = Id; int Form_Id = Convert.ToInt32(Session["Form_Id"]); List <int> Departments_Form = db.FormDepartments.Where(a => a.FormId == Form_Id).Select(a => a.DepartmentId).Distinct().ToList(); //All Departments Expect current : List <int> DepartmentsId = db.Departments.Select(a => a.Id).Except(Departments_Form).ToList(); ViewBag.FormIdValue = Form_Id; IEnumerable <DepartmentListDisplay> Departments = DepartmentListDisplay.CreateDepartmentListDisplay().Where(a => DepartmentsId.Contains(a.Id)).ToList(); return(View(Departments)); }
public async Task <ActionResult> Register(RegisterViewModel model, IEnumerable <string> Groups) { bool x = true; ViewBag.Current = "Users"; ViewBag.DepartmentID = new SelectList(DepartmentListDisplay.CreateDepartmentListDisplay(), "Id", "Name"); ViewBag.JobTitleId = new SelectList(db.JobTitles.ToList(), "Id", "Name"); ViewBag.Role = new SelectList(db.Roles.Where(a => !a.Name.Equals("Master")).ToList(), "Name", "Name", model.Role); ViewBag.Groups = new SelectList(db.Groups.ToList(), "Id", "Name"); if (ModelState.IsValid) { if (db.Users.Any(a => a.UserName.Equals(model.UserName, StringComparison.OrdinalIgnoreCase))) { ModelState.AddModelError("UserName", "اسم المستخدم موجود مسبقاً يرجى اعادة الإدخال"); x = false; } if (CheckJobTitleDepartment.CheckJobTitleDepartmentCreateUser(model.DepartmentID, model.JobTitleId) == false) { ModelState.AddModelError("JobTitleId", "عددالأعضاء للقسم بالنسبة للمسمى الوظيفي وصل للحد الأعظمي"); x = false; } if (!string.IsNullOrEmpty(model.Email)) { if (db.Users.Any(a => a.Email.Equals(model.Email, StringComparison.OrdinalIgnoreCase))) { ModelState.AddModelError("Email", "لا يمكن أن يكون البريد الإلكتروني مكرر، يرجى إعادةالإدخال"); x = false; } } if (x == false) { return(View(model)); } var user = new ApplicationUser { UserName = model.UserName, Email = model.Email, FullName = model.FullName, Gender = model.Gender, DepartmentId = model.DepartmentID, JobTitleId = model.JobTitleId, CreatedAt = DateTime.Now.ToString("dd/MM/yyyy-HH:mm:ss"), CreatedById = this.User.Identity.GetUserId(), RoleName = model.Role }; var result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { await UserManager.AddToRoleAsync(user.Id, model.Role); //Add User To Groups if (Groups != null) { string UserId = User.Identity.GetUserId(); Notification notification = null; string NotificationTime = string.Empty; string GroupName = string.Empty; foreach (string User_Group_Id in Groups) { var UserGroup = new UserGroup() { UserId = user.Id, GroupId = Convert.ToInt32(User_Group_Id), CreatedAt = DateTime.Now.ToString("dd/MM/yyyy-HH:mm:ss"), CreatedById = this.User.Identity.GetUserId() }; NotificationTime = DateTime.Now.ToString("dd/MM/yyyy-HH:mm:ss"); db.UsersGroups.Add(UserGroup); GroupName = db.Groups.Find(UserGroup.GroupId).Name; notification = new Notification() { CreatedAt = NotificationTime, Active = false, UserId = user.Id, Message = "تم إضافتك إلى المجموعة :" + GroupName , NotificationOwnerId = UserId }; db.Notifications.Add(notification); } } db.SaveChanges(); return(RedirectToAction("Index", new { @Id = "CreateSuccess" })); } // AddErrors(result); } return(View(model)); }
public ActionResult Edit(EditProfileViewModel EProfile, IEnumerable <string> Groups) { ViewBag.Current = "Users"; string OldUserRole = db.Users.Find(EProfile.Id).RoleName; ViewBag.Role = new SelectList(db.Roles.ToList(), "Id", "Name", EProfile.Role); ViewBag.DepartmentID = new SelectList(DepartmentListDisplay.CreateDepartmentListDisplay(), "Id", "Name", EProfile.DepartmentID); ViewBag.JobTitleId = new SelectList(db.JobTitles.ToList(), "Id", "Name", EProfile.JobTitleId); List <int> SelectedGroups = new List <int>(); SelectedGroups = db.UsersGroups.Where(a => a.UserId.Equals(EProfile.Id)).Select(a => a.GroupId).ToList(); SelectListItem sl; List <SelectListItem> ListSl = new List <SelectListItem>(); foreach (var G in db.Groups.ToList()) { sl = new SelectListItem() { Text = G.Name, Value = G.Id.ToString(), Selected = SelectedGroups.DefaultIfEmpty().Contains(G.Id) ? true : false }; ListSl.Add(sl); } ViewBag.Groups = ListSl; bool x = true; ApplicationUser user = null; if (ModelState.IsValid) { user = UserManager.FindById(EProfile.Id); if (user == null) { return(RedirectToAction("HttpNotFoundError", "ErrorController")); } //Delete All Users Permissions: if (!user.RoleName.Equals(EProfile.Role)) { List <PermissionsUser> User_Permissions = db.PermissionUsers.Where(a => a.UserId.Equals(user.Id)).ToList(); foreach (PermissionsUser UP in User_Permissions) { db.PermissionUsers.Remove(UP); } db.SaveChanges(); } if (!EProfile.Role.Equals("Master")) { if (CheckJobTitleDepartment.CheckJobTitleDepartmentCreateUser(EProfile.DepartmentID, EProfile.JobTitleId, EProfile.Id) == false) { ModelState.AddModelError("JobTitleId", "عددالأعضاء للقسم بالنسبة للمسمى الوظيفي وصل للحد الأعظمي"); x = false; } } if (db.Users.Where(a => !a.Id.Equals(EProfile.Id)).Any(a => a.UserName.Equals(EProfile.UserName, StringComparison.OrdinalIgnoreCase))) { ModelState.AddModelError("UserName", "لا يمكن أن يكون اسم امستخدم مكرر، يرجى إعادةالإدخال"); x = false; } if (!string.IsNullOrEmpty(EProfile.Email)) { if (db.Users.Where(a => !a.Id.Equals(EProfile.Id)).Any(a => a.Email.Equals(EProfile.Email, StringComparison.OrdinalIgnoreCase))) { ModelState.AddModelError("Email", "لا يمكن أن يكون البريد الإلكتروني مكرر، يرجى إعادةالإدخال"); x = false; } } if (x == false) { return(View(EProfile)); } user.FullName = EProfile.FullName; user.Email = EProfile.Email; user.Gender = EProfile.Gender; user.RoleName = EProfile.Role; user.UserName = EProfile.UserName; var HashPassword = UserManager.PasswordHasher.HashPassword(EProfile.Password); user.PasswordHash = HashPassword; user.UpdatedAt = DateTime.Now.ToString("dd/MM/yyyy-HH:mm:ss"); user.UpdatedByID = this.User.Identity.GetUserId(); db.Entry(user).State = System.Data.Entity.EntityState.Modified; //Add User To Groups // string UserId = User.Identity.GetUserId(); Notification notification = null; string NotificationTime = string.Empty; string GroupName = string.Empty; NotificationTime = DateTime.Now.ToString("dd/MM/yyyy-HH:mm:ss"); notification = new Notification() { CreatedAt = NotificationTime, Active = false, UserId = user.Id, Message = "تم تحديث معلوماتك الشخصية", NotificationOwnerId = UserId }; db.Notifications.Add(notification); List <string> SelectedUserGroups = new List <string>(); SelectedUserGroups = db.UsersGroups.Where(a => a.UserId.Equals(EProfile.Id)).Select(a => a.GroupId.ToString()).ToList(); if (Groups != null) { UserGroup UserGroup = null; List <string> ExpectGroups = new List <string>(); ExpectGroups = SelectedUserGroups.Except(Groups).ToList(); foreach (string User_Group_Id in Groups) { NotificationTime = DateTime.Now.ToString("dd/MM/yyyy-HH:mm:ss"); if (SelectedUserGroups.Contains(User_Group_Id)) { continue; } UserGroup = new UserGroup() { UserId = user.Id, GroupId = Convert.ToInt32(User_Group_Id), CreatedAt = DateTime.Now.ToString("dd/MM/yyyy-HH:mm:ss"), CreatedById = this.User.Identity.GetUserId() }; db.UsersGroups.Add(UserGroup); GroupName = db.Groups.Find(UserGroup.GroupId).Name; notification = new Notification() { CreatedAt = NotificationTime, Active = false, UserId = user.Id, Message = "تم إضافتك إلى المجموعة :" + GroupName , NotificationOwnerId = UserId }; db.Notifications.Add(notification); } UserGroup deleteUserGroup; foreach (string s in ExpectGroups) { deleteUserGroup = db.UsersGroups.Where(a => a.UserId.Equals(EProfile.Id) && a.GroupId.ToString().Equals(s)).SingleOrDefault(); db.UsersGroups.Remove(deleteUserGroup); GroupName = db.Groups.Find(deleteUserGroup.GroupId).Name; notification = new Notification() { CreatedAt = NotificationTime, Active = false, UserId = user.Id, Message = "تم إزالتك من المجموعة :" + GroupName , NotificationOwnerId = UserId }; db.Notifications.Add(notification); } db.SaveChanges(); } else { foreach (UserGroup ug in db.UsersGroups.Where(a => a.UserId.Equals(EProfile.Id))) { db.UsersGroups.Remove(ug); GroupName = db.Groups.Find(ug.GroupId).Name; notification = new Notification() { CreatedAt = NotificationTime, Active = false, UserId = user.Id, Message = "تم إزالتك من المجموعة :" + GroupName , NotificationOwnerId = UserId }; db.Notifications.Add(notification); } db.SaveChanges(); } db.SaveChanges(); return(RedirectToAction("Index", new { @Id = "EditSuccess" })); } return(View(EProfile)); }
public ActionResult Index() { Informations info = new Informations(); string CurrentUserId = this.User.Identity.GetUserId(); //Information For master: if (db.Users.Find(CurrentUserId).RoleName.Equals("Master")) { info.IsMasterRole = true; //Departments: info.MainDepartmentCount = db.Departments.Where(a => a.ParentId == null).Count(); info.AllDepartmentsCount = db.Departments.Count(); info.LastDateDepartmentCreate = db.Departments.Count() != 0 ? db.Departments.OrderByDescending(a => a.CreatedAt).FirstOrDefault().CreatedAt : ""; info.LastDateDepartmentUpdate = db.Departments.Count(a => a.UpdatedAt != null) != 0 ? db.Departments.OrderByDescending(a => a.UpdatedAt).FirstOrDefault().UpdatedAt : ""; //Groups: info.AllGroupsCount = db.Groups.Count(); info.LastGroupCreate = db.Groups.Count() != 0 ? db.Groups.OrderByDescending(a => a.CreatedAt).FirstOrDefault().CreatedAt : ""; info.TotalUserInGroup = db.UsersGroups.Select(a => a.UserId).Distinct().Count(); info.LastGroupUpdate = db.Groups.Count(a => a.UpdatedAt != null) != 0 ? db.Departments.OrderByDescending(a => a.UpdatedAt).FirstOrDefault().UpdatedAt : ""; int HightGroupUsersC = db.UsersGroups.Count() == 0 ? 0 : db.UsersGroups.Include(a => a.Group).GroupBy(a => a.Group.Name).Select(a => new { Key = a.Key, count = a.Count() }).OrderByDescending(a => a.count).FirstOrDefault().count; ; if (HightGroupUsersC != 0) { List <string> GName = new List <string>(); GName = db.UsersGroups.Include(a => a.Group).GroupBy(a => a.Group.Name).Select(a => new { Key = a.Key, count = a.Count() }).Where(a => a.count == HightGroupUsersC).Select(a => a.Key).ToList(); info.HightGroupUsers = GName.Aggregate((a, b) => a + "," + b); } else { info.HightGroupUsers = ""; } //Forms: info.TotalFormsCount = db.Forms.Count(); info.LastFormCreate = db.Forms.Count() != 0 ? db.Forms.OrderByDescending(a => a.CreatedAt).FirstOrDefault().CreatedAt : ""; info.LastFormUpdate = db.Forms.Count(a => a.UpdatedAt != null) != 0 ? db.Departments.OrderByDescending(a => a.UpdatedAt).FirstOrDefault().UpdatedAt : ""; info.HightFormUsing = ""; int HightFormUsingC = db.Documents.Count() == 0 ? 0 : db.Documents.Include(a => a.Form).GroupBy(a => a.Form.Name) .Select(a => new { key = a.Key, count = a.Count() }).OrderByDescending(a => a.count).FirstOrDefault().count; if (HightFormUsingC != 0) { List <string> FName = new List <string>(); FName = db.Documents.Include(a => a.Form).GroupBy(a => a.Form.Name) .Select(a => new { key = a.Key, count = a.Count() }).Where(a => a.count == HightFormUsingC).Select(a => a.key).ToList(); info.HightFormUsing = FName.Aggregate((a, b) => a + "," + b); } else { info.HightFormUsing = ""; } //Users: info.TotalUserCount = db.Users.Count(); info.LastUserCreate = db.Users.Count() != 0 ? db.Users.OrderByDescending(a => a.CreatedAt).FirstOrDefault().CreatedAt : ""; info.LastUserUpdate = db.Users.Count(a => a.UpdatedAt != null) != 0 ? db.Users.OrderByDescending(a => a.UpdatedAt).FirstOrDefault().UpdatedAt : ""; //Document info.TotalDocumentCount = db.Documents.Count(); info.LastDocumentCreate = db.Documents.Count() != 0 ? db.Documents.OrderByDescending(a => a.CreatedAt).FirstOrDefault().CreatedAt : ""; //Mails: info.TotalMailsCount = db.TypeMails.Count(); info.LastMailsCreate = db.TypeMails.Count() != 0 ? db.TypeMails.OrderByDescending(a => a.CreatedAt).FirstOrDefault().CreatedAt : ""; info.LastMailsUpdate = db.TypeMails.Count(a => a.UpdatedAt != null) != 0 ? db.TypeMails.OrderByDescending(a => a.UpdatedAt).FirstOrDefault().UpdatedAt : ""; int HightMailUsingC = db.Documents.Count() == 0 ? 0 : db.Documents.Include(a => a.TypeMail).GroupBy(a => a.TypeMail.Name) .Select(a => new { key = a.Key, count = a.Count() }).OrderByDescending(a => a.count).FirstOrDefault().count; if (HightMailUsingC != 0) { List <string> MName = new List <string>(); MName = db.Documents.Include(a => a.TypeMail).GroupBy(a => a.TypeMail.Name) .Select(a => new { key = a.Key, count = a.Count() }).Where(a => a.count == HightMailUsingC).Select(a => a.key).ToList(); info.HightMailUsing = MName.Aggregate((a, b) => a + "," + b); } else { info.HightMailUsing = ""; } //Document Kind: info.TotalDocumentKindCount = db.Kinds.Count(); info.LastDocumentKindCreate = db.Kinds.Count() != 0 ? db.Kinds.OrderByDescending(a => a.CreatedAt).FirstOrDefault().CreatedAt : ""; info.LastDocumentKindUpdate = db.Kinds.Count(a => a.UpdatedAt != null) != 0 ? db.Kinds.OrderByDescending(a => a.UpdatedAt).FirstOrDefault().UpdatedAt : ""; int HightDocumentKindUsingC = db.Documents.Include(a => a.Kind).Count(a => a.Kind != null) == 0 ? 0 : db.Documents.Include(a => a.Kind).GroupBy(a => a.Kind.Name) .Select(a => new { key = a.Key, count = a.Count() }).OrderByDescending(a => a.count).FirstOrDefault().count; if (HightDocumentKindUsingC != 0) { List <string> MName = new List <string>(); MName = db.Documents.Include(a => a.Kind).GroupBy(a => a.Kind.Name) .Select(a => new { key = a.Key, count = a.Count() }).Where(a => a.count == HightDocumentKindUsingC).Select(a => a.key).ToList(); info.HightDocumentKindUsing = MName.Aggregate((a, b) => a + "," + b); } else { info.HightDocumentKindUsing = ""; } } else { info.IsMasterRole = false; } //CurrentUser Informations: info.FullName = db.Users.Find(CurrentUserId).FullName; info.UserName = db.Users.Find(CurrentUserId).UserName; info.Email = db.Users.Find(CurrentUserId).Email == null ? "" : db.Users.Find(CurrentUserId).Email; info.Gender = db.Users.Find(CurrentUserId).Gender; int DepId = db.Users.Include(a => a.Department).SingleOrDefault(a => a.Id.Equals(CurrentUserId)).DepartmentId == null ? 0 : db.Users.Include(a => a.Department).SingleOrDefault(a => a.Id.Equals(CurrentUserId)).Department.Id; info.DepartmentName = DepId == 0 ? "" : DepartmentListDisplay.CreateDepartmentDisplay(DepId); info.JobTitle = db.Users.Include(a => a.jobTitle).SingleOrDefault(a => a.Id.Equals(CurrentUserId)).JobTitleId == null ? "" : db.Users.Include(a => a.jobTitle).SingleOrDefault(a => a.Id.Equals(CurrentUserId)).jobTitle.Name; info.UserCreateAt = db.Users.Find(CurrentUserId).CreatedAt; info.UserUpdate = db.Users.Find(CurrentUserId).UpdatedAt == null ? "" : db.Users.Find(CurrentUserId).UpdatedAt; info.RoleName = db.Users.Find(CurrentUserId).RoleName; //User Groups if (!db.Users.Find(CurrentUserId).RoleName.Equals("Master")) { info.IsMasterRole = false; GroupsUserInformation groupsUserInformation = null; info.UserGroups = new List <GroupsUserInformation>(); List <UserGroup> UserG = db.UsersGroups.Include(a => a.Group).Where(a => a.UserId.Equals(CurrentUserId)).ToList(); foreach (UserGroup u in UserG) { groupsUserInformation = new GroupsUserInformation(); groupsUserInformation.Name = u.Group.Name; groupsUserInformation.UsersCount = db.UsersGroups.Where(a => a.GroupId == u.GroupId).Count(); info.UserGroups.Add(groupsUserInformation); } } else { info.IsMasterRole = true; } //User Favorite Form: if (!db.Users.Find(CurrentUserId).RoleName.Equals("Master")) { info.IsMasterRole = false; List <int> FavoriteFormId = db.FavouriteForms.Where(a => a.UserId.Equals(CurrentUserId)).Select(a => a.FormId).ToList();; info.FavoriteForm = new List <Form>(); info.FavoriteForm = db.Forms.Where(a => FavoriteFormId.Contains(a.Id)).ToList(); } else { info.IsMasterRole = true; } //User Basic Information: info.MyTotalDocument = db.Documents.Where(a => a.CreatedById.Equals(CurrentUserId)).Count(); if (!db.Users.Find(CurrentUserId).RoleName.Equals("Master")) { info.MyGroupsCount = db.UsersGroups.Where(a => a.UserId.Equals(CurrentUserId)).Count(); info.LastMyDocumentCreate = db.Documents.Where(a => a.CreatedById.Equals(CurrentUserId)).Count() != 0 ? (ManagedAes.CipherData? ManagedAes.DecryptText(db.Documents .Where(a => a.CreatedById.Equals(CurrentUserId)) .OrderByDescending(a => a.CreatedAt).FirstOrDefault().CreatedAt) : db.Documents.Where(a => a.CreatedById.Equals(CurrentUserId)) .OrderByDescending(a => a.CreatedAt).FirstOrDefault().CreatedAt) : "0/0/0"; info.DepartmentsCount = db.Departments.Count(); } info.Company = db.Company.Find(1); return(View(info)); }