예제 #1
0
        private Disponibilidad DisponiDTOTodisponibilidadDAL(DisponibilidadDTO inobj)
        {
            Disponibilidad objTo = new Disponibilidad();

            objTo.calindicador = inobj.calculoIndicador;
            objTo.descfallo    = inobj.descFallo;

            //objTo.codsercapac = inobj.codSerCapacitacion;
            objTo.finfallo    = inobj.finFallo;
            objTo.iniciofallo = inobj.inicioFallo;
            objTo.respfallo   = inobj.responFallo;

            objTo.tiempofallo = inobj.tiempoFallo;

            objTo.tipofallo = inobj.tipoFallo;

            objTo.iniciofallo = null;
            if (inobj.inicioFallo != null && inobj.inicioFallo > SqlDateTime.MinValue.Value)
            {
                objTo.iniciofallo = inobj.inicioFallo;
            }

            objTo.finfallo = null;
            if (inobj.finFallo != null && inobj.finFallo > SqlDateTime.MinValue.Value)
            {
                objTo.iniciofallo = inobj.finFallo;
            }

            return(objTo);
        }
예제 #2
0
        private async void BtnEnviar_Clicked(object sender, EventArgs e)
        {
            try
            {
                bool respuesta;
                //Le pedimos confirmación para enviar la disponibilidad
                respuesta = await DisplayAlert("Confirmación", "¿Seguro que quieres enviar la disponibilidad?", "CONTINUAR", "CANCELAR");

                if (respuesta)
                {
                    DisponibilidadDTO disponibilidad = RellenarDisponibilidad();

                    int filasInsertadas = DatabaseHelper.InsertarDisponibilidad(disponibilidad);
                    if (filasInsertadas != 1)
                    {
                        await DisplayAlert("ERROR", "Error al enviar la disponibilidad", "ACEPTAR");
                    }
                    else
                    {
                        await DisplayAlert("OK", "Disponibilidad enviada correctamente", "ACEPTAR");

                        SetValorControles();
                        DeshabilitarControles();
                    }
                }
            }
            catch (Exception ex)
            {
                Log.Log.LogMessageToFile("Error al enviar la disponibilidad: " + ex.Message + " EN " + ex.StackTrace);
            }
        }
예제 #3
0
        public async Task <IActionResult> PostAsync([FromBody] DisponibilidadDTO disponibilidad)
        {
            var result = await _domain.ExecuteAsync(disponibilidad).ConfigureAwait(false);

            return(Ok(new DisponibilidadWrapper()
            {
                IdDisponibilidad = result
            }));
        }
예제 #4
0
        public async Task <int> ExecuteAsync(DisponibilidadDTO inobj)
        {
            Disponibilidad objTo = DisponiDTOTodisponibilidadDAL(inobj);

            objTo.IdContrato = inobj.IdContrato;
            int interno = await _disponibilidadService.CrearDisponibilidad(objTo);

            return(interno);
        }
