コード例 #1
0
        public async Task <IActionResult> AddNewGroup(MakeGroupVM makeGroupModel)
        {
            if (ModelState.IsValid)
            {
                int id = await groupRepository.AddNewGroup(makeGroupModel);

                if (id > 0)
                {
                    return(RedirectToAction(nameof(AddNewGroup), new { isSuccess = true, groupId = id }));
                }
            }
            return(View());
        }
コード例 #2
0
        public async Task <int> AddNewGroup(MakeGroupVM makeGroupModel)
        {
            var userId = userService.GetUserId();
            var User   = context.Users.FirstOrDefault(x => x.Id == userId);

            if (makeGroupModel.CoverPhoto != null)
            {
                string folder = "group/cover/";
                folder += Guid.NewGuid().ToString() + "_" + makeGroupModel.CoverPhoto.FileName;
                makeGroupModel.CoverImageUrl = folder;
                string serverFolder = Path.Combine(webHostEnvironment.WebRootPath, folder);
                await makeGroupModel.CoverPhoto.CopyToAsync(new FileStream(serverFolder, FileMode.Create));
            }
            var newGroup = new Group()
            {
                Creator       = User,
                Name          = makeGroupModel.Name,
                CreatedAt     = DateTime.Now,
                CoverImageUrl = makeGroupModel.CoverImageUrl
            };
            var newRole       = context.Roles.FirstOrDefault(x => x.Name == "Założyciel");
            var newAssignment = new Assignment()
            {
                User      = User,
                Role      = newRole,
                Group     = newGroup,
                CreatedAt = DateTime.Now
            };
            await context.Groups.AddAsync(newGroup);

            await context.Assignments.AddAsync(newAssignment);

            await context.SaveChangesAsync();

            return(newGroup.GroupId);
        }