Ejemplo n.º 1
0
 public ActionResult Create(Tipo_Puesto tipo_puesto)
 {
     using (DbContextTransaction tran = db.Database.BeginTransaction())
     {
         try
         {
             tipo_puesto.salario_maximo      = Convert.ToDecimal(Request["salario_maximo"], CultureInfo.InvariantCulture);
             tipo_puesto.salario_minimo      = Convert.ToDecimal(Request["salario_minimo"], CultureInfo.InvariantCulture);
             tipo_puesto.activo              = true;
             tipo_puesto.eliminado           = false;
             tipo_puesto.fecha_creacion      = DateTime.Now;
             tipo_puesto.id_usuario_creacion = Cache.DiccionarioUsuariosLogueados[User.Identity.Name].usuario.id_usuario;
             db.Tipo_Puesto.Add(tipo_puesto);
             db.SaveChanges();
             tran.Commit();
             return(RedirectToAction("Index"));
         }
         catch
         {
             tran.Rollback();
             ContextMessage msg = new ContextMessage(ContextMessage.Error, "No se pudo crear correctamente el Tipo de Puesto");
             msg.ReturnUrl = Url.Action("Create");
             TempData[User.Identity.Name] = msg;
             return(RedirectToAction("Mensaje", "Home"));
         }
     }
 }
Ejemplo n.º 2
0
        // GET: rrhh/Tipo_Puesto/Create
        public ActionResult Create()
        {
            ViewBag.empresa = new SelectList(db.Empresa.Where(e => e.activo), "id_empresa", "nombre");
            Tipo_Puesto tipo_puesto = new Tipo_Puesto();

            return(View(tipo_puesto));
        }
Ejemplo n.º 3
0
 public ActionResult Edit(Tipo_Puesto tipo_puesto)
 {
     using (DbContextTransaction tran = db.Database.BeginTransaction())
     {
         try
         {
             Tipo_Puesto editTipo_puesto = db.Tipo_Puesto.SingleOrDefault(t => t.id_tipo_puesto == tipo_puesto.id_tipo_puesto && t.activo);
             if (editTipo_puesto == null)
             {
                 return(HttpNotFound());
             }
             //editTipo_puesto.id_empresa = tipo_puesto.id_empresa;
             editTipo_puesto.nombre = tipo_puesto.nombre;
             editTipo_puesto.genera_estado_fuerza    = tipo_puesto.genera_estado_fuerza;
             editTipo_puesto.salario_maximo          = Convert.ToDecimal(Request["salario_maximo"], CultureInfo.InvariantCulture);
             editTipo_puesto.salario_minimo          = Convert.ToDecimal(Request["salario_minimo"], CultureInfo.InvariantCulture);
             editTipo_puesto.fecha_modificacion      = DateTime.Now;
             editTipo_puesto.id_usuario_modificacion = Cache.DiccionarioUsuariosLogueados[User.Identity.Name].usuario.id_usuario;
             db.Entry(editTipo_puesto).State         = EntityState.Modified;
             db.SaveChanges();
             tran.Commit();
             return(RedirectToAction("Index"));
         }
         catch
         {
             tran.Rollback();
             ContextMessage msg = new ContextMessage(ContextMessage.Error, "No se pudo modificar correctamente el Tipo de Puesto");
             msg.ReturnUrl = Url.Action("Edit");
             TempData[User.Identity.Name] = msg;
             return(RedirectToAction("Mensaje", "Home"));
         }
     }
 }
Ejemplo n.º 4
0
        public Tipo_Puesto NuevoTipoPuesto()
        {
            Tipo_Puesto tipo_puesto = new Tipo_Puesto();

            tipo_puesto.activo              = true;
            tipo_puesto.eliminado           = false;
            tipo_puesto.fecha_creacion      = DateTime.Now;
            tipo_puesto.id_usuario_creacion = Cache.DiccionarioUsuariosLogueados[User.Identity.Name].usuario.id_usuario;
            return(tipo_puesto);
        }
Ejemplo n.º 5
0
        // GET: rrhh/Tipo_Puesto/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Tipo_Puesto tipo_Puesto = db.Tipo_Puesto.Find(id);

            if (tipo_Puesto == null)
            {
                return(HttpNotFound());
            }
            return(View(tipo_Puesto));
        }
