public async Task <BaseResponse> Create([FromBody] GroupCreateRequest request) { var response = new BaseResponse(); if (request == null || !ModelState.IsValid) { HttpContext.Response.StatusCode = StatusCodes.Status400BadRequest; response.Message = "Invalid input(s)."; return(response); } var group = new Group { Name = request.Name, Private = request.Private, Size = request.Size }; try { Group createdGroup = null; if (await _groupsRepository.Create(group)) { createdGroup = await _groupsRepository.GetByName(group.Name); } else { throw new Exception(); } if (createdGroup != null) { if (await _groupsRepository.AddUser(HttpContext.User.GetUserId(), createdGroup.Id)) { response.Message = "Group successfully created!"; response.Success = true; } } } catch (Exception ex) { try { await _groupsRepository.Delete(group); // If the User addition fails, we need to delete the group we created. } catch { Console.WriteLine(ex.Message); HttpContext.Response.StatusCode = StatusCodes.Status500InternalServerError; response.Message = "Failed to delete created group."; } Console.WriteLine(ex.Message); HttpContext.Response.StatusCode = StatusCodes.Status500InternalServerError; response.Message = "Failed to create group."; } return(response); }
public Group Create(Group newGroup) { return(_repo.Create(newGroup)); }
internal Group Create(Group newGroup) { return(_repo.Create(newGroup)); }
static void Main(string[] args) { var connectionString = ConfigurationManager.ConnectionStrings["StudyManager"].ConnectionString; var coursesRepository = new CoursesRepository(connectionString); var groupsRepository = new GroupsRepository(connectionString); var studentsRepository = new StudentsRepository(connectionString); var groupCoursesRepository = new GroupCoursesRepository(connectionString); try { Console.WriteLine($"--------Create"); var course = coursesRepository.Create(new Course() { LectorName = "Ivan Petrovych", Name = "Mathematics" }); Console.WriteLine($"--------Update"); course.LectorName = "Stepan Ivanovich"; coursesRepository.Update(course); Console.WriteLine($"--------GetSingle"); var cw = coursesRepository.GetSingle(course.Id); Console.WriteLine($"{cw.Id}: {cw.Name}, {cw.LectorName}"); Console.WriteLine($"--------Delete"); coursesRepository.Delete(course.Id); Console.WriteLine($"--------GetAll"); var courses = coursesRepository.GetAll(); foreach (var cr in courses) { Console.WriteLine($"{cr.Id}: {cr.Name}, {cr.LectorName}"); } //// var course1 = coursesRepository.Create(new Course() { LectorName = "Ivan Petrovych", Name = "Mathematics" }); var group1 = groupsRepository.Create(new Group() { Name = "Mathematics", Year = 2020 }); groupCoursesRepository.Create(new GroupCourse() { CourseId = course1.Id, GroupId = group1.Id }); var student1 = studentsRepository.Create(new Student() { GroupId = group1.Id, AverageMark = 5, BirthYear = 1999, FirstName = "Petro", LastName = "Semenuk" }); Console.WriteLine($"--------StudentGroup"); var studentsGroup = groupsRepository.GetStudentGroup(student1.Id); Console.WriteLine($"{student1.Id}: {studentsGroup.Name}"); Console.WriteLine($"--------StudentCourses"); var studentCourses = coursesRepository.GetStudentCourses(student1.Id); foreach (var cr in studentCourses) { Console.WriteLine($"{cr.Id}: {cr.Name}, {cr.LectorName}"); } } catch (Exception e) { Console.WriteLine(e.Message); } Console.ReadKey(); }