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")); } } }
// 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)); }
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")); } } }
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); }
// 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)); }
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)); } } }
// 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)); }
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)); }
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 })); } } }
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)); }