protected void gvFranquiciatarios_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "Editar")
            {
                ViewState["Accion"] = "Actualizar";
                DesbloquearCampos();
                btnCerrar.Visible   = false;
                btnCancelar.Visible = true;
                btnGuardar.Visible  = true;
                btnEditar.Visible   = false;
                lblTituloModal.Text = "Actualizar Franquicia";
                btnGuardar.Text     = "<i class=" + "material-icons>" + "refresh </i> Actualizar";

                int         index        = Convert.ToInt32(e.CommandArgument.ToString());
                GridViewRow Seleccionado = gvFranquiciatarios.Rows[index];
                GridView    valor        = (GridView)sender;
                Guid        dataKeys     = Guid.Parse(valor.DataKeys[Seleccionado.RowIndex].Value.ToString());
                ViewState["UidFranquiciatario"] = dataKeys;

                ManejoDatos(dataKeys);

                ScriptManager.RegisterStartupScript(this, this.GetType(), "FormScript", "showModal()", true);
            }

            if (e.CommandName == "Ver")
            {
                BloquearCampos();
                btnCerrar.Visible   = true;
                btnCancelar.Visible = false;
                btnGuardar.Visible  = false;
                btnEditar.Visible   = true;

                int         index        = Convert.ToInt32(e.CommandArgument.ToString());
                GridViewRow Seleccionado = gvFranquiciatarios.Rows[index];
                GridView    valor        = (GridView)sender;
                Guid        dataKeys     = Guid.Parse(valor.DataKeys[Seleccionado.RowIndex].Value.ToString());
                ViewState["UidFranquiciatario"] = dataKeys;

                ManejoDatos(dataKeys);

                lblTituloModal.Text = "Visualización de la Franquicia";

                ScriptManager.RegisterStartupScript(this, this.GetType(), "FormScript", "showModal()", true);
            }

            if (e.CommandName == "btnCredencialesLigas")
            {
                int         index        = Convert.ToInt32(e.CommandArgument.ToString());
                GridViewRow Seleccionado = gvFranquiciatarios.Rows[index];
                GridView    valor        = (GridView)sender;
                Guid        dataKeys     = Guid.Parse(valor.DataKeys[Seleccionado.RowIndex].Value.ToString());
                ViewState["UidFranquiciatario"] = dataKeys;

                //lblTituloModal.Text = "Visualización de la Franquicia";

                parametrosEntradaServices.ObtenerParametrosEntradaFraquicia(dataKeys);
                txtIdCompany.Text = parametrosEntradaServices.parametrosEntradaRepository.parametrosEntrada.IdCompany;
                txtIdBranch.Text  = parametrosEntradaServices.parametrosEntradaRepository.parametrosEntrada.IdBranch;
                txtUsuario.Text   = parametrosEntradaServices.parametrosEntradaRepository.parametrosEntrada.VchUsuario;
                txtPassword.Text  = parametrosEntradaServices.parametrosEntradaRepository.parametrosEntrada.VchPassword;

                if (!string.IsNullOrEmpty(txtIdCompany.Text) && !string.IsNullOrEmpty(txtIdBranch.Text))
                {
                    txtMoneda.Text     = parametrosEntradaServices.parametrosEntradaRepository.parametrosEntrada.VchModena;
                    txtCanal.Text      = parametrosEntradaServices.parametrosEntradaRepository.parametrosEntrada.VchCanal;
                    txtData.Text       = parametrosEntradaServices.parametrosEntradaRepository.parametrosEntrada.VchData0;
                    txtUrl.Text        = parametrosEntradaServices.parametrosEntradaRepository.parametrosEntrada.VchUrl;
                    txtSemillaAES.Text = parametrosEntradaServices.parametrosEntradaRepository.parametrosEntrada.VchSemillaAES;

                    ViewState["AccionParametros"] = "ActualizarParametros";
                    btnGuardarCredenciales.Text   = "<i class=" + "material-icons>" + "refresh </i> Actualizar";
                }
                else
                {
                    ViewState["AccionParametros"] = "GuardarParametros";
                    btnGuardarCredenciales.Text   = "<i class=" + "material-icons>" + "check </i> Guardar";
                }

                ScriptManager.RegisterStartupScript(this, this.GetType(), "FormScript", "showModalCredenciales()", true);
            }

            if (e.CommandName == "btnPromociones")
            {
                int         index        = Convert.ToInt32(e.CommandArgument.ToString());
                GridViewRow Seleccionado = gvFranquiciatarios.Rows[index];
                GridView    valor        = (GridView)sender;
                Guid        dataKeys     = Guid.Parse(valor.DataKeys[Seleccionado.RowIndex].Value.ToString());
                ViewState["UidFranquiciatario"] = dataKeys;

                //lblTituloModal.Text = "Visualización de la Franquicia";

                promocionesServices.CargarPromociones();

                promocionesServices.lsFranquiciasCBLPromocionesModel.Clear();
                promocionesServices.CargarPromocionesFranquicia(dataKeys);

                if (promocionesServices.lsFranquiciasCBLPromocionesModel.Count >= 1)
                {
                    ViewState["AccionPromociones"] = "ActualizarPromociones";
                    btnGuardarPromociones.Text     = "<i class=" + "material-icons>" + "refresh </i> Actualizar";
                }
                else
                {
                    ViewState["AccionPromociones"] = "GuardarPromociones";
                    btnGuardarPromociones.Text     = "<i class=" + "material-icons>" + "check </i> Guardar";
                }

                gvPromociones.DataSource = promocionesServices.lsPromociones;
                gvPromociones.DataBind();

                ScriptManager.RegisterStartupScript(this, this.GetType(), "FormScript", "showModalPromociones()", true);
            }
        }
