Example #1
0
        private void button_save_Click(object sender, EventArgs e)
        {
            if (this.comboBox_hora.Text.Equals(""))
            {
                this.box_medico.Text = "";
                return;
            }

            DateTime Fecha;
            DateTime Hora;

            //Fecha = this.Combo_fecha.Value;
            Fecha = Convert.ToDateTime(this.Combo_fecha.Value.ToShortDateString());

            Hora = Convert.ToDateTime(this.comboBox_hora.Text);
            TimeSpan Hour       = new TimeSpan(Hora.Hour, Hora.Minute, 0);
            DateTime FechaTurno = Fecha.Add(Hour);

            if (Cod_Afiliado == -1)
            {
                Cod_Afiliado = elAfiliado.Cod_Afiliado;
            }

            if (SQL_Methods.Turno_Registrar(Matricula, Cod_Especialidad, Cod_Afiliado, FechaTurno) == -1)
            {
                MessageBox.Show("No se pudo agregar el turno.");
                return;
            }

            menu.Visible = true;
            this.Dispose();
            return;
        }
Example #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;
        }