示例#1
0
        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;
        }
示例#2
0
        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;
        }
示例#3
0
        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;
        }