Пример #1
0
    public static Models.PerfilesEdicion obtenerPerfilesEdicionUsuario(int?t001_idficepi_lider, int ta201_idsubareapreventa)
    {
        BLL.Usuario cUsuario = new BLL.Usuario();

        try
        {
            bool soyLider = false;
            if (t001_idficepi_lider != null && t001_idficepi_lider == int.Parse(HttpContext.Current.Session["IDFICEPI_PC_ACTUAL"].ToString()))
            {
                soyLider = true;
            }

            return(cUsuario.obtenerPerfilesEdicionUsuario(HttpContext.Current.User, soyLider, ta201_idsubareapreventa));
        }
        catch (Exception ex)
        {
            LogError.LogearError("Error al obtener los perfiles de edición del usuario", ex);
            throw new Exception(System.Uri.EscapeDataString("Ocurrió un error al obtener los perfiles de edición del usuario."));
        }
        finally
        {
            cUsuario.Dispose();
        }
    }
Пример #2
0
    protected void Page_Load(object sender, EventArgs e)
    {
        BLL.TareaPreventa      cTP      = null;
        BLL.AccionPreventa     cAccion  = null;
        BLL.Usuario            cUsuario = null;
        Models.PerfilesEdicion oPE      = null;
        IB.SUPER.Shared.DBConn cDBConn  = null;

        try
        {
            Guid   uidDocumento;
            int    ta204_idaccionpreventa  = 0;
            int    ta207_idtareapreventa   = 0;
            int    ta201_idsubareapreventa = -1;
            string modoPantalla            = "C";
            bool   soyLider = false;


            //Historial de navegacion
            IB.SUPER.Shared.HistorialNavegacion.Insertar(Request.Url.ToString(), true);

            Hashtable ht = Utils.ParseQuerystring(Request.QueryString.ToString());

            cDBConn = new IB.SUPER.Shared.DBConn();

            //Cuando viene de una insert no hay idtarea
            if (ht["idTarea"] != null)
            {
                ta207_idtareapreventa = int.Parse(ht["idTarea"].ToString());
            }

            //Cuando el modo de edición sea "A", la acción vendrá por parámetro URL
            if (ht["idAccion"] != null)
            {
                ta204_idaccionpreventa = int.Parse(ht["idAccion"].ToString());
            }

            if (ht["modoPantalla"] != null)
            {
                modoPantalla = ht["modoPantalla"].ToString();
            }

            //Obtenemos los datos de la acción
            cAccion = new BLL.AccionPreventa();
            Models.AccionPreventa oAccion = cAccion.Select(ta204_idaccionpreventa);
            ta201_idsubareapreventa = oAccion.ta201_idsubareapreventa;

            string lbl = "";
            switch (oAccion.ta206_itemorigen.ToString())
            {
            case "O":
                lbl = "Oportunidad";
                div_container_cab_P.Visible = false;
                break;

            case "E":
                lbl = "Extensión";
                div_container_cab_P.Visible = false;
                break;

            case "P":
                lbl = "Objetivo";
                div_container_cab_OE.Visible = false;
                break;

            case "S":
                lbl = "Solicitud";
                divCliente.Visible               = false;
                div_container_cab_OE.Visible     = false;
                div_container_cab_P.Visible      = false;
                linkInformacionAdicional.Visible = false;
                break;
            }

            lblOportunidadSolic.InnerText = lbl;
            this.txtFinRequerida.Value    = oAccion.ta204_fechafinestipulada.ToShortDateString();
            this.ta205_denominacion.Value = oAccion.ta205_denominacion;
            this.lider.Value = oAccion.lider;
            soyLider         = (int)Session["IDFICEPI_PC_ACTUAL"] == oAccion.t001_idficepi_lider;

            string estadoParticipacion = String.Empty;
            uidDocumento = Guid.NewGuid();
            string ta207_estado = String.Empty;

            //Publicamos estas variables para que sean accesibles desde el Javascript
            string script1 = "IB.vars.ta207_idtareapreventa = '" + ta207_idtareapreventa.ToString() + "';";
            script1 += "IB.vars.ta206_iditemorigen = '" + oAccion.ta206_iditemorigen.ToString() + "';";
            script1 += "IB.vars.ta206_itemorigen = '" + oAccion.ta206_itemorigen.ToString() + "';";
            script1 += "IB.vars.ta204_estado = '" + oAccion.ta204_estado.ToString() + "';";



            if (modoPantalla == "A")
            {
                //Obtener denominaciones de tarea
                cTP = new BLL.TareaPreventa();
                List <Models.TareaPreventa> lstDenominaciones = cTP.lstDenominacionesTarea();
                selectDenominacion.DataSource     = lstDenominaciones;
                selectDenominacion.DataTextField  = "ta219_denominacion";
                selectDenominacion.DataValueField = "ta219_idtipotareapreventa";

                selectDenominacion.DataBind();

                selectDenominacion.Items.Insert(0, new ListItem(String.Empty, String.Empty));
                selectDenominacion.SelectedIndex = 0;
                selectDenominacion.Items.Add(new ListItem("Otras tareas", "-1"));
                cTP.Dispose();
            }



            //Obtener el detalle de la tarea en caso de que el modo pantalla sea edición
            if (modoPantalla == "E")
            {
                cTP = new BLL.TareaPreventa();
                Models.TareaPreventaDetalleParticipante oTPDE = cTP.DetalleTarea(ta207_idtareapreventa, int.Parse(Session["IDFICEPI_PC_ACTUAL"].ToString()));

                ta201_idsubareapreventa = oTPDE.ta201_idsubareapreventa;
                if (oTPDE.ta219_idtipotareapreventa != null)
                {
                    //selectDenominacion.SelectedValue = oTPDE.ta219_idtipotareapreventa.ToString();
                    ta207_denominacion.Attributes.Remove("required");
                    selectDenominacion.Items.Insert(0, new ListItem(oTPDE.ta219_denominacion, oTPDE.ta219_idtipotareapreventa.ToString()));
                }
                else
                {
                    selectDenominacion.Items.Add(new ListItem("Otras tareas", "-1"));
                    selectDenominacion.SelectedValue = "-1";
                    divinputDenominacion.Style.Add("display", "block");
                }


                //Obtiene el estado de un participante en una tarea.
                Models.TareaPreventaDetalleParticipante oTPSP = cTP.estadoparticipacion(int.Parse(Session["IDFICEPI_PC_ACTUAL"].ToString()), ta207_idtareapreventa);

                if (oTPDE.ta207_idtareapreventa == 0)
                {
                    Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "script1", "IB.vars.aviso = 1;", true); //No se han obtenido datos de la tarea
                }

                //Estado participación
                estadoParticipacion = oTPSP.ta214_estado;

                //Líder
                soyLider = (int)Session["IDFICEPI_PC_ACTUAL"] == oTPDE.t001_idficepi_lider;

                //Datos
                this.ta207_idtareapreventa.Value  = oTPDE.ta207_idtareapreventa.ToString();
                this.ta207_denominacion.Value     = oTPDE.ta207_denominacion;
                this.ta207_observaciones.Value    = oTPDE.ta207_observaciones;
                this.ta207_fechafinprevista.Value = oTPDE.ta207_fechafinprevista.ToString("dd/MM/yyyy");
                this.ta207_fechacreacion.Value    = oTPDE.ta207_fechacreacion.ToString("dd/MM/yyyy");

                this.lblSello.Attributes.Add("data-after", BLL.TareaPreventa.GetLiteralEstadoTarea(oTPDE.ta207_estado.ToString()));


                if (oTPDE.ta207_fechafinreal != null)
                {
                    this.ta207_fechafinreal.Value = oTPDE.ta207_fechafinreal.ToString();
                    ta207_fechafinreal.Style.Add("visibility", "visible");
                    lblta207_fechafinreal.Style.Add("visibility", "visible");
                }
                else
                {
                    ta207_fechafinreal.Style.Add("visibility", "hidden");
                    lblta207_fechafinreal.Style.Add("visibility", "hidden");
                }

                setSelloEstado(oTPDE.ta207_estado);


                this.ta207_descripcion.InnerText       = oTPDE.ta207_descripcion;
                this.ta207_comentario.InnerText        = oTPDE.ta207_comentarios;
                this.textareaMotivoAnulacion.InnerText = oTPDE.ta207_motivoanulacion;

                this.linkDocumentacion.InnerText = "Documentación";

                //Publicamos estas variables para que sean accesibles desde el Javascript
                script1 += "IB.vars.ta204_idaccionpreventa = " + oTPDE.ta204_idaccionpreventa + ";";
                script1 += "IB.vars.ta201_idsubareapreventa = " + oTPDE.ta201_idsubareapreventa + ";";
                script1 += "IB.vars.ta207_estado = '" + oTPDE.ta207_estado.ToString() + "';";
                script1 += "IB.vars.t001_idficepi_lider = '" + oTPDE.t001_idficepi_lider.ToString() + "';";

                script1 += "IB.vars.soyLider = " + soyLider.ToString().ToLower() + ";";
                script1 += "IB.vars.fechaCreacion = '" + oTPDE.ta207_fechacreacion.ToString("dd/MM/yyyy") + "';";
            }


            //Perfiles de usuario
            cUsuario = new BLL.Usuario(cDBConn.dblibclass);
            oPE      = cUsuario.obtenerPerfilesEdicionUsuario(User, soyLider, ta201_idsubareapreventa);

            //Publicamos los perfiles del Usuario
            string script2 = "IB.vars.perfilesEdicion = " + JsonConvert.SerializeObject(oPE) + ";";

            //Publicamos estas variables para que sean accesibles desde el Javascript
            script1 += "IB.vars.modoPantalla = '" + modoPantalla + "';";
            script1 += "IB.vars.estadoParticipacion = '" + estadoParticipacion + "';";
            script1 += "IB.vars.ta204_idaccionpreventa = '" + ta204_idaccionpreventa + "';";

            //if (modoPantalla == "A") {
            //    ta207_denominacion.Attributes.Remove("required");
            //}
            script1 += "IB.vars.uidDocumento = '" + uidDocumento + "';";
            //script1 += "IB.vars.ta207_estado = 'A';";
            Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "script1", script1, true);
            Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "script2", script2, true);
        }
        catch (Exception ex)
        {
            LogError.LogearError("Error al cargar el detalle de la tarea", ex);
            Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "script1", "IB.vars.error = 'Se ha producido un error al obtener los datos de la tarea.';", true);
        }
        finally
        {
            if (cTP != null)
            {
                cTP.Dispose();
            }
            if (cAccion != null)
            {
                cAccion.Dispose();
            }
            if (cUsuario != null)
            {
                cUsuario.Dispose();
            }
            if (cDBConn != null)
            {
                cDBConn.Dispose();
            }
        }
    }
