Beispiel #1
0
        ///// <summary>
        ///// Evento que se lanza al cargar el store
        ///// </summary>
        //[DirectMethod]
        public void sPreciario_Load(object sender, DirectEventArgs e)
        {
            string strcookieEditarPreciario = Cookies.GetCookie("cookieEditarPreciario").Value;

            if (!strcookieEditarPreciario.Equals("Nuevo"))
            {
                Preciario oPreciario = PreciarioBusiness.ObtenerPreciarioPorID(strcookieEditarPreciario);


                sPreciario.Add(new
                {
                    ID          = oPreciario.ID,
                    Descripcion = oPreciario.Descripcion,
                    Sucursal    = oPreciario.Sucursal,
                    RSucursal   = oPreciario.RSucursal,
                    Archivo     = oPreciario.Archivo,
                    Estatus     = oPreciario.Estatus,
                    FechaAlta   = oPreciario.FechaAlta,
                    Usuario     = oPreciario.Usuario
                });


                //Cargar el detalle del movimiento
                sCarga.DataSource = PreciarioConceptoBusiness.ObtenerPreciarioConceptoPorPreciario(oPreciario.ID);
                sCarga.DataBind();
            }
        }
Beispiel #2
0
        /// <summary>
        /// Evento de click que realiza la búsqueda de los conceptos
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnBuscar_Click(object sender, DirectEventArgs e)
        {
            //1. Obtener los valores para filtros
            string strCategoria       = e.ExtraParams["categoria"].Equals("null") ? string.Empty : e.ExtraParams["categoria"];
            string strSubCategoria    = e.ExtraParams["subcategoria"].Equals("null") ? string.Empty : e.ExtraParams["subcategoria"];
            string strSubSubCategoria = e.ExtraParams["subsubcategoria"].Equals("null") ? string.Empty : e.ExtraParams["subsubcategoria"];
            string preciario          = Cookies.GetCookie("cookiePreciarioBusqueda").Value;

            sConceptosFiltrados.DataSource = PreciarioConceptoBusiness.ObtenerPreciarioConceptoFiltro(preciario, strCategoria, strSubCategoria, strSubSubCategoria);
            sConceptosFiltrados.DataBind();
        }
        /// <summary>
        /// Evento que se lanza al seleccionar una subbsubcategoria
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void cmbSubSubCategoria_Select(object sender, DirectEventArgs e)
        {
            //1. Obtener el valor seleccionado
            string strPreciario       = e.ExtraParams["preciario"].Equals("null") ? string.Empty : e.ExtraParams["preciario"];
            string strCategoria       = e.ExtraParams["categoria"].Equals("null") ? string.Empty : e.ExtraParams["categoria"];
            string strSubCategoria    = e.ExtraParams["subcategoria"].Equals("null") ? string.Empty : e.ExtraParams["subcategoria"];
            string strSubSubCategoria = e.ExtraParams["subsubcategoria"].Equals("null") ? string.Empty : e.ExtraParams["subsubcategoria"];

            sPreciarioConcepto.DataSource = PreciarioConceptoBusiness.ObtenerPreciarioConceptoFiltro(strPreciario, strCategoria, strSubCategoria, strSubSubCategoria);
            sPreciarioConcepto.DataBind();
        }
 /// <summary>
 /// Evento que Guarda el detalle de Volumetrias
 /// </summary>
 /// <param name="lRevisionD"></param>
 /// <param name="oRevisionForma"></param>
 private void GuardarDetalleVolumetria(List <VolumetriaD> lVolumetriaD, Volumetria oVolumetriaForma)
 {
     //1. Insertar los datos del detalle
     foreach (VolumetriaD sd in lVolumetriaD)
     {
         //2. Validar que el objeto no venga en blanco
         if (sd.ConceptoID.Equals(string.Empty) || sd.Cantidad.Equals(string.Empty) || sd.Utilizada == 0)
         {
             continue;
         }
         else
         {
             sd.Volumetria = oVolumetriaForma.ID;
             VolumetriaDBusiness.Insertar(sd);
             PreciarioConceptoBusiness.Actualizar(sd.ConceptoID, sd.Utilizada, sd.Volumetria);
         }
     }
 }
        /// <summary>
        /// Evento de clic del botón Afectar
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void imgbtnAfectar_Click(object sender, DirectEventArgs e)
        {
            //1. Obtener datos de la Forma y saber si es edición o nuevo
            string strVolumetriaForma        = e.ExtraParams["VolumetriaForma"];
            string strVolumetria             = e.ExtraParams["Volumetria"];
            string strSucursal               = e.ExtraParams["sucursal"];
            string strVolumetriaD            = e.ExtraParams["VolumetriaD"];
            string strcookieEditarVolumetria = Cookies.GetCookie("cookieEditarVolumetria").Value;

            //2. Serializar el encabezado y el detalle
            Dictionary <string, string> dRegistro = JSON.Deserialize <Dictionary <string, string> >(strVolumetriaForma);
            Volumetria         oVolumetriaForma   = ObtenerObjetoDesdeForma(dRegistro, strSucursal);
            Volumetria         oVolumetria        = JSON.Deserialize <List <Volumetria> >(strVolumetria).FirstOrDefault();
            List <VolumetriaD> lVolumetriaD       = JSON.Deserialize <List <VolumetriaD> >(strVolumetriaD);

            //3. Guardar o Actuaizar el Movimiento
            string strAccion = GuardarMovimiento(ref oVolumetriaForma, oVolumetria, lVolumetriaD);

            //4. Validar que efecto realizará para Guardar o Afectar
            switch (strAccion)
            {
            case "insertar":
                e.ExtraParamsResponse.Add(new Ext.Net.Parameter("accion", "insertar", ParameterMode.Value));
                break;

            case "modificar":
                e.ExtraParamsResponse.Add(new Ext.Net.Parameter("accion", "modificar", ParameterMode.Value));
                break;
            }

            //4. Lanzar la afectación del Movimiento
            VolumetriaBusiness.AfectarVolumetriaPorID(oVolumetriaForma);

            //Actualiza las cantidades despues de afectar
            foreach (VolumetriaD sd in lVolumetriaD)
            {
                PreciarioConceptoBusiness.Actualizar(sd.ConceptoID, sd.Utilizada, sd.Volumetria);
            }

            oVolumetria = VolumetriaBusiness.ObtenerVolumetriaPorID(oVolumetriaForma.ID);
            //7. Actualizar store de Revision
            sVolumetria.GetAt(0).Set("MovID", oVolumetria.MovID);
            sVolumetria.GetAt(0).Set("Estatus", oVolumetria.Estatus);
        }
        /// <summary>
        /// Método para elimnar un registro
        /// </summary>
        /// <param name="strID"></param>
        protected void imgbtnBorrar_Click(object sender, DirectEventArgs e)
        {
            //1. Obtener registro que se quiere eliminar
            string strID = e.ExtraParams["ID"];

            //2. Validar si se elimina el registro
            if (PreciarioBusiness.ObtenerPreciariosEnVolumetriasPorID(strID))
            {
                e.ExtraParamsResponse.Add(new Ext.Net.Parameter("existe", "true", ParameterMode.Raw));
            }
            else
            {
                e.ExtraParamsResponse.Add(new Ext.Net.Parameter("existe", "false", ParameterMode.Raw));
                PreciarioConceptoBusiness.Borrar(strID);
                PreciarioSubSubCategoriaBusiness.Borrar(strID);
                PreciarioSubCategoriaBusiness.Borrar(strID);
                PreciarioCategoriaBuisness.Borrar(strID);
                PreciarioBusiness.Borrar(strID);
            }
        }