예제 #2
0
        protected void btnGenerar_Click(object sender, EventArgs e)
        {
            string url  = string.Empty;
            bool   resu = false;

            parametrosEntradaServices.ObtenerParametrosEntradaFraquicia(Guid.Parse(ViewState["UidFranquiciaLocal"].ToString()));

            string id_company = parametrosEntradaServices.parametrosEntradaRepository.parametrosEntrada.IdCompany;
            string id_branch  = parametrosEntradaServices.parametrosEntradaRepository.parametrosEntrada.IdBranch;
            string user       = parametrosEntradaServices.parametrosEntradaRepository.parametrosEntrada.VchUsuario;
            string pwd        = parametrosEntradaServices.parametrosEntradaRepository.parametrosEntrada.VchPassword;
            string moneda     = parametrosEntradaServices.parametrosEntradaRepository.parametrosEntrada.VchModena;
            string canal      = parametrosEntradaServices.parametrosEntradaRepository.parametrosEntrada.VchCanal;
            string semillaAES = parametrosEntradaServices.parametrosEntradaRepository.parametrosEntrada.VchSemillaAES;
            string urlGen     = parametrosEntradaServices.parametrosEntradaRepository.parametrosEntrada.VchUrl;
            string data0      = parametrosEntradaServices.parametrosEntradaRepository.parametrosEntrada.VchData0;

            if (!string.IsNullOrEmpty(id_company) && !string.IsNullOrEmpty(id_branch) && !string.IsNullOrEmpty(user) && !string.IsNullOrEmpty(pwd) && !string.IsNullOrEmpty(moneda) && !string.IsNullOrEmpty(canal) && !string.IsNullOrEmpty(semillaAES) && !string.IsNullOrEmpty(urlGen) && !string.IsNullOrEmpty(data0))
            {
                foreach (var item in usuariosCompletosServices.lsgvUsuariosSeleccionados)
                {
                    bool VariasLigas     = false;
                    Guid UidLigaAsociado = Guid.NewGuid();

                    foreach (ListItem itPromo in cblPromociones.Items)
                    {
                        if (itPromo.Selected)
                        {
                            VariasLigas = true;
                        }
                    }

                    if (VariasLigas)
                    {
                        DateTime thisDay         = DateTime.Now;
                        string   ReferenciaCobro = item.IdFranquicia.ToString() + item.IdUsuario.ToString() + thisDay.ToString("ddMMyyyyHHmmssfff");

                        string urlCobro = GenLigaPara(id_company, id_branch, user, pwd, ReferenciaCobro, decimal.Parse(txtImporte.Text), moneda, canal, "C", item.StrCorreo, semillaAES, data0, urlGen);

                        if (urlCobro.Contains("https://"))
                        {
                            if (usuariosCompletosServices.GenerarLigasPagos(urlCobro, txtConcepto.Text, decimal.Parse(txtImporte.Text), ReferenciaCobro, item.UidUsuario, txtIdentificador.Text, thisDay, DateTime.Parse(txtVencimiento.Text), txtAsunto.Text, UidLigaAsociado, Guid.Empty, Guid.Parse(ViewState["UidFranquiciaLocal"].ToString())))
                            {
                                resu = true;
                                foreach (ListItem itPromo in cblPromociones.Items)
                                {
                                    if (itPromo.Selected)
                                    {
                                        int     i     = promocionesServices.lsFranquiciasCBLPromocionesModel.IndexOf(promocionesServices.lsFranquiciasCBLPromocionesModel.First(x => x.UidPromocion == Guid.Parse(itPromo.Value)));
                                        decimal cobro = promocionesServices.lsFranquiciasCBLPromocionesModel[i].DcmComicion;

                                        decimal Valor   = cobro * decimal.Parse(txtImporte.Text) / 100;
                                        decimal Importe = Valor + decimal.Parse(txtImporte.Text);

                                        string promocion = itPromo.Text.Replace(" MESES", "");

                                        DateTime thisDay2   = DateTime.Now;
                                        string   Referencia = item.IdFranquicia.ToString() + item.IdUsuario.ToString() + thisDay2.ToString("ddMMyyyyHHmmssfff");

                                        url = GenLigaPara(id_company, id_branch, user, pwd, Referencia, Importe, moneda, canal, promocion, item.StrCorreo, semillaAES, data0, urlGen);

                                        if (url.Contains("https://"))
                                        {
                                            if (usuariosCompletosServices.GenerarLigasPagos(url, txtConcepto.Text, Importe, Referencia, item.UidUsuario, txtIdentificador.Text, thisDay, DateTime.Parse(txtVencimiento.Text), txtAsunto.Text, UidLigaAsociado, Guid.Parse(itPromo.Value), Guid.Parse(ViewState["UidFranquiciaLocal"].ToString())))
                                            {
                                                resu = true;
                                            }
                                        }
                                        else
                                        {
                                            resu = false;
                                            break;
                                        }
                                    }
                                }
                            }
                        }
                        else
                        {
                            resu = false;
                            break;
                        }

                        if (resu)
                        {
                            promocionesServices.CargarPromocionesValidas(UidLigaAsociado);

                            string strPromociones = string.Empty;

                            if (promocionesServices.lsLigasUrlsPromocionesModel.Count >= 1)
                            {
                                foreach (var itPromo in promocionesServices.lsLigasUrlsPromocionesModel)
                                {
                                    decimal promocion = int.Parse(itPromo.VchDescripcion.Replace(" MESES", ""));
                                    decimal Final     = itPromo.DcmImporte / promocion;

                                    strPromociones +=
                                        "\t\t\t\t\t\t\t\t<tr>\r\n" +
                                        "\t\t\t\t\t\t\t\t\t<td width=\"50%\" style=\"color: #153643; font-family: Arial, sans-serif; font-size: 16px; line-height: 20px;text-align: right;\">\r\n" +
                                        "\t\t\t\t\t\t\t\t\t\t" + itPromo.VchDescripcion + " de $" + Final.ToString("N2") + "\r\n" +
                                        "\t\t\t\t\t\t\t\t\t</td>\r\n" +
                                        "\t\t\t\t\t\t\t\t\t<td width=\"50%\" style=\"color: #153643; font-family: Arial, sans-serif; font-size: 16px; line-height: 20px;text-align: left;\">\r\n" +
                                        "\t\t\t\t\t\t\t\t\t\t &nbsp;" + "<a style =\"display:block;color:#fff;font-weight:400;text-align:center;width:100px;font-size:15px;text-decoration:none;background:#28a745;margin:0 auto; padding:5px;\" href=" + URLBase + "Views/Promociones.aspx?CodigoPromocion=" + UidLigaAsociado + "&CodigoLiga=" + itPromo.IdReferencia + "> Pagar $" + itPromo.DcmImporte.ToString("N2") + "</a>" + "\r\n" +
                                        "\t\t\t\t\t\t\t\t\t</td>\r\n" +
                                        "\t\t\t\t\t\t\t\t</tr>\r\n";
                                }
                            }

                            string LigaUrl = URLBase + "Views/Promociones.aspx?CodigoPromocion=" + UidLigaAsociado + "&CodigoLiga=" + ReferenciaCobro;
                            correosServices.CorreoLiga(item.NombreCompleto, txtAsunto.Text, txtConcepto.Text, decimal.Parse(txtImporte.Text), DateTime.Parse(txtVencimiento.Text), LigaUrl, item.StrCorreo, strPromociones, true, item.VchNombreComercial);
                        }
                    }
                    else
                    {
                        DateTime thisDay         = DateTime.Now;
                        string   ReferenciaCobro = item.IdFranquicia.ToString() + item.IdUsuario.ToString() + thisDay.ToString("ddMMyyyyHHmmssfff");

                        string urlCobro = GenLigaPara(id_company, id_branch, user, pwd, ReferenciaCobro, decimal.Parse(txtImporte.Text), moneda, canal, "C", item.StrCorreo, semillaAES, data0, urlGen);

                        if (urlCobro.Contains("https://"))
                        {
                            if (usuariosCompletosServices.GenerarLigasPagos(urlCobro, txtConcepto.Text, decimal.Parse(txtImporte.Text), ReferenciaCobro, item.UidUsuario, txtIdentificador.Text, thisDay, DateTime.Parse(txtVencimiento.Text), txtAsunto.Text, Guid.Empty, Guid.Empty, Guid.Parse(ViewState["UidFranquiciaLocal"].ToString())))
                            {
                                correosServices.CorreoLiga(item.NombreCompleto, txtAsunto.Text, txtConcepto.Text, decimal.Parse(txtImporte.Text), DateTime.Parse(txtVencimiento.Text), urlCobro, item.StrCorreo, "", false, item.VchNombreComercial);
                                resu = true;
                            }
                        }
                        else
                        {
                            resu = false;
                            break;
                        }
                    }
                }

                if (resu)
                {
                    lblResumen.Text     = " Se han generado: " + usuariosCompletosServices.lsgvUsuariosSeleccionados.Count.ToString() + " liga(s) exitosamente.";
                    lblCorreoUsado.Text = usuariosCompletosServices.lsgvUsuariosSeleccionados.Count.ToString();

                    LimpiarDatos();

                    pnlAlertModal.Visible = true;
                    divAlertModal.Attributes.Add("class", "alert alert-success alert-dismissible fade show");

                    lblTituloModal.Text = "Resumen de envio de ligas";
                    btnGenerar.Visible  = false;
                    btnCancelar.Visible = false;
                    btnAceptar2.Visible = true;
                }
                else
                {
                    if (!string.IsNullOrEmpty(url))
                    {
                        pnlAlertModal.Visible = true;
                        lblResumen.Text       = "<b>¡Lo sentimos! </b> " + url + "." + "<br /> Las credenciales proporcionadas no son correctos, por favor contacte a los administradores.";
                        divAlertModal.Attributes.Add("class", "alert alert-danger alert-dismissible fade show");
                    }
                    else
                    {
                        pnlAlertModal.Visible = true;
                        lblResumen.Text       = "<b>¡Lo sentimos! </b> Las credenciales proporcionadas no son correctos, por favor contacte a los administradores.";
                        divAlertModal.Attributes.Add("class", "alert alert-danger alert-dismissible fade show");
                    }
                }
            }
            else
            {
                pnlAlertModal.Visible = true;
                lblResumen.Text       = "<b>¡Lo sentimos! </b> Esta empresa no cuenta con credenciales para generar ligas, por favor contacte a los administradores.";
                divAlertModal.Attributes.Add("class", "alert alert-danger alert-dismissible fade show");
            }
        }