Пример #3
0
    protected void Page_Load(object sender, EventArgs e)
    {
        int  ta204_idaccionpreventa  = 0;
        int  ta201_idsubareapreventa = -1;
        bool soyLider = false;

        BLL.AccionPreventa       cAP      = null;
        BLL.Usuario              cUsuario = null;
        Models.PerfilesEdicion   oPE      = null;
        BLL.SolicitudPreventa    cSP      = null;
        Shared.DBConn            cDBConn  = null;
        BLL.AreaPreventa         cArea    = null;
        Models.SolicitudPreventa oSP      = null;



        try
        {
            //Historial de navegacion
            Shared.HistorialNavegacion.Insertar(Request.Url.ToString(), true);

            //params modo=A&itemorigen=O&iditemorigen=6&origenpantalla=CRM
            //qs --> bW9kbz1BJml0ZW1vcmlnZW49TyZpZGl0ZW1vcmlnZW49NiZvcmlnZW5wYW50YWxsYT1DUk0=

            //params modo=A&itemorigen=S&iditemorigen=19&origenpantalla=SUPER
            //qs --> bW9kbz1BJml0ZW1vcmlnZW49UyZpZGl0ZW1vcmlnZW49MTkmb3JpZ2VucGFudGFsbGE9U1VQRVI=

            //params modo=E&id=6&itemorigen=O&iditemorigen=6&origenpantalla=CRM
            //qs --> bW9kbz1FJmlkPTYmaXRlbW9yaWdlbj1PJmlkaXRlbW9yaWdlbj02Jm9yaWdlbnBhbnRhbGxhPUNSTQ==

            //params modo=E&id=12&itemorigen=O&iditemorigen=1&origenpantalla=SUPER
            //qs --> bW9kbz1FJmlkPTEyJml0ZW1vcmlnZW49TyZpZGl0ZW1vcmlnZW49MSZvcmlnZW5wYW50YWxsYT1TVVBFUg==

            //params modo=E&id=6&itemorigen=O&iditemorigen=6&origenpantalla=SUPER
            //qs --> bW9kbz1FJmlkPTYmaXRlbW9yaWdlbj1PJmlkaXRlbW9yaWdlbj02Jm9yaWdlbnBhbnRhbGxhPVNVUEVS

            //params modo=E&id=50&itemorigen=S&iditemorigen=19&origenpantalla=SUPER
            //qs --> bW9kbz1FJmlkPTUwJml0ZW1vcmlnZW49UyZpZGl0ZW1vcmlnZW49MTkmb3JpZ2VucGFudGFsbGE9U1VQRVI=

            //params modo=E&id=1&origenpantalla=CRM
            //qs --> bW9kbz1FJmlkPTEmb3JpZ2VucGFudGFsbGE9Q1JN

            //params modo=E&id=50&origenpantalla=SUPER
            //qs --> bW9kbz1FJmlkPTUwJm9yaWdlbnBhbnRhbGxhPVNVUEVS

            //params modo=C&id=6&itemorigen=O&iditemorigen=6&origenpantalla=SUPER
            //qs --> bW9kbz1DJmlkPTYmaXRlbW9yaWdlbj1PJmlkaXRlbW9yaWdlbj02Jm9yaWdlbnBhbnRhbGxhPVNVUEVS

            //parametros:
            // - modo            A=Alta; E=Edicióm; C=Consulta
            // - id              id de la acción para los modos E y C
            // - itemorigen      Tipo de solicitud para el modo A --> O->Oportunidad; P->Partida/Objetivo; E->Extensión; S->SUPER
            // - iditemorigen    id del tipo de solicitud (ta206_idsolicitudpreventa si viene desde super)
            // - origenpantalla  Origen de la llamada a la pantalla --> CRM; SUPER

            Hashtable ht = Utils.ParseQuerystring(Request.QueryString.ToString());

            string modo           = ht["modo"].ToString().Trim().ToUpper();
            string origenpantalla = ht["origenpantalla"].ToString().Trim().ToUpper();
            string itemorigen     = "";
            string iditemorigen   = "";
            string caller         = ""; //pantalla que llama (autoasignacion, etc)

            //cabecera
            if (origenpantalla == "CRM")
            {
                getCabeceraPreventa(body);
            }


            cDBConn = new Shared.DBConn();

            if (modo == "E" || modo == "C")  //Edicion y consulta
            {
                ta204_idaccionpreventa = int.Parse(ht["id"].ToString());

                if (ht["itemorigen"] != null && ht["iditemorigen"] != null)
                {
                    itemorigen   = ht["itemorigen"].ToString().Trim().ToUpper();
                    iditemorigen = ht["iditemorigen"].ToString().Trim().ToUpper();
                }
                else
                {
                    cSP = new BLL.SolicitudPreventa(cDBConn.dblibclass);
                    oSP = cSP.getSolicitudbyAccion(ta204_idaccionpreventa);

                    itemorigen   = oSP.ta206_itemorigen;
                    iditemorigen = oSP.ta206_iditemorigen.ToString();
                }

                if (ht["caller"] != null && ht["caller"].ToString().Trim().Length > 0)
                {
                    caller = ht["caller"].ToString();
                }

                cAP = new BLL.AccionPreventa(cDBConn.dblibclass);
                Models.AccionPreventa oAP = cAP.Select(ta204_idaccionpreventa);
                ta201_idsubareapreventa = oAP.ta201_idsubareapreventa;

                //Protecciones:
                // - Si la acción no está abierta --> pantalla en modo consulta
                if (modo == "E" && oAP.ta204_estado != "A")
                {
                    modo = "C";
                }

                string jsonAccion = Newtonsoft.Json.JsonConvert.SerializeObject(oAP);
                string script0    = "IB.vars.oAccion = " + jsonAccion + ";";
                script0 += "IB.vars.ta204_idaccionpreventa = " + oAP.ta204_idaccionpreventa + ";";
                script0 += "IB.vars.ta206_estado = '" + oAP.ta206_estado + "';";
                Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "script0", script0, true);

                soyLider = (int)Session["IDFICEPI_PC_ACTUAL"] == oAP.t001_idficepi_lider;
            }
            else if (modo == "A") //alta
            {
                itemorigen   = ht["itemorigen"].ToString().Trim().ToUpper();
                iditemorigen = ht["iditemorigen"].ToString().Trim().ToUpper();

                //Alta de acciones desde SUPER: sólo se permite crear acciones en el area de la solicitud
                if (itemorigen == "S")
                {
                    cSP   = new BLL.SolicitudPreventa(cDBConn.dblibclass);
                    cArea = new BLL.AreaPreventa(cDBConn.dblibclass);
                    oSP   = cSP.Select(int.Parse(iditemorigen), itemorigen);
                    Models.AreaPreventa oAP = cArea.Select((int)oSP.ta200_idareapreventa);

                    string script3 = "IB.vars.ta199_idunidadpreventa = " + oAP.ta199_idunidadpreventa + ";";
                    script3 += "IB.vars.ta200_idareapreventa = " + oSP.ta200_idareapreventa + ";";
                    script3 += "IB.vars.ta206_estado = '" + oSP.ta206_estado + "';";
                    Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "script3", script3, true);
                }

                string script0 = "IB.vars.ta204_idaccionpreventa = '" + Guid.NewGuid().ToString() + "';";
                Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "script0", script0, true);
            }

            string script1 = "IB.vars.modo = '" + modo + "';";
            script1 += "IB.vars.origenpantalla = '" + origenpantalla + "';";
            script1 += "IB.vars.caller = '" + caller + "';";
            script1 += "IB.vars.iditemorigen = " + iditemorigen + ";";
            script1 += "IB.vars.itemorigen = '" + itemorigen + "';";
            script1 += "IB.vars.idficepi = " + Session["IDFICEPI_PC_ACTUAL"].ToString() + ";";
            script1 += "IB.vars.profesional = '" + Session["APELLIDO1"].ToString().ToUpper() + " " + Session["APELLIDO2"].ToString().ToUpper() + ", " + Utils.Capitalize(Session["NOMBRE"].ToString()) + "';";
            Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "script1", script1, true);

            cUsuario = new BLL.Usuario(cDBConn.dblibclass);
            oPE      = cUsuario.obtenerPerfilesEdicionUsuario(User, soyLider, ta201_idsubareapreventa);
            if (origenpantalla == "SUPER")
            {
                oPE.soyComercial = false;                            //desde super el rol comercial no debe afectar
            }
            //oPE.soyAdministrador = false;
            //oPE.soyFiguraSubareaActual = true;
            //oPE.soyLider = false;
            //oPE.soyPosibleLider = true;
            //oPE.soyFiguraAreaActual = false;

            string script2 = "IB.vars.perfilesEdicion = " + JsonConvert.SerializeObject(oPE) + ";";
            Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "script2", script2, true);

            //Información de cabecera. Solo el ID, el resto por ajax en el init del js.
            string lbl = "";
            switch (itemorigen)
            {
            case "O":
                lbl = "Oportunidad";
                div_container_cab_P.Visible = false;
                break;

            case "E":
                lbl = "Extensión";
                div_container_cab_P.Visible = false;
                divOportExt.Attributes.Add("class", "form-group show");
                break;

            case "P":
                lbl = "Objetivo";
                //div_txtCuenta_cab.Visible = false;
                div_container_cab_OE.Visible = false;

                break;

            case "S":
                lbl = "Solicitud";
                div_txtCuenta_cab.Visible        = false;
                div_container_cab_OE.Visible     = false;
                div_container_cab_P.Visible      = false;
                linkInformacionAdicional.Visible = false;
                break;
            }
            this.lblItemorigen_cab.InnerText = lbl;
            this.txtIditemorigen_cab.Value   = iditemorigen;
        }

        catch (Exception ex)
        {
            LogError.LogearError("Error al cargar el detalle de la acción preventa", ex);
            Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "scripterr", "IB.vars.error = 'Se ha producido un error durante la carga de la acción preventa.';", true);
        }

        finally
        {
            if (cArea != null)
            {
                cArea.Dispose();
            }
            if (cAP != null)
            {
                cAP.Dispose();
            }
            if (cUsuario != null)
            {
                cUsuario.Dispose();
            }
            if (cSP != null)
            {
                cSP.Dispose();
            }
            if (cDBConn != null)
            {
                cDBConn.Dispose();
            }
        }
    }