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()); }
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); }