Exemple #1
0
        protected void btnConfirmarTurno_Click(object sender, EventArgs e)
        {
            txtMailGenerico.Visible = false;
            lblMailGenerico.Visible = false;
            int cant = 0;

            lblMensajeConfirma.Text         = "";
            lblMensajeConfirma.Visible      = false;
            this.lblMensajeConfirma.Visible = false;
            this.trError.Visible            = false;

            IGuiasSolicitudConfirmacionTurnoDominio _guiasDominio = IoC.GetObjectDominio <IGuiasSolicitudConfirmacionTurnoDominio>();

            usuario = (IUsuarios)Session["usuario"];                                     //cargo el usuario
            cant    = Utiles.Validaciones.obtieneEntero(this.txtGuiaIndexConfirma.Text); //la cantidad de guias cargadas
            string     Errores = "", ObDetalle = "";
            List <int> GuiasBien = new List <int>();
            string     txtFecha  = "";

            try
            {
                if (cant == 0)
                {
                    throw new Exception("Debe ingresar al menos una guia, para confirmar turnos");
                }
                else
                {
                    for (int i = 0; i < cant; i++)
                    {
                        string txt = "txtConfirma" + i;                                                //cargo el numero de la guia
                        string ddl = "ddl" + i.ToString();
                        string txtFechaConfirma          = "txtFechaConfirma" + i.ToString();          //cargo la fecha
                        string txtDetalleUsuarioConfirma = "txtDetalleUsuarioConfirma" + i.ToString(); //cargo el detalle ingresado

                        txtFecha = Request.Form[txtFechaConfirma].ToString();

                        string nroGuia = Request.Form[txt].ToString();
                        ObDetalle = Request.Form[txtDetalleUsuarioConfirma].ToString();
                        string tGuia = "";

                        //separo el numero de la guia
                        tGuia = NegociosSisPackInterface.SisPack.TipoGuia(nroGuia.Substring(0, 1));
                        string nroSucursal = nroGuia.Substring(1, 4);
                        string nGuia       = nroGuia.Substring(5);

                        //traigo el guiaid
                        IGuia oGuia = GuiaFactory.GetGuia();
                        oGuia.NroGuia         = Utiles.Validaciones.obtieneEntero(nGuia);
                        oGuia.NroSucursalGuia = nroSucursal;
                        oGuia.TipoGuia        = tGuia;
                        oGuia.Consultar();

                        //cargo el guiaid para guardar en una tabla para que ya se sepa que guia se pidio turno
                        guiaidST = oGuia.GuiaID;

                        try
                        {
                            //valido que lo ingresado sea una fecha.
                            Convert.ToDateTime(txtFecha);
                            //se comento porque se pidio que se pueda confirmar el mismo dia.
                            //FQUIroga 16/03/2017
                            //valida que la fecha no sea menor a la fecha actual
                            //   DateTime hoy = DateTime.Now;
                            //if (Convert.ToDateTime(txtFecha) < hoy)
                            //    if (Errores == "")
                            //    {
                            //        Errores = "Fecha mal ingresada " + txtFecha + "para la guia " + tGuia + "-" + nroSucursal + nGuia;
                            //    }
                            //    else
                            //    {
                            //        Errores = Errores + "Fecha mal ingresada " + txtFecha + "para la guia " + tGuia + "-" + nroSucursal + nGuia;
                            //    }
                        }
                        catch
                        {
                            if (Errores == "")
                            {
                                Errores = "Debe ingresar una Fecha para la guia " + tGuia + "-" + nroSucursal + nGuia;
                            }
                            else
                            {
                                Errores = Errores + "Debe ingresar una Fecha para la guia " + tGuia + "-" + nroSucursal + nGuia;
                            }
                        }
                        //si tiene error que no entre que directamente muestre el error

                        if (Errores == "")
                        {
                            if (_guiasDominio.ValidaGuiaEnTurno(guiaidST) == 0)//quiere decir que se envio el mail esta cargado en la tabla verificar si esta en estado 1
                            {
                                if (Errores == "")
                                {
                                    Errores = "La guia " + tGuia + "-" + nroSucursal + "-" + nGuia + " no está disponible para confirmar turno.";
                                }
                                else
                                {
                                    Errores = Errores + "La guia " + tGuia + "-" + nroSucursal + "-" + nGuia + " no está disponible para confirmar turno.";
                                }
                            }
                        }
                        if (Errores == "")
                        {
                            //guarda las guias que no traen ningun error
                            GuiasBien.Add(guiaidST);
                        }
                    }
                    //recorre para actualizar las guias que estan bien
                    try
                    {
                        for (int i2 = 0; i2 < GuiasBien.Count; i2++)
                        {
                            _guiasDominio.ActualizaEstadoFecha(guiaidST, Convert.ToDateTime(txtFecha), usuario.UsuarioID, ObDetalle);//actualiza el estado y carga la fecha
                        }
                    }
                    catch
                    {
                        string scriptString = "<script language=JavaScript>\n";
                        scriptString += "alert('Error al intentar confirmar las Solicitudes ingresadas');\n";
                        scriptString += "</script>";
                        Page.RegisterStartupScript("scrip", scriptString);
                    }
                    if (Errores == "")
                    {
                        this.txtGuiaIndexConfirma.Text = "0";
                        string scriptString = "<script language=JavaScript>\n";
                        scriptString += "alert('Guias confirmadas exitosamente');\n";
                        scriptString += "</script>";
                        Page.RegisterStartupScript("scrip", scriptString);
                    }
                    else
                    {
                        this.txtGuiaIndexConfirma.Text  = "0";
                        lblMensajeConfirma.Text         = "Las siguientes guias tienen problemas para confirmar turnos: " + Errores;
                        lblMensajeConfirma.Visible      = true;
                        this.lblMensajeConfirma.Visible = true;
                        this.trError.Visible            = true;
                    }
                }
            }
            catch (Exception ex)
            {
                ((ErrorWeb)(this.phErrores.Controls[0])).setMensaje((ex.Message));
            }
        }