Exemple #1
0
    public static int ConfirmarAnulacion(String[] strParametros)
    {
        SRC_AnularCita objAnular = new SRC_AnularCita();
        CitasBL        oCitasBL  = new CitasBL();
        CitasBE        oCitasBE  = new CitasBE();
        //--> ANULAMOS LA CITA
        int   intEstadoCita; Int32.TryParse(strParametros[0], out intEstadoCita);
        Int32 nid_cita; Int32.TryParse(strParametros[1], out nid_cita);
        Int32 nid_estado; Int32.TryParse(strParametros[2], out nid_estado);
        Int32 nid_asesor; Int32.TryParse(strParametros[3], out nid_asesor);

        oCitasBE.nid_cita   = nid_cita;
        oCitasBE.nid_estado = nid_estado;
        // Verificamos si hay Cliente en Cola de Espera
        Int32  intCitaCE = 0;
        string strCitaCE = oCitasBL.GetCitaColaEspera(oCitasBE);

        if (!(string.IsNullOrEmpty(strCitaCE)))
        {
            intCitaCE = Convert.ToInt32(strCitaCE);
        }
        Int32 resCita = 0;

        try
        {
            resCita = oCitasBL.Anular(oCitasBE);
            if (resCita == 1) //OK
            {
                CorreoElectronico oEmail = new CorreoElectronico(HttpContext.Current.Server.MapPath("~/"));

                oCitasBE                  = new CitasBE();
                oCitasBE.nid_cita         = nid_cita;
                oCitasBE.cod_reserva_cita = "";
                CitasBEList oCitasBEList = new CitasBEList();
                oCitasBEList = oCitasBL.Listar_Datos_Cita(oCitasBE);
                //if (intEstadoCita != (Int32)Parametros.EstadoCita.COLA_ESPERA) //Envio Email Anulacion
                //    oEmail.EnviarCorreo_Cliente(oCitasBEList[0], Parametros.EstadoCita.ANULADA);
                //ASIGNAMOS LA CITA, A UN CLIENTE EN COLA DE ESPERA SI LO HUBIESE
                //---------------------------------------------------------------------
                if (intCitaCE != 0) //Si hay cita a Asignar
                {
                    try
                    {
                        oCitasBE            = new CitasBE();
                        oCitasBE.nid_cita   = intCitaCE;
                        oCitasBE.nid_asesor = nid_asesor;
                        oCitasBE.no_pais    = "PE";
                        string strResultCE = oCitasBL.AsignarClienteColaEspera(oCitasBE);
                        if (!(string.IsNullOrEmpty(strResultCE)))
                        {
                            oCitasBE                  = new CitasBE();
                            oCitasBE.nid_cita         = intCitaCE;
                            oCitasBE.cod_reserva_cita = "";
                            oCitasBEList              = new CitasBEList();
                            oCitasBEList              = oCitasBL.Listar_Datos_Cita(oCitasBE);
                            //oEmail.EnviarCorreo_Cliente(oCitasBEList[0], Parametros.EstadoCita.REASIGNADA);
                        }
                        else
                        {
                            return(-1);
                        }
                        //SRC_MsgError("Error al reasignar");
                    }
                    catch
                    {
                        return(-2);
                        //SRC_MsgError("Error al reasignar" + Environment.NewLine + ex.Message);
                    }
                }
            }
            else if (resCita == 0) //NO EXISTE LA CITA
            {
                return(-3);
            }
            else if (resCita > 10) //REPROGRAMADA POR OTRO USUARIO
            {
                return(-4);
            }
            else
            {
            }
        }
        catch
        {
            return(0);
        }
        return(1);
    }