예제 #5
0
        public static List <DisponibilidadDTO> BuscarDiponibilidad(DateTime fecha, int tipoCancha, int zona, decimal precioMax)
        {
            //PARA BUSCAR LA DISPONIBILIDAD:
            //----------------------------------------------------------------------------------------
            //1- OBTENGO EL "DIA" (DE LA SEMANA) QUE CORRESPONDE A LA FECHA DE BUSQUEDA
            //2- OBTENGO LOS HORARIOS DE LAS CANCHAS QUE COINCIDEN CON EL FILTRO (DIA, TIPO, MONTO...)
            //3- OBTENGO TODAS LAS RESERVAS DE LA FECHA BUSCADA
            //4- RECORRO LOS HORARIOS, HORA POR HORA, PARA ARMAR EL LISTADO DE "DISPONIBLES"
            //5- AQUELLOS HORARIOS CON RESERVA, LOS MARCO COMO "OCUPADOS"

            string dia = GetDiaByFecha(fecha);
            List <CanchasHorariosDTO> horarios       = DAO.CanchasHorariosDAO.Buscar(zona, precioMax, tipoCancha, dia);
            List <ReservasDTO>        reservas       = DAO.ReservasDAO.ReadAll(fecha);
            List <DisponibilidadDTO>  disponibilidad = new List <DisponibilidadDTO>();

            for (int i = 0; i < horarios.Count; i++)
            {
                //Recorro hora x hora todo el rango disponible para esta cancha / dia.
                for (int hora = horarios[i].HoraDesde; hora < horarios[i].HoraHasta; hora++)
                {
                    DisponibilidadDTO disp = new DisponibilidadDTO();

                    disp.Dia       = dia;
                    disp.FechaHora = fecha.AddHours(hora);
                    disp.Horario   = hora;
                    disp.IdCancha  = horarios[i].IdCancha;

                    //Chequeo si ya esta reservado:
                    ReservasDTO reserva = reservas.Find(x => x.IdCancha == disp.IdCancha && x.FechaHora == disp.FechaHora);
                    if (reserva == null)
                    {
                        //Si no encontre ninguna reserva para esta cancha, fecha y horario,
                        //la agrego como disponible.
                        disp.Ocupada = false;
                    }
                    else
                    {
                        //Sino, la marco como ocupada.
                        disp.Ocupada = true;
                    }

                    disponibilidad.Add(disp);
                }
            }

            return(disponibilidad);
        }
예제 #6
0
 public Disponibilidad()
 {
     try
     {
         InitializeComponent();
         DisponibilidadPage.Title = "Disponibilidad semana " + DateTime.Today.GetDateSiguienteLunes().ToString("dd/MM/yy");
         //Comprobamos si ya se ha enviado la disponibilidad esta semana, si devuelve objeto ya hay disponibilidad y bloqueamos la pantalla
         disponibilidad = DatabaseHelper.CargarDisponibilidad(UsuarioActivoDTO.IdArbitro, DateTime.Today.GetDateSiguienteLunes());
         //BindingContext = new ConsultarPartidosViewModel();
         if (disponibilidad != null)
         {
             disponibilidadEnviada = true;
             SetValorControles();
             DeshabilitarControles();
         }
     }
     catch (Exception ex)
     {
         DisplayAlert("ERROR", ex.Message, "ACEPTAR");
         lblInfo.Text = "ERROR: " + ex.Message;
     }
 }
예제 #7
0
        public DesignarPartidos(ArbitroDTO arbitro)
        {
            try
            {
                InitializeComponent();
                ArbitroDesignando          = arbitro;
                pageDesignarPartidos.Title = "Designación partidos de " + arbitro.Alias + ": ";
                lblAlias.Text = arbitro.Alias;

                //Cargamos la disponibilidad del arbitro (de esta semana)
                DisponibilidadDTO disponibilidad = DatabaseHelper.CargarDisponibilidad(arbitro.IdArbitro, DateTime.Today.GetDateAnteriorLunes());
                if (disponibilidad != null)
                {
                    SetValorControles(disponibilidad);
                }


                //Cargamos los partidos que quedan por designar
                listaPartidosAsignables = new ObservableCollection <PartidoDTO>(DatabaseHelper.GetPartidosDisponibles(ArbitroDesignando.IdArbitro));
                if (listaPartidosAsignables != null && listaPartidosAsignables.Any())
                {
                    listaAsignables.ItemsSource = listaPartidosAsignables;
                }

                //Cargamos los partidos que ya tiene designados
                listaPartidosAsignados = new ObservableCollection <PartidoDTO>(DatabaseHelper.CargarPartidos(ArbitroDesignando.IdArbitro, DateTime.Today.GetDateAnteriorLunes(), DateTime.Today.GetDateSiguienteLunes(), false));
                if (listaPartidosAsignados != null && listaPartidosAsignados.Any())
                {
                    listaAsignados.ItemsSource = listaPartidosAsignados;
                }
            }
            catch (Exception ex)
            {
                DisplayAlert("ERROR", ex.Message, "ACEPTAR");
                lblInfo.Text = "ERROR " + ex.Message;
            }
        }
