Exemple #1
0
        public JsonResult ObtenerUsuarioPorId(string usuarioId)
        {
            var usuario = _userServicio.ObtenerUsuarioPorId(usuarioId);

            if (usuario == null)
            {
                return(Json(HttpNotFound()));
            }

            var annosLaborados = DateTime.Now.Year - usuario.FechaIngreso.Year;

            if (usuario.FechaIngreso > DateTime.Now.AddYears(-annosLaborados))
            {
                annosLaborados--;
            }

            var empleado = new SolicitudParaEmpleado()
            {
                Id                      = usuario.Id,
                Nombre                  = usuario.Nombre,
                PrimerApellido          = usuario.PrimerApellido,
                SegundoApellido         = usuario.SegundoApellido,
                Email                   = usuario.Email,
                PhoneNumber             = usuario.PhoneNumber,
                Role                    = usuario.Role,
                UnidadTecnica           = usuario.UnidadTecnica,
                Categoria               = usuario.Categoria,
                FechaIngresoEmpleado    = usuario.FechaIngreso.ToString("yyyy-MM-dd"),
                FechaCreacionUsuario    = usuario.FechaCreacion.ToString("yyyy-MM-dd"),
                EstaActivo              = usuario.EstaActivo,
                CantidadAnnosLaborados  = annosLaborados < 0 ? 0 : annosLaborados,
                CantidadDiasSolicitados = 0,

                // Saldo Dias Disponibles viene de la BD
                SaldoDiasDisponibles = usuario.SaldoDiasDisponibles
            };

            return(Json(new { Usuario = empleado }, JsonRequestBehavior.AllowGet));
        }
Exemple #2
0
        public async Task <ActionResult> CrearParaEmpleado(SolicitudParaEmpleado solicitudVacaciones)
        {
            var empleados = userService.GetUsers();

            solicitudVacaciones.Colaboradores = empleados.ToList();

            if (!ModelState.IsValid)
            {
                return(View(solicitudVacaciones));
            }

            //if (solicitudVacaciones.CantidadDiasSolicitados > solicitudVacaciones.SaldoDiasDisponibles)
            //{
            //    ModelState.AddModelError("", "La cantidad de días solicitados no puede ser mayor al saldo de días disponibles.");
            //    return View(solicitudVacaciones);
            //}

            try
            {
                var guid         = Guid.NewGuid();
                var rowsAffected = await solicitudService.CrearSolicitudVacaciones(solicitudVacaciones, guid);

                if (rowsAffected <= 0)
                {
                    ModelState.AddModelError("", "Hubo un problema al tratar de agregar la solicitud. Favor intente de nuevo más tarde.");
                    return(View(solicitudVacaciones));
                }

                return(RedirectToAction("Index", "Solicitud"));
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", "Hubo un problema al tratar de agregar la solicitud. Favor intente de nuevo más tarde.");
                return(View(solicitudVacaciones));
            }
        }