Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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));
        }
Ejemplo n.º 3
0
        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));
        }