public async Task <Response> AddOwner(Course course, Owner owner) { Response response = new Response(); try { OwnerCourse ownerCourse = new OwnerCourse() { OwnerID = owner.ID, CourseID = course.ID }; (await _context.Courses.Include(c => c.Owners).Where(c => c.ID == course.ID).FirstOrDefaultAsync()).Owners.Add(ownerCourse); await _context.SaveChangesAsync(); return(response); } catch (Exception e) { StringBuilder sb = new StringBuilder(); log.Error(sb.AppendLine(e.Message).AppendLine(e.StackTrace).ToString()); response.Success = false; response.ErrorList.Add("Error while addind owner to course."); return(response); } }
/// <summary> /// Verifica se o usuario logado tem permissao para adicionar um Owner em um determinado Course /// </summary> /// <param name="ownerCourse"></param> /// <returns></returns> private async Task <bool> CheckPermissionToAddOwner(OwnerCourse ownerCourse) { try { User user = (await _userService.GetByID(this.GetUserID())).Data[0]; Owner userOwner = (await _ownerService.GetByID(user.Owner.ID)).Data[0]; if (userOwner.Courses.Where(c => c.CourseID == ownerCourse.CourseID).Any()) { return(true); } return(false); } catch (Exception) { return(false); } }