public async Task <IActionResult> Edit([FromBody] EditGroupViewModel @group)
        {
            if (ModelState.IsValid)
            {
                if (group.GroupId == 0 || group.GroupId < 0)
                {
                    return(BadRequest(new { Message = "Invalid input(s)" }));
                }

                var userId = await GetCurrentUserIdAsync();

                var appUserGroup = await _context.Groups
                                   .Where(g => g.AppUser.IdentityGUID == userId && g.GroupId == group.GroupId)
                                   .FirstOrDefaultAsync();

                if (appUserGroup == null)
                {
                    return(BadRequest(new { Message = "Invalid input(s)" }));
                }

                appUserGroup.GroupName = group.GroupName;

                _context.Update(appUserGroup);
                await _context.SaveChangesAsync();

                return(Ok(new { Message = "Successfully updated group" }));
            }

            return(BadRequest(new { Message = "Invalid input(s)" }));
        }
Пример #2
0
        private EditGroupViewModel GetNewGroupViewModel()
        {
            string[]      allRoles = Roles.GetAllRoles();
            List <string> tmp      = new List <string>(allRoles);

            tmp.Remove(RoleNames.RemoteScansImport);
            if (!AppContext.IsClientAdmin())
            {
                tmp.Remove(RoleNames.ClientAdministrator);
            }
            allRoles = tmp.ToArray();

            List <MembershipUser> allUsers;

            if (AppContext.IsClientAdmin())
            {
                allUsers = MembershipService.GetAllUsers();
            }
            else
            {
                allUsers = MembershipService.GetClientUsers(AppContext.GetCID());
            }

            EditGroupViewModel viewModel = new EditGroupViewModel()
            {
                Group      = new Group(),
                AllRoles   = allRoles,
                Clients    = new ClientsRepository().GetUserClients(AppContext.GetUserGuid()),
                GroupRoles = new List <string>(),
                AllUsers   = allUsers,
                GroupUsers = new List <MembershipUser>()
            };

            return(viewModel);
        }
Пример #3
0
        public Groups EditGroup(Groups entity, EditGroupViewModel model)
        {
            var repo = _uow.GetService <IGroupsRepository>();

            repo.Edit(entity, model);
            return(entity);
        }
        public async Task <ActionResult> Edit([Bind(Include = "Id,Name,Description")] EditGroupViewModel editGroupViewModel, params string[] selectedRoles)
        {
            var group = await this.GroupManager.FindByIdAsync(editGroupViewModel.Id);

            if (group == null)
            {
                return(HttpNotFound());
            }
            if (ModelState.IsValid)
            {
                if (!await GroupManager.GroupExistAsync(editGroupViewModel.Id, editGroupViewModel.Name))
                {
                    group.Name        = editGroupViewModel.Name;
                    group.Description = editGroupViewModel.Description;
                    await this.GroupManager.UpdateGroupAsync(group);

                    selectedRoles = selectedRoles ?? new string[] { };
                    await this.GroupManager.SetGroupRolesAsync(group.Id, selectedRoles);

                    return(Json(new { Success = true }));
                }
                else
                {
                    // Get a list, not a DbSet or queryable:
                    var roles = await this.RoleManager.Roles.ToListAsync();

                    var groupRoles = await this.GroupManager.GetGroupRolesAsync(editGroupViewModel.Id);

                    // load the roles for selection in the form:
                    foreach (var role in roles)
                    {
                        var listItem = new SelectListItem()
                        {
                            Text     = role.Name,
                            Value    = role.Id,
                            Selected = selectedRoles.Any(g => g == role.Id)
                        };
                        editGroupViewModel.RolesList.Add(listItem);
                    }
                    ModelState.AddModelError(string.Empty, Resources.Resources.GroupExist);
                    return(PartialView("Edit", editGroupViewModel));
                }
            }
            else
            {
                // Get a list, not a DbSet or queryable:
                var roles = await this.RoleManager.Roles.ToListAsync();

                // load the roles/Roles for selection in the form:
                foreach (var role in roles)
                {
                    SelectListItem listItem = new SelectListItem();
                    listItem.Text     = role.Name;
                    listItem.Value    = role.Id;
                    listItem.Selected = selectedRoles == null ? false : selectedRoles.Any(r => r == role.Id);
                    editGroupViewModel.RolesList.Add(listItem);
                }
                return(PartialView("Edit", editGroupViewModel));
            }
        }
        public ActionResult Edit(EditGroupViewModel request)
        {
            if (ModelState.IsValid)
            {
                var group = db.Groups.Find(request.Id);
                group.Name = request.Name;

                if (request.ImageFile != null)
                {
                    var    imageId        = Guid.NewGuid().ToString().Replace("-", "").ToLower();
                    var    imageExtension = Path.GetExtension(request.ImageFile.FileName);
                    var    imageName      = imageId + imageExtension;
                    string pic            = System.IO.Path.GetFileName(imageName);

                    string folderPath = "/img/group";
                    Directory.CreateDirectory(Server.MapPath("~" + folderPath));
                    string path = System.IO.Path.Combine(Server.MapPath("~" + folderPath), pic);
                    request.ImageFile.SaveAs(path);


                    group.ImageId        = imageId;
                    group.ImageExtension = imageExtension;
                }

                db.SaveChanges();
                return(RedirectToAction("Details", "Lesson", new { Id = group.Lesson.Id }));
            }
            return(View(request));
        }
