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)); }
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)); } }