Exemple #1
0
        protected void AddProyectBtn_Click(object sender, EventArgs e)
        {
            int idproyecto = 0;

            lMessage.Text = "";
            int    modo = 0;
            int    activo = 0;
            int    ventas = 0;
            string comentario = "";
            int    idempresacontratista = 0;
            string descripcion, convenio, claveconvenio;

            descripcion   = "";
            convenio      = "";
            claveconvenio = "";

            /*********************************************************************************************************************************
            * Verificar que campos obligatorios estén ingresados
            * *******************************************************************************************************************************/
            if (nombreproyectotxt.Text == "" || fecharegistrotxt.Text == "" || Convert.ToString(cmbTipoObra.SelectedItem) == "" ||
                Convert.ToString(cmbEtapaProyecto.SelectedItem) == "" || Convert.ToString(cmbEstatus.SelectedItem) == "" ||
                Convert.ToString(cmbSector.SelectedItem) == "" || Convert.ToString(cmbEmpresaRaiz.SelectedItem) == "")
            {
                lMessage.Visible            = true;
                lMessage2.Text              = "Debe ingresar el nombre del proyecto, fecha registro, tipo de obra, Etapa de Proyecto, Estatus, Sector y Empresa Raíz.";
                Session["resultadoProceso"] = "2";
                return;
            }

            /*********************************************************************************************************************************
            * Campos opcionales inicializarlos para no generar error de input
            * *******************************************************************************************************************************/
            if (Convert.ToString(cmbEmpresasContratista.SelectedItem) != "")
            {
                idempresacontratista = Convert.ToInt32(cmbEmpresasContratista.SelectedValue);
            }
            if (descripciontxt.Text != "")
            {
                descripcion = descripciontxt.Text;
            }

            try
            {
                ProyectosBehaivor NewProyectItem = new ProyectosBehaivor();
                NewProyectItem.Connection = ConectionBD;
                List <ProyectosDatos> ProyLst = null;

                /***********************************************************************************
                 *  Verificar que el nombre del proyecto que se registra no exista
                 * ********************************************************************************/
                modo    = 7; // Modo para revisar proyecto existente
                ProyLst = NewProyectItem.CN_fn_ProyectoValidarNuevo(nombreproyectotxt.Text, modo);
                if (ProyLst.Count > 0 && ProyLst[0].IdProyecto > -1)
                {
                    lMessage.Visible            = true;
                    lMessage2.Text              = "Este nombre de Proyecto ya está registrado, ingrese con otro nombre.";
                    Session["resultadoProceso"] = "2";
                    return;
                }
                else
                {
                    lMessage.Text    = "Adelante";
                    lMessage.Visible = false;
                }

                /***********************************************************************************
                 *  Ingresar datos del proyecto
                 * ********************************************************************************/
                modo    = 1; // Modo para registrar nuevpo proyecto
                ProyLst = NewProyectItem.CN_fn_ProyectoInsert(nombreproyectotxt.Text,
                                                              Convert.ToInt32(cmbEmpresaRaiz.SelectedValue),
                                                              idempresacontratista,
                                                              Convert.ToInt32(cmbTipoObra.SelectedValue),
                                                              Convert.ToInt32(cmbEtapaProyecto.SelectedValue),
                                                              Convert.ToInt32(cmbEstatus.SelectedValue),
                                                              Convert.ToInt32(cmbSector.SelectedValue),
                                                              convenio,
                                                              claveconvenio,
                                                              Convert.ToInt32(ID_USUARIO_SESSION),
                                                              Convert.ToInt32(CmbInversion.SelectedValue),
                                                              descripcion,
                                                              activo,
                                                              comentario,
                                                              ventas,
                                                              Convert.ToInt32(CmbInversion.SelectedValue),
                                                              modo);
                if (ProyLst.Count > 0)
                {
                    idproyecto = ProyLst[0].IdProyecto;
                }

                /***************************************************************************************************************
                 * Pantalla de Usuario Registrado
                 * ************************************************************************************************************/
                nombreproyectotxt.Enabled      = false;
                cmbEmpresaRaiz.Enabled         = false;
                cmbEmpresasContratista.Enabled = false;
                cmbTipoObra.Enabled            = false;
                cmbEtapaProyecto.Enabled       = false;
                cmbEstatus.Enabled             = false;
                cmbSector.Enabled      = false;
                CmbInversion.Enabled   = false;
                descripciontxt.Enabled = false;
                AddProyectBtn.Enabled  = false;

                Session["resultadoProceso"] = "1";
                lMessage.Visible            = true;
                lMessage.Text = "Proyecto registrado con éxito.";

                /***** Ingresar acción en Bitácora ***/
                Bitacorear.Guardar(ID_USUARIO_SESSION, Convert.ToInt32(Session["idrol"]), "AddProyecto1.aspx", "Registrar", "Proyecto: [ " + idproyecto + " - " + nombreproyectotxt.Text + "] ", ConectionBD);

                //Registrar en notificación el evento y obtener ID
                // Registro nuevo proyecto:
                int tipoNotificacion = 19;
                Inboxfn.RegistrarNotificacion("Registro Nuevo Proyecto", "Nuevo Proyecto: ID:" + idproyecto + " Proyecto: " + nombreproyectotxt.Text, tipoNotificacion, ConectionBD);
                // Obtener último ID Notificación registrado
                int IDLastNotification = 0;
                IDLastNotification = Inboxfn.ObtenerIDNotificacion(ConectionBD);
                //Envio a inbox x Usuario
                Inboxfn.RegistrarNotificacionxUsuario(ID_USUARIO_SESSION, IDLastNotification, 1, ConectionBD);
                Response.Redirect("AddProyecto2.aspx?idproy=" + idproyecto);
            }
            catch (Exception ex)
            {
                mensajeErrorlbl.Visible   = true;
                mensajeErrorlbl.ForeColor = System.Drawing.Color.Red;
                mensajeErrorlbl.Text      = "!Error / Agregar registro: " + ex.Message + "!";
            }
        }