public ActionResult Create(Colaborador colaborador) { colaborador.codigo = colaborador.codigo.Replace(" ", ""); int i = db.Colaborador.Where(c => c.codigo.Equals(colaborador.codigo)).Count(); if (i > 0) { ModelState.AddModelError("codigo", "El código ya fue registrado"); } if (colaborador.idcolaboradortipo != 0) if (colaborador.idcolaboradortipo == 1 && !colaborador.codigo[0].Equals('M')) ModelState.AddModelError("codigo", "El prefijo del código debería ser M"); else if (colaborador.idcolaboradortipo == 2 && !colaborador.codigo[0].Equals('X')) ModelState.AddModelError("codigo", "El prefijo del código debería ser X"); if (colaborador.file != null && colaborador.file.ContentLength > 0) { var validImageTypes = new string[] { "image/gif", "image/jpeg", "image/pjpeg", "image/png" }; if (!validImageTypes.Contains(colaborador.file.ContentType)) { ModelState.AddModelError("file", "Seleccione una imagen GIF, JPG o PNG"); } else { MemoryStream target = new MemoryStream(); colaborador.file.InputStream.CopyTo(target); colaborador.foto = target.ToArray(); } } if (ModelState.IsValid) { db.Colaborador.Add(colaborador); db.SaveChanges(); TempData["alerta"] = "Solicitud de confirmación enviada con éxito"; string correo = db.Colaborador.Find(colaborador.colaborador_idcolaborador).correo; string titulo = "Solicitud de aprobación"; string mensaje = "Solicitud de aprobación de nuevo colaborador<br/><br/><a href=\"" + (Request.Url.Scheme + "://" + Request.Url.Authority + Request.ApplicationPath.TrimEnd('/') + "/ADMIN/Colaborador/Edit2/" + colaborador.idcolaborador) + "\" target=\"_blank\">IR</a>"; if (Correo.sepuede) Correo.enviar2(correo, titulo, mensaje); return RedirectToAction("Index"); } ViewBag.idcolaboradortipo = new SelectList(db.ColaboradorTipo, "idcolaboradortipo", "descripcion", colaborador.idcolaboradortipo); ViewBag.centrocosto_idcentrocosto = new SelectList(db.CentroCosto.Where(c => c.centrocosto_idcentrocosto == null), "idcentrocosto", "nombre", colaborador.centrocosto_idcentrocosto); ViewBag.idcentrocosto = new SelectList(db.CentroCosto.Where(c => c.centrocosto_idcentrocosto == colaborador.centrocosto_idcentrocosto), "idcentrocosto", "nombre", colaborador.idcentrocosto); return View(colaborador); }
public ActionResult EditAprobar(Colaborador colaborador) { db.Entry(colaborador).State = EntityState.Modified; db.Entry(colaborador).Property("foto").IsModified = false; 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 colaborador " + colaborador.nombre + " fue " + (colaborador.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"); }