예제 #8
0
        /// <summary>
        /// Mete los datos elegidos por el usuario en un objeto DisponibilidadDTO
        /// </summary>
        /// <returns></returns>
        private DisponibilidadDTO RellenarDisponibilidad()
        {
            DisponibilidadDTO disponibilidad = new DisponibilidadDTO();
            StringWriter      stringWriter   = null;

            try
            {
                DisponibilidadXMLDTO disponibilidadXML = new DisponibilidadXMLDTO();
                //Viernes = cbViernes.IsToggled;
                disponibilidadXML.Viernes             = cbViernes.IsToggled;
                disponibilidadXML.Sabado1             = cbSabado1.IsToggled;
                disponibilidadXML.Sabado2             = cbSabado2.IsToggled;
                disponibilidadXML.Domingo1            = cbDomingo1.IsToggled;
                disponibilidadXML.Domingo2            = cbDomingo2.IsToggled;
                disponibilidadXML.Comentarios         = txtComentarios.Text;
                disponibilidadXML.FechaDisponibilidad = DateTime.Today.GetDateSiguienteLunes();

                disponibilidad.InfoDisponibilidad  = disponibilidadXML;
                disponibilidad.FechaDisponibilidad = DateTime.Today.GetDateSiguienteLunes();

                //Serializamos la clase disponibilidadXMLDto y lo pasamos a un string
                return(disponibilidad);
            }
            catch (Exception ex)
            {
                return(null);

                throw;
            }
            finally
            {
                if (stringWriter != null)
                {
                    stringWriter.Close();
                }
            }
        }
예제 #9
0
        /// <summary>
        /// Traduce los valores de disponibilidad de base de datos a colores en la pantalla
        /// </summary>
        /// <param name="disponibilidad"></param>
        private void SetValorControles(DisponibilidadDTO disponibilidad)
        {
            try
            {
                if (disponibilidad.InfoDisponibilidad.Viernes)
                {
                    lblViernes.BackgroundColor = Color.FromHex("#dafa7a");
                }
                else
                {
                    lblViernes.BackgroundColor = Color.FromHex("#ff6666");
                }

                if (disponibilidad.InfoDisponibilidad.Sabado1)
                {
                    lblSabado1.BackgroundColor = Color.FromHex("#dafa7a");
                }
                else
                {
                    lblSabado1.BackgroundColor = Color.FromHex("#ff6666");
                }

                if (disponibilidad.InfoDisponibilidad.Sabado2)
                {
                    lblSabado2.BackgroundColor = Color.FromHex("#dafa7a");
                }
                else
                {
                    lblSabado2.BackgroundColor = Color.FromHex("#ff6666");
                }

                if (disponibilidad.InfoDisponibilidad.Domingo1)
                {
                    lblDomingo1.BackgroundColor = Color.FromHex("#dafa7a");
                }
                else
                {
                    lblDomingo1.BackgroundColor = Color.FromHex("#ff6666");
                }

                if (disponibilidad.InfoDisponibilidad.Domingo2)
                {
                    lblDomingo2.BackgroundColor = Color.FromHex("#dafa7a");
                }
                else
                {
                    lblDomingo2.BackgroundColor = Color.FromHex("#ff6666");
                }

                string comentarios = disponibilidad.InfoDisponibilidad.Comentarios;
                if (String.IsNullOrEmpty(comentarios))
                {
                    lblComentarios.Text = "Comentarios: ";
                }
                else
                {
                    lblComentarios.Text = "Comentarios: " + comentarios;
                }
            }
            catch (Exception ex)
            {
                DisplayAlert("ERROR", "Error al cargar la disponibilidad " + ex.Message + System.Environment.NewLine + ex.StackTrace, "ACEPTAR");
            }
        }