public async Task <Group> MakeGroup(GroupViewModel view, ApplicationUser user, bool creating) { var group = new Group { Name = view.Name, Description = view.Description, Type = await PsSelectList.GetGroupTypeAsync(view.TypeId), Privacy = await PsSelectList.GetPrivacyAsync(view.PrivacyId) }; if (creating) { group.Link = $"{Configuration["Tokens:UrlBase"]}{view.Name.Replace(" ", "")}"; group.Owner = user; group.CreationDate = DateTime.UtcNow; } else { group.Id = view.Id; group.Link = view.Link; group.Owner = view.Owner; } return(group); }
public async Task <IActionResult> Create() { var groupTypes = await PsSelectList.GetListGroupTypes(); var privacies = await PsSelectList.GetListPrivacies(); var group = new GroupViewModel { Privacies = GenericSelectList.CreateSelectList(privacies, x => x.Id, x => x.Name), GroupTypes = GenericSelectList.CreateSelectList(groupTypes, x => x.Id, x => x.Name) }; return(View(group)); }
public async Task <IActionResult> Edit(long?id) { if (id == null) { return(NotFound()); } var group = await _groupRepository.GetGroupWithPostsAndComments(id.Value); if (group == null) { return(NotFound()); } if (group.Owner.Email != User.Identity.Name) { return(Unauthorized()); } var groupTypes = await PsSelectList.GetListGroupTypes(); var privacies = await PsSelectList.GetListPrivacies(); var pList = GenericSelectList.CreateSelectList(privacies, x => x.Id, x => x.Name); var vm = new GroupViewModel { Name = group.Name, Description = group.Description, Link = group.Link, CreationDate = group.CreationDate, PictureUrl = group.PictureUrl, Type = group.Type, Privacy = group.Privacy, Owner = group.Owner, TypeId = group.Type.Id, PrivacyId = group.Privacy.Id, Id = group.Id, Privacies = pList, GroupTypes = GenericSelectList.CreateSelectList(groupTypes, x => x.Id, x => x.Name) }; return(View(vm)); }