public ActionResult Create() { ViewBag.idcentrocosto = new SelectList(db.CentroCosto.Where(x => x.centrocosto_idcentrocosto == null && !x.desactivado), "idcentrocosto", "nombre"); ViewBag.idrecurso = new MultiSelectList(db.Recurso.Where(x => !x.desactivado && x.aprobado == true), "idrecurso", "muestraNombrePrecio"); Perfil perfil = new Perfil(); perfil.costo = 0.00M; return View(perfil); }
public ActionResult Create(Perfil perfil, FormCollection collection) { if (perfil.nombre != null && perfil.nombre != "") { perfil.nombre = perfil.nombre.Replace(" ", " ").Trim(); int j = db.Perfil.Where(c => c.nombre.Equals(perfil.nombre) && c.idcentrocosto == perfil.idcentrocosto).Count(); if (j > 0) ModelState.AddModelError("nombre", "El nombre del perfil debe ser único por unidad de negocio"); } string[] seleccion = null; if (collection["idrecurso[]"] != null) seleccion = collection["idrecurso[]"].Split(','); if (seleccion == null) ModelState.AddModelError("aprobado", "Seleccione al menos un recurso para el perfil"); if (ModelState.IsValid) { if (Correo.sepuede || collection["forzar"] == "1") { db.Perfil.Add(perfil); db.SaveChanges(); PerfilRecurso p = null; if (seleccion != null) foreach (string s in seleccion) { p = new PerfilRecurso() { idperfil = perfil.idperfil, idrecurso = Convert.ToInt32(s), montocalculado = db.Recurso.Find(Convert.ToInt32(s)).costo }; db.PerfilRecurso.Add(p); db.SaveChanges(); } TempData["alerta"] = collection["forzar"] == "1" ? "Se guardo el perfil sin envío de solicitud de aprobación" : "Solicitud de aprobación enviada con éxito"; string correo = db.Colaborador.Find(perfil.idcolaborador).correo; string titulo = "Solicitud de aprobación"; string mensaje = "Solicitud de aprobación de nuevo perfil<br/><br/><a href=\"" + (Request.Url.Scheme + "://" + Request.Url.Authority + Request.ApplicationPath.TrimEnd('/') + "/PERFIL/Perfil/Edit2/" + perfil.idperfil) + "\" target=\"_blank\">IR</a>"; if (Correo.sepuede) Correo.enviar2(correo, titulo, mensaje); return RedirectToAction("Index"); } else TempData["confirma"] = "No hay Internet para enviar la solicitud de aprobación, ¿desea continuar de todos modos?|$('#forzar').val('1'); $('#form1').submit();"; } ViewBag.idcentrocosto = new SelectList(db.CentroCosto.Where(x => x.centrocosto_idcentrocosto == null && !x.desactivado), "idcentrocosto", "nombre"); ViewBag.idrecurso = new MultiSelectList(db.Recurso.Where(x => !x.desactivado && x.aprobado == true), "idrecurso", "muestraNombrePrecio", seleccion); return View(perfil); }
public ActionResult EditAprobar(Perfil perfil) { db.Entry(perfil).State = EntityState.Modified; db.SaveChanges(); Colaborador rolando = db.Colaborador.Where(x => x.usuario.idrol == Rol.CONSULTOR && x.aprobado == true && !x.desactivado).FirstOrDefault(); string correo = rolando == null ? "" : rolando.correo; string titulo = "Petición de aprobación"; string mensaje = "La petición de aprobación del perfil " + perfil.nombre + " fue " + (perfil.aprobado == true ? "aceptada" : "rechazada"); if (Correo.sepuede) Correo.enviar2(correo, titulo, mensaje); TempData["alerta"] = "Petición de aprobación guardada con éxito"; return RedirectToAction("IndexAprobar"); }
public ActionResult Index(int id = 0) { perfil = db.Perfil.Find(id); ViewBag.perfil = perfil; var colaboradorperfil = db.ColaboradorPerfil.Where(c => c.idperfil == id).Include(c => c.colaborador).Include(c => c.perfil); return View(colaboradorperfil.ToList()); }