Пример #6
0
        public IActionResult Update(int id, EditGroupViewModel model)
        {
            if (!ModelState.IsValid)
            {
                ViewData["Users"] = _databaseContext.Users.ToList();
                return(View(nameof(Edit), model));
            }
            var group = _databaseContext.Groups
                        .Include(g => g.GroupUsers)
                        .ThenInclude(gu => gu.User)
                        .First(g => g.Id == id);

            group.Name          = model.Group.Name;
            TempData["Success"] = true;
            group.GroupUsers.Clear();
            var newUsers = _databaseContext.Users.Where(u => model.UserIds.Contains(u.Id)).ToList();

            foreach (var user in newUsers)
            {
                group.GroupUsers.Add(new GroupUser {
                    User = user, Group = group
                });
            }
            _databaseContext.SaveChanges();
            return(RedirectToAction(nameof(Index)));
        }
Пример #7
0
        public IActionResult Edit(int id,
                                  EditGroupViewModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var domain = Service <GroupDomain>();
                    var group  = domain.Groups.Id(id);
                    if (group == null)
                    {
                        return(NotFound(new ApiResult()
                        {
                            Code = ResultCode.NotFound,
                            Message = ResultCode.NotFound.DisplayName()
                        }));
                    }

                    domain.EditGroup(group, model);
                    var ev = _eDomain.EditGroup(group, User);
                    _uow.SaveChanges();

                    var data = new Dictionary <string, string>();
                    data["title"]   = "Your group is edited";
                    data["message"] = ev.Message;
                    _eDomain.Notify(new Message
                    {
                        Topic = $"GROUP_MEMBER_{group.Id}",
                        Data  = data
                    });

                    _logger.CustomProperties(new { id, model }).Info("Edit group");

                    return(NoContent());
                }

                var message = "";
                if (ModelState.ContainsKey("name"))
                {
                    message += string.Join('\n',
                                           ModelState["name"].Errors.Select(e => e.ErrorMessage).ToList());
                }

                return(BadRequest(new ApiResult()
                {
                    Code = ResultCode.FailValidation,
                    Data = ModelState,
                    Message = message
                }));
            }
            catch (Exception e)
            {
                _logger.Error(e);
                return(Error(new ApiResult()
                {
                    Code = ResultCode.UnknownError,
                    Message = ResultCode.UnknownError.DisplayName() + ": " + e.Message
                }));
            }
        }
