private async void Login() { if (string.IsNullOrEmpty(Email)) { await dialogService.ShowMessage("Error", "Debe de ingresar un email valido"); return; } if (string.IsNullOrEmpty(Password)) { await dialogService.ShowMessage("Error", "Debe de ingresar un password"); return; } IsRunning = true; IsEnabled = false; var connection = await apiService.CheckConnection(); if (!connection.IsSuccess) { IsRunning = false; IsEnabled = true; await dialogService.ShowMessage("Error", connection.Message); return; } var response = await apiService.GetToken("http://condoscrwebapi.azurewebsites.net", Email, Password); if (response == null) { IsRunning = false; IsEnabled = true; await dialogService.ShowMessage("Error", "Ocurrió un error inesperado. Invente más tarde"); Email = string.Empty; Password = string.Empty; return; } if (string.IsNullOrEmpty(response.AccessToken)) { IsRunning = false; IsEnabled = true; await dialogService.ShowMessage("Error", response.ErrorDescription); Email = string.Empty; Password = string.Empty; return; } var mainViewModel = MainViewModel.GetInstance(); mainViewModel.Token = response; var infoUsuario = await apiService.Get <Usuario>("http://condoscrwebapi.azurewebsites.net/", "api", "/infoUsuario", response.TokenType, response.AccessToken, "NombreUsuario", response.UserName); if (!infoUsuario.IsSuccess) { IsRunning = false; IsEnabled = true; await dialogService.ShowMessage("Error", infoUsuario.Message); Email = string.Empty; Password = string.Empty; return; } mainViewModel.InfoUsuario = infoUsuario.Result as Usuario; mainViewModel.Principal = new PrincipalViewModel(); await navigationService.Navigate("PrincipalView"); Email = null; Password = null; IsRunning = false; IsEnabled = true; }
async void ReservarZona() { IsRunning = true; IsEnabled = false; var zonaPublicaViewModel = ZonaPublicaCalendarioViewModel.GetInstance(); if (Fecha <= DateTime.Today) { IsRunning = false; IsEnabled = true; await dialogService.ShowMessage("Error", "La fecha no puede ser menor o igual a la actual"); return; } if (HoraInicio >= HoraFinal) { IsRunning = false; IsEnabled = true; await dialogService.ShowMessage("Error", "La Hora de inicio no puede ser mayor a la hora final"); return; } var _horaI = Fecha.Add(HoraInicio); var _horaF = Fecha.Add(HoraFinal); var _lista = zonaPublicaViewModel.Calendario.ToList(); if (_lista.Where(p => p.Fecha == Fecha).Count() == 2) { IsRunning = false; IsEnabled = true; await dialogService.ShowMessage("Error", "Para esta fecha ya están cubiertas las reservaciones permitidas diarias"); return; } var _existe = _lista.Where(p => p.Fecha == Fecha).SingleOrDefault(); if (_existe != null && _horaI < _existe.HoraFinal) { IsRunning = false; IsEnabled = true; await dialogService.ShowMessage("Error", "Ya existe una reservación que está en ese rango de horas"); return; } var connection = await apiService.CheckConnection(); if (!connection.IsSuccess) { IsRunning = false; IsEnabled = true; await dialogService.ShowMessage("Error", connection.Message); return; } var mainViewModel = MainViewModel.GetInstance(); var response = await apiService.Post <Calendario>("http://condoscrwebapi.azurewebsites.net/", "api", "/CalendarioZonasPublicas", new Calendario { InmuebleID = ZonaID, Comentarios = Comentario, Fecha = Fecha, HoraFinal = _horaF, HoraInicio = _horaI, UsuarioID = mainViewModel.InfoUsuario.UsuarioID, Estado = 1 }); if (!response.IsSuccess) { await dialogService.ShowMessage("Error", "No se pudo agregar al invitado"); IsRunning = false; IsEnabled = true; return; } await dialogService.ShowMessage("", "El registro se agregó exitosamente"); _lista.Add((Calendario)response.Result); zonaPublicaViewModel.Calendario = new System.Collections.ObjectModel.ObservableCollection <Calendario>(_lista.OrderBy(p => p.Fecha)); await Application.Current.MainPage.Navigation.PopAsync(); IsRunning = false; IsEnabled = true; }
async void EnviarComentarios() { IsRunning = true; IsEnabled = false; if (string.IsNullOrEmpty(Comentario)) { IsRunning = false; IsEnabled = true; await dialogService.ShowMessage("Error", "Debe de agregar un Comentario"); return; } var connection = await apiService.CheckConnection(); if (!connection.IsSuccess) { IsRunning = false; IsEnabled = true; await dialogService.ShowMessage("Error", connection.Message); return; } var mainViewModel = MainViewModel.GetInstance(); byte[] imageArray = null; if (_file != null) { imageArray = FilesHelper.ReadFully(_file.GetStream()); _file.Dispose(); } var response = await apiService.Post <Comentario>("http://condoscrwebapi.azurewebsites.net", "api", "/CondoComentarios", new Comentario { Detalle = Comentario, ImageArray = imageArray, CorreoElectronico = mainViewModel.Token.UserName, Inquilino = mainViewModel.InfoUsuario.NombreCompleto + " " + mainViewModel.InfoUsuario.PrimerApellido }); if (!response.IsSuccess) { IsRunning = false; IsEnabled = true; await dialogService.ShowMessage("Error", response.Message); return; } IsRunning = false; IsEnabled = true; await dialogService.ShowMessage("", "El comentario fue enviado exitosamente"); return; }