/// <summary> /// Verifica se o usuário logado tem permissão adicionar um Coordinator em determinada Class /// </summary> /// <param name="Class"></param> /// <returns></returns> private async Task <bool> CheckPermissionToAddCoordinator(CoordinatorClass item) { try { User user = (await this._userService.GetByID(this.GetUserID())).Data[0]; if (user.Owner != null && user.Owner.IsActive) { Owner owner = (await _ownerService.GetByID(user.Owner.ID)).Data[0]; foreach (OwnerCourse oc in owner.Courses) { Course course = (await _courseService.GetByID(oc.CourseID)).Data[0]; if (course.Classes.Where(c => c.ID == item.ClassID).Any()) { return(true); } } } return(false); } catch (Exception) { return(false); } }
public async Task <Response> AddClass(Coordinator coordinator, Class Class) { Response response = new Response(); try { CoordinatorClass coordinatorClass = new CoordinatorClass() { ClassID = Class.ID, CoordinatorID = coordinator.ID }; (await _context.Coordinators.Include(c => c.Classes).Where(c => c.ID == coordinator.ID).FirstOrDefaultAsync()).Classes.Add(coordinatorClass); 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 class to coordinator."); return(response); } }