Пример #8
0
        public ActionResult EditGroup(EditGroupViewModel editGroupVM)
        {
            if (ModelState.IsValid)
            {
                Validate validate = new Validate();
                if (!(validate.ValidationGroupName(editGroupVM.Name)))
                {
                    ViewBag.message = "Неправильна назва групи";
                    return(View("Report"));
                }

                GroupDTO groupDTO = groupService.GetGroup(editGroupVM.Id);

                if (groupService.Get().ToList().Contains(groupService.Get().Where(g => g.Name == editGroupVM.Name).FirstOrDefault()))
                {
                    ViewBag.message = "Група з таким ім'ям вже існує";
                    return(View("Report"));
                }

                IMapper mapper = new MapperConfiguration(cfg => cfg.CreateMap <EditGroupViewModel, GroupDTO>()).CreateMapper();
                groupDTO = mapper.Map <EditGroupViewModel, GroupDTO>(editGroupVM);

                groupService.EditGroup(groupDTO);

                IEnumerable <GroupDTO> groupDtos = groupService.Get();
                var mapperGroups = new MapperConfiguration(cfg => cfg.CreateMap <GroupDTO, GroupViewModel>()).CreateMapper();
                var groups       = mapperGroups.Map <IEnumerable <GroupDTO>, List <GroupViewModel> >(groupDtos);
                return(View("ShowGroups", groups));
            }

            return(View(editGroupVM));
        }
Пример #9
0
        public ActionResult Edit(string groupId)
        {
            var group = _getGroupQuery.Invoke(new GetGroupRequest
            {
                GroupId     = groupId,
                CurrentUser = Core.AppContext.CurrentUser
            }).Group;

            var users           = Core.GetUsers();
            var postedViewModel = ViewData.Model == null ? null : (EditGroupViewModel)ViewData.Model;

            var viewModel = new EditGroupViewModel
            {
                Name  = group.Name,
                Id    = group.FriendlyId,
                Users = users.Items.Select(u => new GroupMemberViewModel
                {
                    Id       = u.Id,
                    Name     = u.FullName,
                    Selected = postedViewModel == null ? u.GroupIds.Any(id => id == group.Id) : postedViewModel.Users.Any(user => u.Id == user.Id)
                })
            };

            return(View(viewModel));
        }
Пример #10
0
        public ActionResult Edit(int groupId, EditGroupViewModel edit)
        {
            Request.ThrowIfDifferentReferrer();

            if (ModelState.IsValid)
            {
                var group = _database.Groups
                            .FilterById(groupId)
                            .SingleOrDefault();

                if (group != null)
                {
                    var command = new EditGroupCommand()
                    {
                        Group = group,
                        Name  = edit.Name
                    };
                    _dispatcher.Dispatch(command);

                    return(RedirectToAction(nameof(Index)));
                }
                return(HttpNotFound());
            }

            return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
        }
Пример #11
0
 public ActionResult EditGroup(EditGroupViewModel model)
 {
     adminService.EditGroup(new Group()
     {
         GroupName = model.GroupName, Id = model.Id
     });
     return(RedirectToAction(nameof(GroupsPanel)));
 }
Пример #12
0
        public async Task <JsonResult> UpdateAsync(EditGroupViewModel editedGroup)
        {
            var group = await GroupManager.FindByIdAsync(editedGroup.Id);

            group.Name = editedGroup.Name;
            var result = await GroupManager.UpdateGroupAsync(group);

            return(null);
        }
Пример #13
0
        public async Task <IActionResult> EditGroup(EditGroupViewModel model, string id)
        {
            ViewBag.Department = context.Departments.Select(c => new SelectListItem
            {
                Text  = c.Name,
                Value = c.Name
            });

            bool result = int.TryParse(id, out int appId);

            if (result)
            {
                if (ModelState.IsValid)
                {
                    var group = await context.Groups
                                .Where(g => g.Id == Convert.ToInt32(id))
                                .Include(d => d.Department)
                                .FirstOrDefaultAsync();

                    if (group != null)
                    {
                        string changeLog = $"Было - ID: {group.Id}, Наименование: {group.Name}, Почта: {group.Email}, Описание: {group.Description}, " +
                                           $"Отдел: {group.Department.Name}";

                        var dep = await context.Departments.Where(d => d.Name == model.DepartmentValue).FirstOrDefaultAsync();

                        group.Name        = model.Name;
                        group.Email       = model.Email;
                        group.Description = model.Description;
                        group.Department  = dep;

                        int changesCount = await context.SaveChangesAsync();

                        if (changesCount > 0)
                        {
                            var appLogType = context.AppLogTypes.Where(c => c.TypeName == "GroupWasEdited").FirstOrDefault();

                            var appLog = new AppLog()
                            {
                                Created    = DateTime.Now,
                                AppLogType = appLogType,
                                Message    = $"Изменена группа. {changeLog}. Стало - ID: {group.Id}, Наименование: {group.Name}, Почта: {group.Email}, Описание: {group.Description}, " +
                                             $"Отдел: {group.Department.Name}"
                            };

                            await context.AppLogs.AddAsync(appLog);

                            await context.SaveChangesAsync();
                        }
                        return(RedirectToAction("Index", "Group"));
                    }
                }
                return(View());
            }
            Response.StatusCode = 404;
            return(View("DepartmentNotFound", id));
        }
