示例#1
0
        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);
        }
示例#2
0
 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");
 }