public ActionResult Create(ColaboradorPerfil o1, FormCollection collection) { if (o1.idcolaborador == 0) { ModelState.AddModelError("idcolaborador", "Seleccione un colaborador"); } else { if (Correo.sepuede || collection["forzar"] == "1") { ColaboradorPerfil o2 = new ColaboradorPerfil() { idcolaborador = o1.idcolaborador, idperfil = o1.idperfil }; db.ColaboradorPerfil.Add(o2); db.SaveChanges(); TempData["alerta"] = collection["forzar"] == "1" ? "Se guardo la asignación de perfil sin envío de solicitud de aprobación" : "Solicitud de aprobación enviada con éxito"; string correo = db.Colaborador.Find(perfil.unidadnegocio.idcolaborador).correo; string titulo = "Solicitud de aprobación"; string mensaje = "Solicitud de aprobación de nueva asignación de perfil<br/><br/><a href=\"" + (Request.Url.Scheme + "://" + Request.Url.Authority + Request.ApplicationPath.TrimEnd('/') + "/PERFIL/ColaboradorPerfil/Edit2/" + o2.idcolaboradorperfil) + "\" target=\"_blank\">IR</a>"; if (Correo.sepuede) Correo.enviar2(correo, titulo, mensaje); return RedirectToAction("Index", new { id = perfil.idperfil }); } else TempData["confirma"] = "No se podrá enviar la solicitud de aprobación de perfil ¿desea continuar de todos modos?|$('#forzar').val('1'); $('#form1').submit();"; } ViewBag.perfil = perfil; ViewBag.idcolaborador = new SelectList(db.Colaborador.Where(x => x.centrocosto.centrocosto_idcentrocosto == perfil.idcentrocosto && x.idperfil == null && !x.lcolaboradorperfil.Any(y => y.aprobado == null)), "idcolaborador", "nombre", o1.idcolaborador); o1.perfil = db.Perfil.Find(o1.idperfil); ViewBag.idrecurso = new MultiSelectList(o1.perfil.lperfilrecurso, "idrecurso", "recurso.muestraNombrePrecio"); return View(o1); }
public ActionResult Create() { ViewBag.perfil = perfil; ViewBag.idcolaborador = new SelectList(db.Colaborador.Where(x => x.centrocosto.centrocosto_idcentrocosto == perfil.idcentrocosto && x.idperfil == null && !x.lcolaboradorperfil.Any(y => y.aprobado == null)), "idcolaborador", "nombre"); ColaboradorPerfil o = new ColaboradorPerfil() { idperfil = perfil.idperfil }; o.perfil = db.Perfil.Find(o.idperfil); ViewBag.idrecurso = new MultiSelectList(o.perfil.lperfilrecurso, "idrecurso", "recurso.muestraNombrePrecio"); return View(o); }
public ActionResult EditAprobar(ColaboradorPerfil ox) { ColaboradorPerfil o1 = db.ColaboradorPerfil.Find(ox.idcolaboradorperfil); o1.aprobado = ox.aprobado; Colaborador colaborador = db.Colaborador.Find(o1.idcolaborador); string titulo = null; string mensaje = null; int idcorreo = 0; string redirect = (o1.revocacion ? "IndexRevocar" : "IndexAsignar"); if (o1.revocacion) { titulo = "Solicitud de revocación"; mensaje = "La solicitud de revocación de perfil para " + colaborador.nombre; TempData["alerta"] = "Solicitud de revocación guardada con éxito"; if (o1.aprobado == true) { idcorreo = Rol.FACILITADOR; mensaje += " fue aceptada, puede proceder a actualizar el perfil asignado al colaborador"; colaborador.idperfil = null; db.Entry(colaborador).State = EntityState.Modified; db.SaveChanges(); //db.ColaboradorPerfil.Remove(o1); //db.SaveChanges(); } else if (o1.aprobado == false) { idcorreo = Rol.CONSULTOR; mensaje += " fue rechazada"; o1.revocacion = false; o1.aprobado = true; } db.Entry(o1).State = EntityState.Modified; db.SaveChanges(); } else { titulo = "Solicitud de asignación"; mensaje = "La solicitud de asignación de perfil para " + colaborador.nombre; TempData["alerta"] = "Solicitud de asignación guardada con éxito"; if (o1.aprobado == true) { idcorreo = Rol.FACILITADOR; mensaje += " fue aceptada, puede proceder a aplicar el perfil asignado al colaborador"; colaborador.idperfil = o1.idperfil; db.Entry(colaborador).State = EntityState.Modified; db.SaveChanges(); } else if (o1.aprobado == false) { idcorreo = Rol.CONSULTOR; mensaje += " fue rechazada"; //db.ColaboradorPerfil.Remove(o1); //db.SaveChanges(); } db.Entry(o1).State = EntityState.Modified; db.SaveChanges(); } Colaborador rolando = db.Colaborador.Where(x => x.usuario.idrol == idcorreo && x.aprobado == true && !x.desactivado).FirstOrDefault(); string correo = rolando == null ? "" : rolando.correo; if (Correo.sepuede) Correo.enviar2(correo, titulo, mensaje); return RedirectToAction(redirect); }
public ActionResult Edit2(ColaboradorPerfil o1) { ColaboradorPerfil o2 = new ColaboradorPerfil() { idcolaboradorperfil = o1.idcolaboradorperfil, idcolaborador = o1.idcolaborador, idperfil = o1.idperfil, fecha = o1.fecha, comentario = o1.comentario, aprobado = o1.aprobado, revocacion = o1.revocacion }; Colaborador colaborador = db.Colaborador.Find(o2.idcolaborador); string titulo = null; string mensaje = null; int idcorreo = 0; if (o2.revocacion) { titulo = "Solicitud de revocación"; mensaje = "La solicitud de revocación de perfil para " + colaborador.nombre; TempData["alerta"] = "Solicitud de revocación guardada con éxito"; if (o2.aprobado == true) { idcorreo = Rol.FACILITADOR; mensaje += " fue aceptada, puede proceder a actualizar el perfil asignado al colaborador"; colaborador.idperfil = null; db.Entry(colaborador).State = EntityState.Modified; db.SaveChanges(); //db.ColaboradorPerfil.Remove(db.ColaboradorPerfil.Find(o2.idcolaboradorperfil)); //db.SaveChanges(); } else if (o2.aprobado == false) { idcorreo = Rol.CONSULTOR; mensaje += " fue rechazada"; o2.revocacion = false; o2.aprobado = true; } db.Entry(o2).State = EntityState.Modified; db.SaveChanges(); } else { titulo = "Solicitud de asignación"; mensaje = "La solicitud de asignación de perfil para " + colaborador.nombre; TempData["alerta"] = "Solicitud de asignación guardada con éxito"; if (o2.aprobado == true) { idcorreo = Rol.FACILITADOR; mensaje += " fue aceptada, puede proceder a aplicar el perfil asignado al colaborador"; colaborador.idperfil = o2.idperfil; db.Entry(colaborador).State = EntityState.Modified; db.SaveChanges(); } else if (o2.aprobado == false) { idcorreo = Rol.CONSULTOR; mensaje += " fue rechazada"; //db.ColaboradorPerfil.Remove(db.ColaboradorPerfil.Find(o2.idcolaboradorperfil)); //db.SaveChanges(); } db.Entry(o2).State = EntityState.Modified; db.SaveChanges(); } Colaborador rolando = db.Colaborador.Where(x => x.usuario.idrol == idcorreo && x.aprobado == true && !x.desactivado).FirstOrDefault(); string correo = rolando == null ? "" : rolando.correo; if (Correo.sepuede) Correo.enviar2(correo, titulo, mensaje); return RedirectToAction("Index", "Home", new { Area = "" }); }
public ActionResult Edit(ColaboradorPerfil o) { if (ModelState.IsValid) { o.fecha = DateTime.Now; db.Entry(o).State = EntityState.Modified; db.SaveChanges(); if (o.aprobado == null) { TempData["alerta"] = "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 nueva asignación de perfil<br/><br/><a href=\"" + (Request.Url.Scheme + "://" + Request.Url.Authority + Request.ApplicationPath.TrimEnd('/') + "/PERFIL/ColaboradorPerfil/Edit2/" + o.idcolaboradorperfil) + "\" target=\"_blank\">IR</a>"; if (Correo.sepuede) Correo.enviar2(correo, titulo, mensaje); } else TempData["alerta"] = "Asignación de perfil actualizada con éxito"; return RedirectToAction("Index", new { id = perfil.idperfil }); } ViewBag.perfil = perfil; ViewBag.idcolaborador = new SelectList(db.Colaborador.Where(x => x.centrocosto.centrocosto_idcentrocosto == perfil.idcentrocosto), "idcolaborador", "nombre", o.idcolaborador); return View(o); }