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; }
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; }