Ejemplo n.º 6
0
 public ActionResult Create(Puesto puesto)
 {
     using (DbContextTransaction tran = db.Database.BeginTransaction())
     {
         try
         {
             puesto.nombre = puesto.nombre.ToUpper();
             Tipo_Puesto tipo_puesto = db.Tipo_Puesto.SingleOrDefault(t => t.activo && !t.eliminado && t.id_tipo_puesto == puesto.id_tipo_puesto);
             if (tipo_puesto == null)
             {
                 ModelState.AddModelError("", "Tipo de Puesto seleccionado no valido.");
                 ViewBag.tipo_puesto = new SelectList(db.Tipo_Puesto.Where(t => !t.eliminado), "id_tipo_puesto", "nombre");
                 ViewBag.empresa     = new SelectList(db.Empresa.Where(e => !e.eliminado), "id_empresa", "nombre");
                 return(View(puesto));
             }
             decimal bono_extra   = Convert.ToDecimal(!String.IsNullOrEmpty(Request["bono_extra"]) ? Request["bono_extra"] : "0", CultureInfo.InvariantCulture);
             decimal bono_decreto = Convert.ToDecimal(!String.IsNullOrEmpty(Request["bono_decreto"]) ? Request["bono_decreto"] : "0", CultureInfo.InvariantCulture);
             decimal sueldo_base  = Convert.ToDecimal(Request["sueldo_base"], CultureInfo.InvariantCulture);
             puesto.bono_decreto = bono_decreto;
             puesto.bono_extra   = bono_extra;
             puesto.sueldo_base  = sueldo_base;
             decimal sueldo = sueldo_base + bono_extra + bono_decreto;
             if (sueldo < tipo_puesto.salario_minimo || sueldo > tipo_puesto.salario_maximo)
             {
                 ModelState.AddModelError("", "El sueldo ingresado para el puesto no entra en el rango establecido.");
                 ViewBag.tipo_puesto = new SelectList(db.Tipo_Puesto.Where(t => !t.eliminado), "id_tipo_puesto", "nombre");
                 ViewBag.empresa     = new SelectList(db.Empresa.Where(e => !e.eliminado), "id_empresa", "nombre");
                 return(View(puesto));
             }
             puesto.fecha_creacion      = DateTime.Now;
             puesto.activo              = true;
             puesto.eliminado           = false;
             puesto.prestaciones        = tipo_puesto.Empresa.prestaciones;
             puesto.id_usuario_creacion = Cache.DiccionarioUsuariosLogueados[User.Identity.Name].usuario.id_usuario;
             db.Puesto.Add(puesto);
             db.SaveChanges();
             tran.Commit();
             return(RedirectToAction("Index"));
         }
         catch
         {
             tran.Rollback();
             ModelState.AddModelError("", "Error durante la operación. Datos no guardados.");
             ViewBag.empresa        = new SelectList(db.Empresa.Where(e => !e.eliminado), "id_empresa", "nombre");
             ViewBag.id_tipo_puesto = new SelectList(db.Tipo_Puesto.Where(t => !t.eliminado), "id_tipo_puesto", "nombre");
             return(View(puesto));
         }
     }
 }
Ejemplo n.º 7
0
        // GET: rrhh/Tipo_Puesto/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Tipo_Puesto tipo_Puesto = db.Tipo_Puesto.Find(id);

            if (tipo_Puesto == null)
            {
                return(HttpNotFound());
            }
            //ViewBag.empresa = new SelectList(db.Empresa.Where(e => e.activo), "id_empresa", "nombre");
            return(View(tipo_Puesto));
        }