Пример #14
0
        public IActionResult Edit(int id)
        {
            var model = new EditGroupViewModel();

            var dbGroup = _hdDbContext.Groups.FirstOrDefault(t => t.Id == id);

            model.Id        = dbGroup.Id;
            model.GroupName = dbGroup.Name;
            model.Items     = PopulateIndustriesByEdit(dbGroup.IndustryId);
            return(View(model));
        }
Пример #15
0
        // Group/EditGroup
        public ActionResult EditGroup(int idGroup)
        {
            GroupDTO groupDTO = groupService.GetGroup(idGroup);

            EditGroupViewModel editGroupVM = new EditGroupViewModel()
            {
                Id   = groupDTO.Id,
                Name = groupDTO.Name
            };

            return(View("EditGroup", editGroupVM));
        }
        public async Task <ActionResult> Group_EditAD(int id)
        {
            U_FunctionGroup _functionGroup;

            if (id == -1)
            {
                _functionGroup = new U_FunctionGroup {
                    Id = -1
                };
            }
            else
            {
                _functionGroup = _inFlowDb.U_FunctionGroups.Find(id);
            }

            EditGroupViewModel model = new EditGroupViewModel()
            {
                GroupId = _functionGroup.Id, GroupName = _functionGroup.Name
            };

            _functionGroup.Roles.ToList().ForEach(r => model.Roles.Add(new ListViewItemModel()
            {
                Id = r.Id, Name = r.Name, Selected = true
            }));
            _inFlowDb.U_Roles.ToList().Except(_functionGroup.Roles.ToList()).ToList().ForEach(r => model.Roles.Add(new ListViewItemModel()
            {
                Id = r.Id, Name = r.Name, Selected = false
            }));


            List <string> assignedUsers = new List <string>();

            _functionGroup.Users.ToList().ForEach(u => assignedUsers.Add(u.Username));
            assignedUsers.ForEach(u => model.Users.Add(new ListViewItemModel {
                Name = u, Selected = true
            }));

            List <string> allUsers = new List <string>();
            List <strICT.InFlow.Web.Models.User> users = (await _graph.getUsers()).ToList <strICT.InFlow.Web.Models.User>();

            users.ForEach(u => allUsers.Add(u.userPrincipalName));
            // _inFlowDb.U_User_FunctionGroups.ToList().ForEach(u => allUsers.Add(u.Username));

            allUsers.Except(assignedUsers).ToList().ForEach(u => model.Users.Add(new ListViewItemModel {
                Name = u, Selected = false
            }));

            return(View("Group_EditAD", model));
        }
        public ActionResult Group_EditLocal(int id)
        {
            U_FunctionGroup _functionGroup;

            if (id == -1)
            {
                _functionGroup = new U_FunctionGroup {
                    Id = -1
                };
            }
            else
            {
                _functionGroup = _inFlowDb.U_FunctionGroups.Find(id);
            }

            EditGroupViewModel model = new EditGroupViewModel()
            {
                GroupId = _functionGroup.Id, GroupName = _functionGroup.Name
            };

            _functionGroup.Roles.ToList().ForEach(r => model.Roles.Add(new ListViewItemModel()
            {
                Id = r.Id, Name = r.Name, Selected = true
            }));
            _inFlowDb.U_Roles.ToList().Except(_functionGroup.Roles.ToList()).ToList().ForEach(r => model.Roles.Add(new ListViewItemModel()
            {
                Id = r.Id, Name = r.Name, Selected = false
            }));


            List <string> assignedUsers = new List <string>();

            _functionGroup.Users.ToList().ForEach(u => assignedUsers.Add(u.Username));
            assignedUsers.ForEach(u => model.Users.Add(new ListViewItemModel {
                Name = u, Selected = true
            }));

            List <string> allUsers = new List <string>();

            _identityDb.Users.ToList().ForEach(u => allUsers.Add(u.UserName));
            // _inFlowDb.U_User_FunctionGroups.ToList().ForEach(u => allUsers.Add(u.Username));

            allUsers.Except(assignedUsers).ToList().ForEach(u => model.Users.Add(new ListViewItemModel {
                Name = u, Selected = false
            }));

            return(View("Group_Edit", model));
        }
