Пример #1
0
    private string GrabarComo(string sDesPlant, string sAmbito, string sIdPlantOrigen, string sOrigen, string sTipo, string sNodo,
                              string sEmp, string sDep, string sPer)
    {
        string         sResul = "";
        int            iPromotor = int.Parse(Session["IDFICEPI_PC_ACTUAL"].ToString()), idPlantOrigen, idPlantDestino;
        SqlConnection  oConn = null;
        SqlTransaction tr    = null;

        try
        {
            //Cargo los datos de la plantilla actual
            idPlantOrigen = int.Parse(sIdPlantOrigen);
            PlantProy miPlant = new PlantProy();
            miPlant.Obtener(idPlantOrigen);
            //Abro transaccion serializable
            oConn = Conexion.Abrir();
            tr    = Conexion.AbrirTransaccionSerializable(oConn);

            if (sAmbito == "")
            {
                sAmbito = miPlant.ambito;
            }
            if (sAmbito != "D")
            {
                miPlant.codune = -1;
            }
            idPlantDestino = PlantProy.Insertar(tr, miPlant.tipo, Utilidades.unescape(sDesPlant), 1, sAmbito, iPromotor, miPlant.codune, miPlant.obs);

            ITEMSPLANTILLA.Duplicar(tr, idPlantOrigen, idPlantDestino);

            Conexion.CommitTransaccion(tr);
            //Recargo el desglose
            //sResul = "OK@#@" + obtenerPlantillas(inodo, sorigen, true);
            sResul = Buscar("1", "0", sTipo, sOrigen, sNodo, sEmp, sDep, sPer, true);
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            sResul = "Error@#@" + Errores.mostrarError("Error al grabar el desglose de la plantilla", ex);
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }
        return(sResul);
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsCallback)
        {
            //Para que se muestre la botonera, únicamente hay que indicar el número de botonera
            //y crear el manejador de eventos para la misma.
            Master.nBotonera           = 7;
            Master.Botonera.ItemClick += new ToolBarEventHandler(this.Botonera_Click);
            Master.bFuncionesLocales   = true;
            Master.TituloPagina        = "Maestro de plantillas";
            if (!Page.IsPostBack)
            {
                try
                {
                    this.lblNodo.InnerText = Estructura.getDefCorta(Estructura.sTipoElem.NODO);
                    this.lblNodo.Attributes.Add("title", Estructura.getDefLarga(Estructura.sTipoElem.NODO));

                    this.txtOrigen.Text = Request.QueryString["sOr"];
                    string sPlantAux = Request.QueryString["nIDPlant"];
                    if (sPlantAux != null)
                    {
                        this.hdnIDPlantilla.Text         = sPlantAux;
                        this.hdnIDPlantillaOriginal.Text = sPlantAux;
                        Session["IDPlant"] = sPlantAux;
                    }
                    else if (Session["IDPlant"] != null)
                    {
                        sPlantAux = Session["IDPlant"].ToString();
                        this.hdnIDPlantilla.Text         = sPlantAux;
                        this.hdnIDPlantillaOriginal.Text = sPlantAux;
                    }

                    string sTipo = Request.QueryString["sTipo"];
                    if (sTipo != null)
                    {
                        this.txtTipo.Text = sTipo;
                    }
                    else
                    {
                        this.txtTipo.Text = "E";
                    }

                    PlantProy objPlant = new PlantProy();
                    objPlant.Obtener(int.Parse(this.hdnIDPlantilla.Text));

                    this.hndCRActual.Text = Request.QueryString["nCR"];
                    CR objCR = new CR();
                    //int iNumEmpleado = int.Parse(HttpContext.Current.Session["IDFICEPI_PC_ACTUAL"].ToString());
                    int iNumEmpleado = int.Parse(HttpContext.Current.Session["UsuarioActual"].ToString());
                    this.cboCR.DataSource     = objCR.ObtenerCatalogoPlant(iNumEmpleado);
                    this.cboCR.DataTextField  = "sDesCR";
                    this.cboCR.DataValueField = "nIdCR";
                    this.cboCR.DataBind();

                    ListItem Elemento = new ListItem("", "-1");
                    this.cboCR.Items.Insert(0, Elemento);

                    this.txtDesPlantilla.Text = objPlant.descripcion;
                    if (objPlant.activo)
                    {
                        this.chkActivo.Checked = true;
                    }
                    else
                    {
                        this.chkActivo.Checked = false;
                    }
                    this.cboCR.SelectedValue = objPlant.codune.ToString();

                    this.cboAmbito.SelectedValue = objPlant.ambito;

                    this.txtObs.Text = objPlant.obs;
                    //Establezco los posibles valores del combo de ámbito
                    plEstablecerAmbitos();
                    //Establezco la modificabilidad de la plantilla
                    this.txtModificable.Text = flPlantillaModificable(objPlant.ambito);
                    if (this.txtModificable.Text == "T")
                    {
                        if (objPlant.ambito != "D")
                        {
                            cboCR.Enabled = false;
                        }
                        else
                        {
                            cboCR.Enabled = true;
                        }
                        this.txtDesPlantilla.Focus();
                    }
                }
                catch (Exception ex)
                {
                    Master.sErrores = Errores.mostrarError("Error al cargar la plantilla", ex);
                }
            }

            //1º Se indican (por este orden) la función a la que se va a devolver el resultado
            //   y la función que va a acceder al servidor
            string cbRespuesta = Page.ClientScript.GetCallbackEventReference(this, "arg", "RespuestaCallBack", "context", false);
            string cbLlamada   = "function RealizarCallBack(arg, context)" + "{" + cbRespuesta + ";" + "}";

            //2º Se "registra" la función que va a acceder al servidor.
            Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "RealizarCallBack", cbLlamada, true);
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsCallback)
        {
            //Para que se muestre la botonera, únicamente hay que indicar el número de botonera
            //y crear el manejador de eventos para la misma.
            //Master.nBotonera = 8;
            Master.nBotonera           = 23;
            Master.Botonera.ItemClick += new ToolBarEventHandler(this.Botonera_Click);
            Master.bFuncionesLocales   = true;
            Master.TituloPagina        = "Desglose de plantilla";
            if (!(bool)Session["PLANT1024"])
            {
                Master.nResolucion = 1280;
            }
            if (!Page.IsPostBack)
            {
                try
                {
                    int    iPlant    = 0;
                    string sPlantAux = Request.QueryString["nIDPlant"];
                    if (sPlantAux != null)
                    {
                        Session["IDPlant"] = sPlantAux;
                    }
                    else if (Session["IDPlant"] != null)
                    {
                        sPlantAux = Session["IDPlant"].ToString();
                    }
                    string sTipo = Request.QueryString["sTipo"];

                    if (sTipo != null)
                    {
                        Session["TIPO_PLANT"] = sTipo;
                    }
                    else
                    {
                        if (Session["TIPO_PLANT"] != null)
                        {
                            sTipo = Session["TIPO_PLANT"].ToString();
                        }
                        else
                        {
                            Session["TIPO_PLANT"] = sTipo;
                        }
                    }
                    if (sTipo == "E")
                    {
                        this.lblTipo.Text = "Proyecto económico";
                    }
                    else
                    {
                        this.lblTipo.Text = "Proyecto técnico";
                    }

                    if (sPlantAux != null)
                    {
                        iPlant = int.Parse(sPlantAux);
                        this.hdnIDPlantilla.Text = sPlantAux;
                    }
                    sPlantAux = Request.QueryString["sDesPlant"];
                    if (sPlantAux != null)
                    {
                        this.txtDesPlantilla.Text = sPlantAux;
                    }

                    //Establezco la modificabilidad de la plantilla
                    PlantProy objPlant = new PlantProy();
                    objPlant.Obtener(int.Parse(this.hdnIDPlantilla.Text));
                    this.txtModificable.Text = flPlantillaModificable(objPlant.ambito);
                    switch (objPlant.ambito)
                    {
                    case "E":
                        this.txtAmbito.Text = "EMPRESARIAL";
                        break;

                    case "D":
                        this.txtAmbito.Text = "DEPARTAMENTAL";
                        break;

                    case "P":
                        this.txtAmbito.Text = "PERSONAL";
                        break;

                    default:
                        this.txtAmbito.Text = "DESCONOCIDO";
                        break;
                    }

                    ObtenerTareas(iPlant, sTipo);
                    ObtenerHitos(iPlant);
                    //Establezco el perfil del empleado para poder controlar desde el lado cliente el ambito que se usará al GrabarComo
                    string sPerfil = "T";
                    if (User.IsInRole("A"))
                    {
                        sPerfil = "A";
                    }
                    else
                    {
                        if (User.IsInRole("RSN") || User.IsInRole("DSN") || User.IsInRole("ISN") || User.IsInRole("RN") ||
                            User.IsInRole("DN") || User.IsInRole("CN") || User.IsInRole("IN") || User.IsInRole("OT"))
                        {
                            sPerfil = "D";
                        }
                    }
                    this.txtPerfil.Text = sPerfil;
                }
                catch (Exception ex)
                {
                    Master.sErrores = Errores.mostrarError("Error al obtener el catálogo de tareas", ex);
                }
            }

            //1º Se indican (por este orden) la función a la que se va a devolver el resultado
            //   y la función que va a acceder al servidor
            string cbRespuesta = Page.ClientScript.GetCallbackEventReference(this, "arg", "RespuestaCallBack", "context", false);
            string cbLlamada   = "function RealizarCallBack(arg, context)" + "{" + cbRespuesta + ";" + "}";

            //2º Se "registra" la función que va a acceder al servidor.
            Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "RealizarCallBack", cbLlamada, true);
        }
    }