public IActionResult Get(int id) { var model = _hablility.GetById(id); if (model != null) { return(Ok(model)); } else { return(BadRequest("This hability not exist")); } }
public IndexVm <FreelancerVm> GetAll(int page = 1) { var result = new IndexVm <FreelancerVm>(); var freelancer = new List <FreelancerVm>(); try { var quantityOfPerson = 6; var model = _dbContext.Freelancers.OrderBy(x => x.Id) .Include(x => x.ApplicationUser) .Include(x => x.Habilities) .Skip((page - 1) * quantityOfPerson) .Take(quantityOfPerson).ToList(); /* * en cada iteracion va a desglosar habilities para traer la * entidad hija que es hability y de esta forma incluirla en la respuesta */ foreach (var i in model) { var n = i.Habilities; /* * creamos una lista para agregarsela al modelo freelancerVm para solo enviar * la lista */ var h = new List <Hability>(); foreach (var j in n) { h.Add(_habilityService.GetById(j.HabilityId)); } /* * creamos un nuevo modelo para personalizar la informacion enviada al usuarios * de esta manera evitamos enviar toda la informacion del usuario * y solo enviamos la necesaria */ var d = new FreelancerVm() { Id = i.Id, Lenguaje = i.Lenguaje, PriceHour = i.PriceHour, Biography = i.Biography, Interest = i.Interest, Level = i.Level, Address = i.ApplicationUser.Address, Rating = i.Rating, Profesion = i.Profesion, LastName = i.ApplicationUser.LastName, Name = i.ApplicationUser.Name, Avatar = $"{_imgServer}{i.ApplicationUser.Avatar}", Email = i.ApplicationUser.Email, Habilities = h, Lat = i.Lat, Long = i.Long, PhoneNumber = i.ApplicationUser.PhoneNumber, ApplicationUserId = i.ApplicationUser.Id }; freelancer.Add(d); } var totalOfRegister = model.Count(); result.Entities = freelancer; result.ActualPage = page; result.TotalOfRegister = totalOfRegister; result.RegisterByPage = quantityOfPerson; } catch (Exception e) { result = null; } return(result); }