Example #1
0
 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);
 }
Example #2
0
 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);
 }
Example #3
0
 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());
 }