Пример #18
0
        public ViewResult Edit(int id)
        {
            var group = _databaseContext.Groups
                        .Include(g => g.GroupUsers)
                        .ThenInclude(gu => gu.User)
                        .First(g => g.Id == id);

            ViewData["Success"] = TempData["Success"];
            ViewData["Users"]   = _databaseContext.Users.ToList();
            var model = new EditGroupViewModel
            {
                Group   = group,
                UserIds = group.GroupUsers.ToList().Select(gu => gu.User.Id)
            };

            return(View(model));
        }
        public async Task <IActionResult> Edit(EditGroupViewModel editGroupViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(editGroupViewModel));
            }

            var updatedGroup = _groupsRepository.GetByIdAsync(editGroupViewModel.Id).Result;

            if (updatedGroup == null)
            {
                return(NotFound());
            }
            updatedGroup.Update(editGroupViewModel.Name, editGroupViewModel.Description, _userId, false);
            await _groupsRepository.UpdateAsync(updatedGroup);

            return(RedirectToAction(nameof(Index)));
        }
Пример #20
0
        public ActionResult EditGroup(EditGroupViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(Index());
            }

            try
            {
                _groupService.EditGroup(model.GroupId, model.NewName);
                return(RedirectToAction("Index"));
            }
            catch (GroupAlreadyExistsException)
            {
                ModelState.AddModelError("", Translations.Dashboard_GroupAlreadyExists);
                return(Index());
            }
        }
        //
        // GET: /Lesson/Edit/5

        public ActionResult Edit(int id = 0)
        {
            var group = db.Groups.Find(id);

            if (group == null)
            {
                return(HttpNotFound());
            }

            var response = new EditGroupViewModel
            {
                Id       = group.Id,
                Name     = group.Name,
                ImageUrl = group.ImageUrl,
                LessonId = group.Lesson.Id
            };

            return(View(response));
        }
Пример #22
0
        public async Task <IActionResult> EditGroup(string id)
        {
            bool result = int.TryParse(id, out int appId);

            if (result)
            {
                var group = await context.Groups
                            .Where(c => c.Id == Convert.ToInt32(id))
                            .Include(d => d.Department)
                            .FirstOrDefaultAsync();

                if (group == null)
                {
                    Response.StatusCode = 404;
                    return(View("DepartmentNotFound", id));
                }
                else
                {
                    ViewBag.Department = context.Departments.Select(c => new SelectListItem
                    {
                        Text  = c.Name,
                        Value = c.Name
                    });

                    ViewBag.CurrentDepartment = group.Department.Name;

                    EditGroupViewModel model = new EditGroupViewModel()
                    {
                        Id          = group.Id,
                        Name        = group.Name,
                        Email       = group.Email,
                        Description = group.Description
                    };

                    if (model != null)
                    {
                        return(View(model));
                    }
                }
            }
            Response.StatusCode = 404;
            return(View("DepartmentNotFound", id));
        }
Пример #23
0
        public async Task <ActionResult> EditGroup(int groupId)
        {
            ViewBag.GroupId = groupId;

            // Getting the group
            Group group = await GroupManager.FindByIdAsync(groupId);

            // Convert and fill the model
            EditGroupViewModel model = new EditGroupViewModel
            {
                Name        = group.Name,
                Description = group.Description,
                Category    = group.Category,
                ImageUrl    = group.Image
            };

            // Gets all the group sets
            ViewBag.GroupSetList = await GroupManager.GetGroupsCategoriesAsync();

            return(View(model));
        }
