Ejemplo n.º 1
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 strID                          = JSON.Deserialize <string>(e.ExtraParams["id"]);
            string strcookieEditarMenu            = Cookies.GetCookie("cookieEditarMenu").Value;
            Dictionary <string, string> dRegistro = JSON.Deserialize <Dictionary <string, string> >(strRegistro);

            OSEF.APP.EL.Menu oMenu = new OSEF.APP.EL.Menu();

            //2. 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)
                {
                //3. Datos del menú
                case "txtfDescripcion":
                    oMenu.Descripcion = sd.Value;
                    break;

                case "cmbGrupoMenu":
                    oMenu.GrupoMenu = sd.Value;
                    break;
                }
            }

            //5. Validar si es un registro Nuevo
            if (strcookieEditarMenu.Equals("Nuevo"))
            {
                //6. Insertar en la base de datos y crear las carpetas
                oMenu.ImagenNormal = "";

                oMenu.ID = MenuBusiness.Insertar(oMenu);
                Directory.CreateDirectory(Server.MapPath(" ") + "\\images\\menu\\" + oMenu.ID);
                Directory.CreateDirectory(Server.MapPath(" ") + "\\images\\menu\\" + oMenu.ID + "\\NORMAL");


                //7. Guardar las imagenes en la carpeta respectiva
                fufNormal.PostedFile.SaveAs(Server.MapPath(" ") + "\\images\\menu\\" + oMenu.ID + "\\NORMAL\\" + fufNormal.FileName);

                //8. Actualizar direcciones
                oMenu.ImagenNormal = "\\images\\menu\\" + oMenu.ID + "\\NORMAL\\" + fufNormal.FileName;

                MenuBusiness.Actualizar(oMenu);

                //8. Mandar mensaje con el código del menú
                var success = new JFunction {
                    Fn = "imgbtnGuardar_Click_Success"
                };
                X.Msg.Alert("Registro completo", "<p align='center'>Menú registrado con ID: <br/>" + oMenu.ID + ".</p>", success).Show();
            }
            else
            {
                //9. Actualizar los datos del menú
                oMenu.ID = strID;
                OSEF.APP.EL.Menu pMenu = MenuBusiness.ObtenerMenuPorID(oMenu.ID);

                //10. Validar FileUploadField Normal
                if (fufNormal.HasFile)
                {
                    oMenu.ImagenNormal = "\\images\\menu\\" + oMenu.ID + "\\NORMAL\\" + fufNormal.FileName;
                    fufNormal.PostedFile.SaveAs(Server.MapPath(" ") + "\\images\\menu\\" + oMenu.ID + "\\NORMAL\\" + fufNormal.FileName);
                    File.Delete(Server.MapPath(" ") + pMenu.ImagenNormal);
                }
                else
                {
                    oMenu.ImagenNormal = pMenu.ImagenNormal;
                }



                //14. Actualizar
                MenuBusiness.Actualizar(oMenu);

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