BL.Citas.existeCitaTerapiaProgramada C# (CSharp) Method

existeCitaTerapiaProgramada() public method

public existeCitaTerapiaProgramada ( System.DateTime fecha, System.TimeSpan horaInicio, System.TimeSpan horaFinal, String nombreTerapeuta ) : System.Boolean
fecha System.DateTime
horaInicio System.TimeSpan
horaFinal System.TimeSpan
nombreTerapeuta String
return System.Boolean
        public Boolean existeCitaTerapiaProgramada(DateTime fecha, TimeSpan horaInicio, TimeSpan horaFinal, String nombreTerapeuta)
        {
            Boolean existeCita;
            try
            {
                Usuarios user = new Usuarios();

                String userName = user.RetrieveUserName(nombreTerapeuta);

                //Verificamos que la hora inicio no esta tomada
                var query1 = from citas_t in entities.citas_terapia
                             where horaInicio>=citas_t.hora_inicio && horaInicio <= citas_t.hora_final && citas_t.fecha == fecha.Date
                             && citas_t.user == userName
                             select citas_t;

                //Verificamos que la hora final no esta tomada
                var query2 = from citas_t in entities.citas_terapia
                             where horaFinal >= citas_t.hora_inicio && horaFinal <= citas_t.hora_final && citas_t.fecha == fecha.Date
                             && citas_t.user == userName
                             select citas_t;

                existeCita = query1.Any() || query2.Any();

                return existeCita;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

Usage Example

Exemplo n.º 1
0
    protected void btIngresar_Click(object sender, EventArgs e)
    {
        if (!validarHoras())
        {
            return;
        }

        TimeSpan horaCitaInicio = new TimeSpan(timeSelectorHoraEmpieza.Hour, timeSelectorHoraEmpieza.Minute, 0);
        TimeSpan horaCitaFinaliza = new TimeSpan(timeSelectorHoraTermina.Hour, timeSelectorHoraTermina.Minute, 0);
        DateTime fechaCita = DateTime.Parse(txtfecha.Text);
        int prefijo = intIdCentro;

        try
        {
            BL.Citas cita = new BL.Citas();

            if (cita.existeCitaTerapiaProgramada(fechaCita.Date,horaCitaInicio,horaCitaFinaliza,cmbEmpleados.Text) )
            {
                Response.Write("<script>alert('El terapeuta ya tiene una cita en esta hora y fecha')</script>");
            }
            else
            {
                cita.NuevaCitaTerapia(fechaCita.Date,cmbEmpleados.Text,intIdCentro,long.Parse(txtNumExpediente.Text),horaCitaInicio,horaCitaFinaliza);
                Response.Write("<script>alert('Se ha agregado la cita!')</script>");
            }
            LimpiarControles();

        }
        catch (Exception ex)
        {
            Session["Error_Msg"] = "Ha ocurrido un error al intentar agregar la cita, compruebe el número de expediente";
            Response.Redirect("~/Error.aspx", true);
        }
    }