Ejemplo n.º 1
0
    protected void btnEliminaObj_Click(object sender, EventArgs e)
    {
        if (!String.IsNullOrEmpty(Request["__EVENTARGUMENT"]))
        {
            using (Entities c = new Entities())
            {
                try
                {
                    int      id       = Convert.ToInt32(Request["__EVENTARGUMENT"]);
                    int      iDeptoId = getDptoId();
                    OBJETIVO obj      = c.CONTENIDO.OfType <OBJETIVO>().SingleOrDefault(x => x.CONTENIDO_ID == id);

                    if (obj.TieneAcceso(User.Identity.GetUserId()))
                    {
                        if (obj.YaPublicado())
                        {
                            //Marcamos el cambio como eliminación
                            obj.FECHA_MODIFICACION            = DateTime.Now;
                            obj.AUTOR_MODIFICACION_USUARIO_ID = User.Identity.GetUserId().ToString();
                            obj.TIPO_CAMBIO_CONTENIDO_ID      = TIPO_CAMBIO_CONTENIDO.ELIMINADO;
                            obj.ESTADO_VALIDACION_ID          = ESTADOS_VALIDACION.PDTE_VALIDAR;

                            c.CONTENIDO.Attach(obj);
                            c.Entry(obj).State = EntityState.Modified;
                            c.SaveChanges();

                            SuccessMessage         = "Objetivo marcado para eliminación (se deberá validar previamente).";
                            successMessage.Visible = true;
                        }
                        else
                        {
                            //Si todavía no ha sido publicado lo eliminamos
                            OBJETIVO.EliminaObjetivo(obj.CONTENIDO_ID);
                            Response.Redirect("AdminPlan?id=" + iDeptoId.ToString() + "&m=" + "Objetivo eliminado correctamente.", false);
                        }
                    }
                    else
                    {
                        logger.Info("Acceso - AdminPlan.aspx Usuario: " + User.Identity.GetUserId() + " sin permiso de modificación en Objetivo: " + id.ToString());
                    }
                }
                catch (Exception ex)
                {
                    ErrorMessage         = "Error al eliminar el objetivo.";
                    errorMessage.Visible = true;
                    logger.Error("ERROR: AdminPlan.aspx Error al eliminar objetivo " + Request["__EVENTARGUMENT"] + ". Error: " + ex.Message + " " + ex.InnerException);
                    Notificaciones.NotifySystemOps(ex);
                }
            }
        }
    }
Ejemplo n.º 2
0
    /// <summary>
    /// Actualiza Objetivo
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void btnActualiza_Click(object sender, EventArgs e)
    {
        if (ModelState.IsValid)
        {
            if ((!String.IsNullOrEmpty(this.ObjetivoEstrategicoPV.Text)))
            {
                int iObjetivoId = Convert.ToInt32(this.hdObjetivoIdEdit.Value);
                using (Entities c = new Entities())
                {
                    try
                    {
                        OBJETIVO obj = c.CONTENIDO.OfType <OBJETIVO>().Where(o => o.CONTENIDO_ID == iObjetivoId).FirstOrDefault();
                        if (obj.YaPublicado())
                        {
                            obj.FECHA_MODIFICACION            = DateTime.Now;
                            obj.AUTOR_MODIFICACION_USUARIO_ID = User.Identity.GetUserId().ToString();
                            obj.TIPO_CAMBIO_CONTENIDO_ID      = TIPO_CAMBIO_CONTENIDO.MODIFICACION;
                        }
                        else
                        {
                            //Si todavía no ha sido publicado lo trataremos como un alta
                            obj.FECHA_CREACION            = DateTime.Now;
                            obj.AUTOR_CREACION_USUARIO_ID = User.Identity.GetUserId().ToString();
                            obj.TIPO_CAMBIO_CONTENIDO_ID  = TIPO_CAMBIO_CONTENIDO.ALTA;
                        }

                        //Si hay cambios guardamos si no no, para no marcar como modificado
                        bool bHayCambios = false;

                        if (String.IsNullOrEmpty(obj.OBJETIVO_ESTRATEGICO_PDTE_VAL))
                        {
                            bHayCambios = true;
                        }
                        else if (obj.OBJETIVO_ESTRATEGICO_PDTE_VAL.Trim() != this.ObjetivoEstrategicoPV.Text.Trim())
                        {
                            bHayCambios = true;
                        }

                        if (bHayCambios)
                        {
                            obj.OBJETIVO_ESTRATEGICO_PDTE_VAL = this.ObjetivoEstrategicoPV.Text.Trim();
                            obj.ESTADO_VALIDACION_ID          = ESTADOS_VALIDACION.PDTE_VALIDAR;

                            c.CONTENIDO.Attach(obj);
                            c.Entry(obj).State = EntityState.Modified;
                            c.SaveChanges();

                            SuccessMessage         = "Objetivo actualizado correctamente.";
                            successMessage.Visible = true;
                        }
                    }
                    catch (Exception ex)
                    {
                        logger.Fatal("Error al actualizar objetivo (AdminPlan.aspx). Error: " + ex.Message + " " + ex.InnerException);
                        Notificaciones.NotifySystemOps(ex);
                        ErrorMessage         = "Error al actualizar nuevo objetivo.";
                        errorMessage.Visible = true;
                    }
                }
            }
            else
            {
                ErrorMessage         = "Se deben rellenar los campos del formulario.";
                errorMessage.Visible = true;
            }
        }
        else
        {
            ErrorMessage         = "Se deben rellenar los campos del formulario.";
            errorMessage.Visible = true;
        }
    }