private async Task <IActionResult> GetLesseeAsync(EmailRequest emailRequest) { var lessee = await _dataContext.Lessees .Include(o => o.User) .Include(o => o.Contracts) .ThenInclude(c => c.Owner) .ThenInclude(o => o.User) .FirstOrDefaultAsync(o => o.User.UserName.ToLower().Equals(emailRequest.Email.ToLower())); var properties = await _dataContext.Properties .Include(p => p.PropertyType) .Include(p => p.PropertyImages) .Where(p => p.IsAvailable) .ToListAsync(); var response = new OwnerResponse { Id = lessee.Id, RoleId = 2, FirstName = lessee.User.FirstName, LastName = lessee.User.LastName, Address = lessee.User.Address, Document = lessee.User.Document, Email = lessee.User.Email, PhoneNumber = lessee.User.PhoneNumber, Properties = properties?.Select(p => new PropertyResponse { Address = p.Address, HasParkingLot = p.HasParkingLot, Id = p.Id, IsAvailable = p.IsAvailable, Neighborhood = p.Neighborhood, Price = p.Price, PropertyImages = p.PropertyImages?.Select(pi => new PropertyImageResponse { Id = pi.Id, ImageUrl = pi.ImageFullPath }).ToList(), PropertyType = p.PropertyType.Name, Remarks = p.Remarks, Rooms = p.Rooms, SquareMeters = p.SquareMeters, Stratum = p.Stratum }).ToList(), Contracts = lessee.Contracts?.Select(c => new ContractResponse { EndDate = c.EndDate, Id = c.Id, IsActive = c.IsActive, Price = c.Price, Remarks = c.Remarks, StartDate = c.StartDate }).ToList() }; return(Ok(response)); }
public Task <OwnerResponse> GetAsync(Guid id) { return(base.ExecuteWithExceptionHandledOperation(async() => { var owner = await _ownerRepository.GetAsync(id); OwnerResponse ownerResponse = new OwnerResponse(owner.Id, owner.Name, owner.DateOfBirth, owner.Address); return ownerResponse; })); }
public async Task <IActionResult> GetOwner(EmailRequest emailRequest) { // validation des champs if (!ModelState.IsValid) { return(BadRequest()); } // on trouve le propriétaire via son email var owner = await _dataContext.Owners .Include(o => o.User) .Include(o => o.Pets) .ThenInclude(p => p.PetType) .Include(o => o.Pets) .ThenInclude(p => p.Histories) .ThenInclude(h => h.ServiceType) .FirstOrDefaultAsync(o => o.User.Email.ToLower() == emailRequest.Email.ToLower()); // si le propriétaire n'est pas trouvé, on retourne une erreur if (owner == null) { return(NotFound()); } var response = new OwnerResponse { Id = owner.Id, FirstName = owner.User.FirstName, LastName = owner.User.LastName, Document = owner.User.Document, Address = owner.User.Address, PhoneNumber = owner.User.PhoneNumber, Email = owner.User.Email, Pets = owner.Pets.Select(p => new PetResponse { ImageUrl = p.ImageUrl, Id = p.Id, Name = p.Name, Race = p.Race, Born = p.Born, Remarks = p.Remarks, PetType = p.PetType.Name, Histories = p.Histories.Select(h => new HistoryResponse { Date = h.Date, Description = h.Description, Id = h.Id, Remarks = h.Remarks, ServiceType = h.ServiceType.Name }).ToList() }).ToList() }; // on retourne le propriétaire avec tous les éléments associés (animaux, type de service ....) return(Ok(response)); }
public async Task <IActionResult> GetOwner(EmailRequest emailRequest) { if (!ModelState.IsValid) { return(BadRequest()); } var owner = await _dataContext.Owners .Include(o => o.User) .Include(o => o.Pets) .ThenInclude(p => p.PetType) .Include(o => o.Pets) .ThenInclude(p => p.Histories) .ThenInclude(h => h.ServiceType) .FirstOrDefaultAsync(o => o.User.UserName.ToLower() == emailRequest.Email.ToLower()); //equals revienta si es nullo en cambio == no revienta....por eso usa == if (owner == null) { return(NotFound()); // devuelve rta 400 } var response = new OwnerResponse { Id = owner.Id, FirstName = owner.User.FirstName, LastName = owner.User.LastName, Address = owner.User.Address, Document = owner.User.Document, Email = owner.User.Email, PhoneNumber = owner.User.PhoneNumber, Pets = owner.Pets.Select(p => new PetResponse { Born = p.Born, Id = p.Id, ImageUrl = p.ImageFullPath, Name = p.Name, Race = p.Race, Remarks = p.Remarks, PetType = p.PetType.Name, Histories = p.Histories.Select(h => new HistoryResponse { Date = h.Date, Description = h.Description, Id = h.Id, Remarks = h.Remarks, ServiceType = h.ServiceType.Name }).ToList() }).ToList() }; return(Ok(response)); //envolvemos en OK devueve una rta 200 }
public static OwnerResponse ToOwnerModel(this PersonDTO person) { OwnerResponse model = new OwnerResponse(); model.Id = person.Id; model.FirstName = person.FirstName; model.LastName = person.LastName; model.PhoneNumber = person.PhoneNumber; model.UserName = person.UserName; return(model); }
public async Task <IActionResult> GetOwner(EmailRequest emailRequest) { if (!ModelState.IsValid) { return(BadRequest()); } var owner = await _dataContext.Owners .Include(o => o.User) .Include(o => o.Pets) .ThenInclude(p => p.PetType) .Include(o => o.Pets) .ThenInclude(p => p.Histories) .ThenInclude(h => h.ServiceType) //.FirstOrDefaultAsync(o => o.User.UserName.ToLower().Equals(emailRequest.Email.ToLower())); .FirstOrDefaultAsync(o => o.User.UserName.ToLower() == emailRequest.Email.ToLower()); var response = new OwnerResponse { Id = owner.Id, FirstName = owner.User.FirstName, LastName = owner.User.LastName, Address = owner.User.Address, Document = owner.User.Document, Email = owner.User.Email, PhoneNumber = owner.User.PhoneNumber, Pets = owner.Pets.Select(p => new PetResponse { Born = p.Born, Id = p.Id, ImageUrl = p.ImageFullPath, Name = p.Name, Race = p.Race, Remarks = p.Remarks, PetType = p.PetType.Name, Histories = p.Histories.Select(h => new HistoryResponse { Date = h.Date, Description = h.Description, Id = h.Id, Remarks = h.Remarks, ServiceType = h.ServiceType.Name }).ToList() }).ToList() }; //if (owner == null) //{ // return NotFound(); //} return(Ok(response)); }
public async Task <Response <OwnerResponse> > GetOwnerByEmailAsync( string urlBase, string servicePrefix, string controller, string tokenType, string accessToken, string email) { try { EmailRequest request = new EmailRequest { Email = email }; string requestString = JsonConvert.SerializeObject(request); StringContent content = new StringContent(requestString, Encoding.UTF8, "application/json"); HttpClient client = new HttpClient { BaseAddress = new Uri(urlBase) }; client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(tokenType, accessToken); string url = $"{servicePrefix}{controller}"; HttpResponseMessage response = await client.PostAsync(url, content); string result = await response.Content.ReadAsStringAsync(); if (!response.IsSuccessStatusCode) { return(new Response <OwnerResponse> { IsSuccess = false, Message = result, }); } OwnerResponse owner = JsonConvert.DeserializeObject <OwnerResponse>(result); return(new Response <OwnerResponse> { IsSuccess = true, Result = owner }); } catch (Exception ex) { return(new Response <OwnerResponse> { IsSuccess = false, Message = ex.Message }); } }
private async void SelectProperty() { Settings.Property = JsonConvert.SerializeObject(this); _owner = JsonConvert.DeserializeObject <OwnerResponse>(Settings.Owner); _property = JsonConvert.DeserializeObject <PropertyResponse>(Settings.Property); if (_owner.RoleId == 1 && _property.Contracts != null) { await _navigationService.NavigateAsync("PropertyTabbedPage"); } else { await _navigationService.NavigateAsync("PropertyPage"); } }
private async void SelectAgenda() { OwnerResponse owner = JsonConvert.DeserializeObject <OwnerResponse>(Settings.Owner); if (!IsAvailable && Owner.Id != owner.Id) { return; } NavigationParameters parameters = new NavigationParameters { { "Agenda", this } }; await _navigationService.NavigateAsync(nameof(AssignModifyAgendaPage), parameters); }
public async Task <IActionResult> Post([FromBody] CreateOwnerRequest ownerRequest) { var owner = new Owner { Name = ownerRequest.Name, DateOfBirth = ownerRequest.DateOfBirth, Address = ownerRequest.Address }; await _ownerService.CreateOwnerAsync(owner); var baseUrl = $"{HttpContext.Request.Scheme}://{HttpContext.Request.Host.ToUriComponent().ToString()}"; var locationUrl = baseUrl + "/" + ApiRoutes.Owners.Get.Replace("{ownerId}", owner.Id.ToString()); var response = new OwnerResponse { Id = owner.Id }; return(Created(locationUrl, response)); }
public async Task <IActionResult> GetOwnerByEmailAsync(EmailRequest request) { if (!ModelState.IsValid) { return(BadRequest()); } var owner = await _dataContext.Owners .Include(o => o.User) .Include(o => o.Properties) .ThenInclude(p => p.PropertyType) .Include(o => o.Properties) .ThenInclude(p => p.PropertyImages) .Include(o => o.Contracts) .ThenInclude(c => c.Lessee) .ThenInclude(l => l.User) .FirstOrDefaultAsync(o => o.User.Email.ToLower() == request.Email.ToLower()); if (owner == null) { return(NotFound()); } var response = new OwnerResponse { Id = owner.Id, FirstName = owner.User.FirstName, LastName = owner.User.LastName, Address = owner.User.Address, Document = owner.User.Document, Email = owner.User.Email, PhoneNumber = owner.User.PhoneNumber, Properties = owner.Properties?.Select(p => new PropertyResponse { Address = p.Address, Contracts = p.Contracts?.Select(c => new ContractResponse { EndDate = c.EndDate, Id = c.Id, IsActive = c.IsActive, Lessee = ToLessesResponse(c.Lessee), Price = c.Price, Remarks = c.Remarks, StartDate = c.StartDate }).ToList(), HasParkingLot = p.HasParkingLot, Id = p.Id, IsAvailable = p.IsAvailable, Neighborhood = p.Neighborhood, Price = p.Price, PropertyImages = p.PropertyImages?.Select(pi => new PropertyImageResponse { Id = pi.Id, ImageUrl = pi.ImageFullPath }).ToList(), PropertyType = p.PropertyType.Name, Remarks = p.Remarks, Rooms = p.Rooms, SquareMeters = p.SquareMeters, Stratum = p.Stratum }).ToList() }; return(Ok(response)); }
private async Task <IActionResult> GetOwnerAsync(EmailRequest emailRequest) { var owner = await _dataContext.Owners .Include(o => o.User) .Include(o => o.Properties) .ThenInclude(p => p.PropertyType) .Include(o => o.Properties) .ThenInclude(p => p.PropertyImages) .Include(o => o.Contracts) .ThenInclude(c => c.Lessee) .ThenInclude(l => l.User) .OrderByDescending(p => p.Id) .FirstOrDefaultAsync(o => o.User.UserName.ToLower().Equals(emailRequest.Email.ToLower())); var response = new OwnerResponse { RoleId = 1, Id = owner.Id, FirstName = owner.User.FirstName, LastName = owner.User.LastName, Address = owner.User.Address, Document = owner.User.Document, Email = owner.User.Email, PhoneNumber = owner.User.PhoneNumber, Properties = owner.Properties?.Select(p => new PropertyResponse { Address = p.Address, Contracts = p.Contracts?.Select(c => new ContractResponse { EndDate = c.EndDate, Id = c.Id, IsActive = c.IsActive, Lessee = ToLessesResponse(c.Lessee), Price = c.Price, Remarks = c.Remarks, StartDate = c.StartDate }).ToList(), HasParkingLot = p.HasParkingLot, Id = p.Id, IsAvailable = p.IsAvailable, Neighborhood = p.Neighborhood, Price = p.Price, PropertyImages = p.PropertyImages?.Select(pi => new PropertyImageResponse { Id = pi.Id, ImageUrl = pi.ImageFullPath }).ToList(), PropertyType = p.PropertyType.Name, Remarks = p.Remarks, Rooms = p.Rooms, Bathrooms = p.Bathrooms, Balconies = p.Balconies, SquareMeters = p.SquareMeters, Stratum = p.Stratum, Latitude = p.Latitude, Longitude = p.Longitude, Typeprop = p.Typeprop }).ToList(), Contracts = owner.Contracts?.Select(c => new ContractResponse { EndDate = c.EndDate, Id = c.Id, IsActive = c.IsActive, Price = c.Price, Remarks = c.Remarks, StartDate = c.StartDate }).ToList() }; return(Ok(response)); }