Пример #24
0
        public async Task <ActionResult> EditGroup(EditGroupViewModel model)
        {
            // Validate Model
            if (!ModelState.IsValid)
            {
                var errors = ModelState.Values.SelectMany(a => a.Errors);
                TempData["Code"]     = "danger";
                TempData["Head"]     = "Error";
                TempData["Messages"] = errors.Select(a => a.ErrorMessage).ToList();

                return(RedirectToAction("Group", new { model.Id }));
            }

            // Edit Group
            StatusCode result = await _ps.EditGroupAsync(model);

            // Parse results
            ParseResults(result, "Group");

            // Redirect
            return(RedirectToAction("Group", new { model.Id }));
        }
        public async Task <ActionResult> Edit(string id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ApplicationGroup applicationGroup = await this.GroupManager.FindByIdAsync(id);

            if (applicationGroup == null)
            {
                return(HttpNotFound());
            }

            // Get a list, not a DbSet or queryable:
            var allRoles = await this.RoleManager.Roles.ToListAsync();

            var groupRoles = await this.GroupManager.GetGroupRolesAsync(id);

            var editGroupViewModel = new EditGroupViewModel()
            {
                Id          = applicationGroup.Id,
                Name        = applicationGroup.Name,
                Description = applicationGroup.Description
            };

            // load the roles/Roles for selection in the form:
            foreach (var role in allRoles)
            {
                var listItem = new SelectListItem()
                {
                    Text     = role.Name,
                    Value    = role.Id,
                    Selected = groupRoles.Any(g => g.Id == role.Id)
                };
                editGroupViewModel.RolesList.Add(listItem);
            }
            return(PartialView("Edit", editGroupViewModel));
        }
Пример #26
0
        public ActionResult EditGroup(Guid id)
        {
            // Guid guid = new Guid((string)id);
            string[]      allRoles = Roles.GetAllRoles();
            List <string> tmp      = new List <string>(allRoles);

            tmp.Remove(RoleNames.RemoteScansImport);
            if (!AppContext.IsClientAdmin())
            {
                tmp.Remove(RoleNames.ClientAdministrator);
            }
            allRoles = tmp.ToArray();

            List <string> roles = new List <string>();

            List <MembershipUser> allUsers;

            if (AppContext.IsClientAdmin())
            {
                allUsers = MembershipService.GetAllUsers();
            }
            else
            {
                allUsers = MembershipService.GetClientUsers(AppContext.GetCID());
            }

            EditGroupViewModel viewModel = new EditGroupViewModel()
            {
                Group      = _repository.GetGroup(id),
                AllRoles   = allRoles,
                Clients    = new ClientsRepository().GetUserClients(AppContext.GetUserGuid()),
                GroupRoles = _repository.GetGroupRoles(id),
                AllUsers   = allUsers,
                GroupUsers = MembershipService.GetMembershipUsersByGuids(_repository.GetGroupUsers(id)),
            };

            return(View(viewModel));
        }
Пример #27
0
        public ActionResult Edit(EditGroupViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(RedirectWithViewModel(viewModel, "edit"));
            }

            var result = _editGroupCommand.Invoke(new EditGroupRequest
            {
                Name        = viewModel.Name,
                GroupId     = viewModel.Id,
                CurrentUser = Core.AppContext.CurrentUser,
                Users       = viewModel.Users.Where(user => user.Selected).Select(user => user.Id).ToList()
            });

            if (result.Status != EditGroupStatus.Ok)
            {
                return(RedirectWithViewModel(viewModel, "edit", result.Status.MapToResource(Resources.Account.ResourceManager)));
            }

            ConfirmationNotification(Resources.Account.Group_Updated);
            return(Redirect(Url.Groups()));
        }
Пример #28
0
        public async Task <ActionResult> EditGroup(EditGroupViewModel model, int groupId)
        {
            ViewBag.GroupId = groupId;

            Group group = await GroupManager.FindByIdAsync(groupId);

            // Getting the group propoties
            group.Name        = model.Name;
            group.Description = model.Description;
            group.Category    = model.Category;

            // Checking if there was a image uploaded
            if (model.Image != null)
            {
                await GroupManager.UpdateAsync(group, Bitmap.FromStream(model.Image.InputStream));
            }
            else
            {
                await GroupManager.UpdateAsync(group);
            }

            return(RedirectToAction("Groups"));
        }