Ejemplo n.º 8
0
        public JsonResult GetPuestos(int id_tipo_puesto)
        {
            var         resultados  = new List <object>();
            Tipo_Puesto tipo_puesto = db.Tipo_Puesto.SingleOrDefault(e => e.id_tipo_puesto == id_tipo_puesto && e.activo);

            if (tipo_puesto == null)
            {
                return(Json(resultados, JsonRequestBehavior.AllowGet));
            }
            foreach (var puesto in tipo_puesto.Puesto.Where(t => t.activo && !t.eliminado))
            {
                resultados.Add(new { nombre = puesto.nombre, valor = puesto.id_puesto });
            }
            return(Json(resultados, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 9
0
 public ActionResult Eliminar(int id)
 {
     using (DbContextTransaction tran = db.Database.BeginTransaction())
     {
         try
         {
             Tipo_Puesto tipo_puesto = db.Tipo_Puesto.Find(id);
             tipo_puesto.fecha_eliminacion      = DateTime.Now;
             tipo_puesto.id_usuario_eliminacion = Cache.DiccionarioUsuariosLogueados[User.Identity.Name].usuario.id_usuario;
             tipo_puesto.activo          = false;
             tipo_puesto.eliminado       = true;
             db.Entry(tipo_puesto).State = EntityState.Modified;
             db.SaveChanges();
             tran.Commit();
             return(Json(new { msg = "", response = true }));
         }
         catch
         {
             tran.Rollback();
             return(Json(new { msg = "Cambios no guardados.", response = false }));
         }
     }
 }
Ejemplo n.º 10
0
        public ActionResult Edit(Puesto puesto, string salario_minimo, string salario_maximo)
        {
            ModelState.Clear();
            Puesto editPuesto = db.Puesto.SingleOrDefault(e => e.id_puesto == puesto.id_puesto && e.activo);

            if (editPuesto == null)
            {
                return(HttpNotFound());
            }
            if (ModelState.IsValid)
            {
                using (DbContextTransaction tran = db.Database.BeginTransaction())
                {
                    try
                    {
                        Tipo_Puesto tipo_puesto = db.Tipo_Puesto.SingleOrDefault(t => t.activo && !t.eliminado && t.id_tipo_puesto == puesto.id_tipo_puesto);
                        if (tipo_puesto == null)
                        {
                            ModelState.AddModelError("", "Tipo de Puesto seleccionado no valido.");
                            ViewBag.tipo_puesto  = new SelectList(db.Tipo_Puesto.Where(t => !t.eliminado), "id_tipo_puesto", "nombre");
                            ViewBag.id_documento = new SelectList(db.Documentos.Where(e => e.activo && !e.eliminado), "id_documento", "reporte");
                            return(View(editPuesto));
                        }
                        decimal bono_extra   = Convert.ToDecimal(!String.IsNullOrEmpty(Request["bono_extra"]) ? Request["bono_extra"] : "0", CultureInfo.InvariantCulture);
                        decimal bono_decreto = Convert.ToDecimal(!String.IsNullOrEmpty(Request["bono_decreto"]) ? Request["bono_decreto"] : "0", CultureInfo.InvariantCulture);
                        decimal sueldo_base  = Convert.ToDecimal(Request["sueldo_base"], CultureInfo.InvariantCulture);
                        puesto.bono_decreto = bono_decreto;
                        puesto.bono_extra   = bono_extra;
                        puesto.sueldo_base  = sueldo_base;
                        decimal sueldo = sueldo_base + bono_extra + bono_decreto;
                        if (sueldo < tipo_puesto.salario_minimo || sueldo > tipo_puesto.salario_maximo)
                        {
                            ModelState.AddModelError("", "El sueldo ingresado para el puesto no entra en el rango establecido.");
                            ViewBag.tipo_puesto  = new SelectList(db.Tipo_Puesto.Where(t => !t.eliminado), "id_tipo_puesto", "nombre");
                            ViewBag.id_documento = new SelectList(db.Documentos.Where(e => e.activo && !e.eliminado), "id_documento", "reporte");
                            return(View(editPuesto));
                        }
                        editPuesto.nombre                  = puesto.nombre.ToUpper();
                        editPuesto.id_tipo_puesto          = puesto.id_tipo_puesto;
                        editPuesto.bono_decreto            = puesto.bono_decreto;
                        editPuesto.bono_extra              = puesto.bono_extra;
                        editPuesto.sueldo_base             = puesto.sueldo_base;
                        editPuesto.prestaciones            = tipo_puesto.Empresa.prestaciones;
                        editPuesto.fecha_modificacion      = DateTime.Now;
                        editPuesto.id_usuario_modificacion = Cache.DiccionarioUsuariosLogueados[User.Identity.Name].usuario.id_usuario;
                        db.Entry(editPuesto).State         = EntityState.Modified;
                        db.CambioSalarioPuesto(editPuesto.sueldo_base, editPuesto.bono_decreto,
                                               editPuesto.bono_extra, Cache.DiccionarioUsuariosLogueados[User.Identity.Name].usuario.id_usuario,
                                               editPuesto.id_puesto);
                        db.SaveChanges();
                        tran.Commit();
                        return(RedirectToAction("Index"));
                    }
                    catch
                    {
                        tran.Rollback();
                        ModelState.AddModelError("", "Error durante la operación. Datos no guardados.");
                    }
                }
            }
            ViewBag.id_documento = new SelectList(db.Documentos.Where(e => e.activo && !e.eliminado), "id_documento", "nombre");
            ViewBag.tipo_puesto  = new SelectList(db.Tipo_Puesto.Where(t => !t.eliminado), "id_tipo_puesto", "nombre", puesto.id_tipo_puesto);
            return(View(editPuesto));
        }