Beispiel #7
0
        /// <summary>
        /// Evento de clic del botón Guardar
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void imgbtnGuardar_Click(object sender, DirectEventArgs e)
        {
            //1. Obtener datos de la Forma y saber si es edición o nuevo
            string strRegistro = e.ExtraParams["registro"];
            string strEstatus  = e.ExtraParams["estatus"];
            string strArchivo  = e.ExtraParams["archivo"];
            string strSucursal = e.ExtraParams["sucursal"];

            string strcookieEditarPreciario       = Cookies.GetCookie("cookieEditarPreciario").Value;
            Dictionary <string, string> dRegistro = JSON.Deserialize <Dictionary <string, string> >(strRegistro);
            string strPreciarioDetalle            = e.ExtraParams["DetallePreciario"];

            //2. Se guarda en una lista el Store que contiene todos los campos para deserealizarlos y usarlos para el insert
            List <PreciarioConcepto> lDetallePreciario = JSON.Deserialize <List <PreciarioConcepto> >(strPreciarioDetalle);
            Preciario oPreciario = new Preciario();

            //3. Por cada elemento del submit de la Forma detectar el campo y asignarlo al objeto correspondiente
            foreach (KeyValuePair <string, string> sd in dRegistro)
            {
                switch (sd.Key)
                {
                //4. Datos del preciario
                case "txtfID":
                    oPreciario.ID = sd.Value;
                    break;

                case "txtfDescripcion":
                    oPreciario.Descripcion = sd.Value;
                    break;

                case "cmbEstatus":
                    oPreciario.Estatus = sd.Value;
                    break;
                }
            }

            //5. Se toma el nombre del archivo de Excel que se está cargando
            oPreciario.Archivo = fufArchivoExcel.FileName;

            //6. Validar si es nuevo o es uno existente
            if (strcookieEditarPreciario.Equals("Nuevo"))
            {
                //7. Traemeos el objeto de sesion para llenr el objeto con los datos de usuario
                oPreciario.FechaAlta = DateTime.Now;
                Usuario oUsuario = (Usuario)Session["Usuario"];
                oPreciario.Usuario  = oUsuario.ID;
                oPreciario.Estatus  = strEstatus;
                oPreciario.Sucursal = strSucursal;

                //8. Insertar en la base de datos
                oPreciario.ID = PreciarioBusiness.Insertar(oPreciario);
                string categoria       = "";
                string subcategoria    = "";
                string subsubcategoria = "";

                foreach (PreciarioConcepto sd in lDetallePreciario)
                {
                    //9. Insertar Categoria
                    if (sd.Tipo.Equals("1"))
                    {
                        PreciarioCategoria c = new PreciarioCategoria();
                        c.Clave       = sd.Clave;
                        c.Preciario   = oPreciario.ID;
                        c.Descripcion = sd.Descripcion;
                        c.Usuario     = oUsuario.ID;
                        c.Estatus     = sd.Estatus;
                        c.FechaAlta   = sd.FechaAlta;
                        categoria     = PreciarioCategoriaBuisness.Insertar(c);
                    }
                    //10. Insertar SubCategoria
                    if (sd.Tipo.Equals("2"))
                    {
                        PreciarioSubCategoria sc = new PreciarioSubCategoria();
                        sc.Clave       = sd.Clave;
                        sc.Preciario   = oPreciario.ID;
                        sc.Descripcion = sd.Descripcion;
                        sc.Categoria   = categoria;
                        sc.Usuario     = oUsuario.ID;
                        sc.Estatus     = sd.Estatus;
                        sc.FechaAlta   = sd.FechaAlta;
                        subcategoria   = PreciarioSubCategoriaBusiness.Insertar(sc);
                    }
                    //11. Insertar SubSubCategoria
                    if (sd.Tipo.Equals("3"))
                    {
                        PreciarioSubSubCategoria ssc = new PreciarioSubSubCategoria();
                        ssc.Clave        = sd.Clave;
                        ssc.Preciario    = oPreciario.ID;
                        ssc.Descripcion  = sd.Descripcion;
                        ssc.Categoria    = categoria;
                        ssc.SubCategoria = subcategoria;
                        ssc.Usuario      = oUsuario.ID;
                        ssc.Estatus      = sd.Estatus;
                        ssc.FechaAlta    = sd.FechaAlta;
                        subsubcategoria  = PreciarioSubSubCategoriaBusiness.Insertar(ssc);
                    }
                    //12. Insertar Concepto
                    if (sd.Tipo.Equals(""))
                    {
                        PreciarioConcepto pc = new PreciarioConcepto();
                        pc.Clave           = sd.Clave;
                        pc.Preciario       = oPreciario.ID;
                        pc.Descripcion     = sd.Descripcion;
                        pc.Unidad          = sd.Unidad;
                        pc.Cantidad        = sd.Cantidad;
                        pc.Utilizada       = 0;
                        pc.Costo           = sd.Costo;
                        pc.Importe         = sd.Importe;
                        pc.Importefinal    = 0;
                        pc.Categoria       = categoria;
                        pc.SubCategoria    = subcategoria;
                        pc.SubSubCategoria = subsubcategoria;
                        pc.Usuario         = oUsuario.ID;
                        pc.Estatus         = sd.Estatus;
                        pc.FechaAlta       = sd.FechaAlta;
                        PreciarioConceptoBusiness.Insertar(pc);
                    }
                }

                //13. Mandar mensaje con el código del Preciario
                var success = new JFunction {
                    Fn = "imgbtnGuardar_Click_Success"
                };
                X.Msg.Alert("Registro completo", "<p align='center'>Preciario registrada con ID: <br/>" + oPreciario.ID + ".</p>", success).Show();
            }
            else
            {
                //14. Valida que archivo guardar
                if (fufArchivoExcel.FileName.Equals(""))
                {
                    oPreciario.Archivo = strArchivo;
                }
                else
                {
                    oPreciario.Archivo = fufArchivoExcel.FileName;
                }

                //15. Tomamos la sucursal y estatus como parametro independiente por que ya esta desabilitada
                oPreciario.ID       = strcookieEditarPreciario;
                oPreciario.Sucursal = strSucursal;
                oPreciario.Estatus  = strEstatus;

                //16. Actualizar los datos del Preciario
                PreciarioBusiness.Actualizar(oPreciario);

                //17. Mandar mensaje con el código del preciario
                var success = new JFunction {
                    Fn = "imgbtnGuardar_Click_Success"
                };
                X.Msg.Alert("Actualización completa", "<p align='center'>Se han actualizado los datos del preciario <br/>" + oPreciario.ID + ".</p>", success).Show();
            }
        }