Пример #29
0
        public async Task <IActionResult> Edit(int id)
        {
            var group = await _repo.GetGroupAsync(id);

            if (group == null)
            {
                return(NotFound());
            }

            PersianCalendar p = new PersianCalendar();

            var groupVM = new EditGroupViewModel
            {
                Slug  = group.Slug,
                State = group.State.ToString(),
                Title = group.Title,
                Id    = group.Id
            };


            ViewBag.Id = id;
            return(View("AddGroup", groupVM));
        }
Пример #30
0
        public async Task <IActionResult> Edit(EditGroupViewModel editGroupViewModel)
        {
            if (!ModelState.IsValid)
            {
                editGroupViewModel.Items = PopulateIndustriesByEdit(editGroupViewModel.Id);
                return(View(editGroupViewModel));
            }

            if (editGroupViewModel.IndustryId == "-1")
            {
                ModelState.AddModelError(string.Empty, "必须选择行业");
            }

            if (IsGroupNameExistsByEdit(editGroupViewModel.GroupName, editGroupViewModel.Id) == false)
            {
                ModelState.AddModelError(string.Empty, "集团名称已经存在");
            }

            if (ModelState.ErrorCount > 0)
            {
                editGroupViewModel.Items = PopulateIndustriesByEdit(editGroupViewModel.Id);
                return(View(editGroupViewModel));
            }


            var dbGroup    = _hdDbContext.Groups.FirstOrDefault(t => t.Id == editGroupViewModel.Id);
            var dbIndustry = _hdDbContext.Industries.FirstOrDefault(t => t.Id == int.Parse(editGroupViewModel.IndustryId));

            dbGroup.Name       = editGroupViewModel.GroupName;
            dbGroup.IndustryId = dbIndustry.Id;
            dbGroup.Industry   = dbIndustry;

            _hdDbContext.Update(dbGroup);
            await _hdDbContext.SaveChangesAsync();

            return(RedirectToAction(nameof(Index)));
        }
Пример #31
0
        public ActionResult Edit(Guid Id)
        {
            EditGroupViewModel model = new EditGroupViewModel();
            GroupDto group = readModel.GetGroups().AsParallel().FirstOrDefault(g => g.Id == Id);

            if (group != null)
            {
                if (group.Admin.Id == ((UserDto)Session["user"]).Id)
                {
                    model.Id = Id;
                    model.Name = group.Name;
                    model.Description = group.Description;
                    model.GroupVisibleToOutsiders = group.Privacy.GroupVisibleToOutsiders;
                    model.MembersVisibleToOutsiders = group.Privacy.MembersVisibleToOutsiders;
                    model.PhotosVisibleToOutsiders = group.Privacy.PhotosVisibleToOutsiders;
                    model.AcceptPhotos = group.Privacy.AddPhotosAfterAccepting;
                    model.Level = group.Privacy.Level;

                    return View(model);
                }
                else
                    return new HttpUnauthorizedResult();
            }
            else
                return new HttpNotFoundResult();
        }
Пример #32
0
        public ActionResult Edit(EditGroupViewModel model)
        {
            GroupDto group = readModel.GetGroups().AsParallel().FirstOrDefault(g => g.Id == model.Id);
            UserDto user = (UserDto)Session["user"];

            if (group != null)
            {
                bus.Send(new EditGroupInfo()
                {
                    Id = Guid.NewGuid(),
                    Description = model.Description,
                    UserId = user.Id,
                    GroupId = model.Id,
                    Name = model.Name,
                    Privacy = new CQRS.Domain.GroupPrivacy()
                    {
                        Level = model.Level,
                        GroupVisibleToOutsiders = model.GroupVisibleToOutsiders,
                        MembersVisibleToOutsiders = model.MembersVisibleToOutsiders,
                        PhotosVisibleToOutsiders = model.PhotosVisibleToOutsiders,
                        PhotosAddedAfterAccepting = model.AcceptPhotos
                    },
                    Bus = this.bus
                });
                return RedirectToAction("Index", new { id = model.Id });
            }
            else
                return new HttpNotFoundResult();
        }