public HttpResponseMessage <Earthwatcher> GetByName(string name, HttpRequestMessage <string> request) { if (!string.IsNullOrEmpty(name)) { var earthwatcher = earthwatcherRepository.GetEarthwatcher(name, true); if (earthwatcher == null) { var response = new HttpResponseMessage <Earthwatcher>(HttpStatusCode.NotFound); return(response); } //Si no tiene una parcela asignada, se le asigna una if (earthwatcher.Lands.Count == 0) { // assign land var newLand = earthwatcherRepository.AssignLandToEarthwatcher(earthwatcher.Id, string.Empty); Land newLandObj = null; if (newLand == null) //Si la region esta completa le asigno la land del tutor { newLandObj = landRepository.GetTutorLand(earthwatcher.PlayingRegion); } if (newLandObj == null) //Si no esta completa la region { newLandObj = landRepository.GetLandByGeoHexKey(newLand.GeohexKey); } //Comunico a los usuarios conectados si es que la nueva land es de un usuario existente NotificateUsers(newLand, earthwatcher.Id); earthwatcher.Lands.Add(newLandObj); return(new HttpResponseMessage <Earthwatcher>(earthwatcher) { StatusCode = HttpStatusCode.OK }); } //EarthwatcherLinks.AddLinks(earthwatcher, request); return(new HttpResponseMessage <Earthwatcher>(earthwatcher) { StatusCode = HttpStatusCode.OK }); } return(new HttpResponseMessage <Earthwatcher>(null) { StatusCode = HttpStatusCode.BadRequest }); }