protected void Page_Init(object sender, EventArgs e)
        {
            if (!ValidarConexionYUsuarioLogueado(sender))
            {
                return;
            }
            IniciarMvx();

            if (!Page.IsPostBack)
            {
                //Limpiar Variables de Session
                Session["UiListaCliente"]             = null;
                Session["UiListaSku"]                 = null;
                Session["UiVistaOrdenDeVentaDetalle"] = null;
                Session["FechaDeEntrega"]             = null;
                Session["CargadoDeExcel"]             = false;
                Session["ListaDeErrores"]             = new List <Error>();
                Session["UiLabelMostrarNumDocYSerie"] = "";
                VistaCargandosePorPrimeraVez?.Invoke(this, null);
                ObtenerPlantillaExcel?.Invoke(sender, new EventArgs());
                ValidarUsuarioParaPreventa?.Invoke(this, new UsuarioArgumento {
                    Data = new Usuario {
                        LOGIN = Session["LOGIN"].ToString()
                    }
                });
                EstablecerTotalesYGrupoDeSuma();
            }
        }
 public void TerminoDeGrabar(string mensaje, dynamic sender)
 {
     if (sender.GetType() == typeof(ASPxGridView))
     {
         ((ASPxGridView)(sender)).JSProperties.Add(mensaje, "enable");
         ValidarUsuarioParaPreventa?.Invoke(sender, new UsuarioArgumento {
             Data = new Usuario {
                 LOGIN = Session["LOGIN"].ToString()
             }
         });
     }
 }
 private bool ValidarOrdenDeVenta(object sender)
 {
     if (ValidarFechaDeEntrega())
     {
         if (ValidarDescuento())
         {
             if (OrdenDeVentaDetalles != null)
             {
                 if (OrdenDeVentaDetalles.Count > 0)
                 {
                     ValidarUsuarioParaPreventa?.Invoke(this,
                                                        new UsuarioArgumento {
                         Data = new Usuario {
                             LOGIN = Session["LOGIN"].ToString()
                         }
                     });
                     return(true);
                 }
                 else
                 {
                     EstablecerError("No ha ingresado SKUs", sender);
                     return(false);
                 }
             }
             else
             {
                 EstablecerError("No ha ingresado SKUs", sender);
                 return(false);
             }
         }
         else
         {
             EstablecerError("El descuento debe de ser menor o igual al descuento disponible", sender);
             return(false);
         }
     }
     else
     {
         EstablecerError("La fecha de entrega no puede ser menor al día de hoy", sender);
         return(false);
     }
 }
        protected void UiVistaOrdenDeVentaDetalle_CustomCallback(object sender, ASPxGridViewCustomCallbackEventArgs e)
        {
            if (!ValidarConexionYUsuarioLogueado(sender))
            {
                return;
            }

            switch (e.Parameters.Split('|')[0])
            {
            case "AgregarSku":
                AgregarSku(sender);
                break;

            case "LimpiarData":
                OrdenDeVentaDetalles      = null;
                Session["CargadoDeExcel"] = false;
                Session["ListaDeErrores"] = null;
                SkuParaVentas             = SkuParaVentasOriginal;
                ((ASPxGridView)(sender)).JSProperties.Add("cpActualizarListaSkusParaVenta", "enable");
                break;

            case "CambiarDescuento":
                CambiarDescuento(sender);
                break;

            case "GrabarOrdenDeVenta":
                if (ValidarOrdenDeVenta(sender))
                {
                    if (Usuario.DOC_LEFT == 0)
                    {
                        EstablecerError("Su secuencia de documentos ha llegado al limite.", sender, true);
                    }
                    else
                    {
                        GrabarOrdenDeVenta(sender, OrdenDeVentaDetalles, e.Parameters.Split('|')[2]);
                        ValidarUsuarioParaPreventa?.Invoke(this, new UsuarioArgumento {
                            Data = new Usuario {
                                LOGIN = Session["LOGIN"].ToString()
                            }
                        });
                        Session["UiLabelMostrarNumDocYSerie"] = "Se creo la orden de venta numero: " + (Convert.ToInt64(Usuario.DOC_NUM)) + " con el numero de serie: " + Usuario.DOC_SERIE;
                        UiVistaOrdenDeVentaDetalle.JSProperties.Add("cpCambiarLabelSeriaDocumento", Session["UiLabelMostrarNumDocYSerie"]);
                    }
                }
                break;

            case "ExportarVistaExel":
                UiExportarVista.GridViewID = "UiVistaOrdenDeVentaDetalle";
                UiExportarVista.WriteXlsToResponse();
                break;

            case "RecargarUiOrdenDeVentaDetalle":
                if ((bool)Session["CargadoDeExcel"])
                {
                    GridViewDataColumn col = (GridViewDataColumn)UiVistaOrdenDeVentaDetalle.Columns["QTY"];
                    col.EditFormSettings.Visible = DevExpress.Utils.DefaultBoolean.False;
                }
                else
                {
                    GridViewDataColumn col = (GridViewDataColumn)UiVistaOrdenDeVentaDetalle.Columns["QTY"];
                    col.EditFormSettings.Visible = DevExpress.Utils.DefaultBoolean.True;
                }
                UiVistaOrdenDeVentaDetalle.DataSource = OrdenDeVentaDetalles;
                UiVistaOrdenDeVentaDetalle.DataBind();
                break;

            case "ObtenerSesion":
                UiVistaOrdenDeVentaDetalle.JSProperties.Add("cpExportarAExcel", Session["connectionString"]);
                break;
            }
        }