public async Task <IActionResult> AprobarPermisos(SolicitudPermisoViewModel solicitudPermisoViewModel) { Response response = new Response(); try { if (solicitudPermisoViewModel != null) { response = await apiServicio.EditarAsync <SolicitudPermisoViewModel>(solicitudPermisoViewModel, new Uri(WebApp.BaseAddress), "api/SolicitudesPermisos/EditarEstadoSolicitudPermiso"); if (response.IsSuccess) { return(this.RedireccionarMensajeTime( "SolicitudesPermisosAprobador", "IndexJefe", $"{Mensaje.Success}|{response.Message}|{"6000"}" )); } this.TempData["MensajeTimer"] = $"{Mensaje.Error}|{response.Message}|{"12000"}"; await CargarCombos(); return(View(solicitudPermisoViewModel)); } return(BadRequest()); } catch (Exception ex) { return(BadRequest()); } }
public async Task <Response> EditarEstadoSolicitudPermiso([FromBody] SolicitudPermisoViewModel solicitudPermisoViewModel) { try { if (!ModelState.IsValid) { return(new Response { IsSuccess = false, Message = Mensaje.ModeloInvalido }); } var SolicitudPermiso = await db.SolicitudPermiso.FindAsync(solicitudPermisoViewModel.SolicitudPermiso.IdSolicitudPermiso); SolicitudPermiso.Estado = solicitudPermisoViewModel.SolicitudPermiso.Estado; db.SolicitudPermiso.Update(SolicitudPermiso); await db.SaveChangesAsync(); return(new Response { IsSuccess = true, Message = Mensaje.Satisfactorio }); } catch (Exception ex) { return(new Response { IsSuccess = false, Message = Mensaje.Excepcion, }); } }
public async Task <SolicitudPermisoViewModel> ObtenerInformacionSolicitudPermiso([FromBody] int idSolicitudPermiso) { try { SolicitudPermiso solicitudPermiso = await db.SolicitudPermiso .Include(x => x.Empleado) .ThenInclude(x => x.Persona) .Include(x => x.TipoPermiso) .Where(x => x.IdSolicitudPermiso == idSolicitudPermiso) .SingleOrDefaultAsync(); Empleado empleado = await db.Empleado .Include(x => x.Persona) .Include(x => x.Dependencia) .SingleOrDefaultAsync(m => m.IdEmpleado == solicitudPermiso.Empleado.IdEmpleado); var solicitudPermisoViewModel = new SolicitudPermisoViewModel { NombresApellidosEmpleado = empleado.Persona.Nombres + " " + empleado.Persona.Apellidos, NombreDependencia = empleado.Dependencia.Nombre, SolicitudPermiso = solicitudPermiso }; return(solicitudPermisoViewModel); } catch (Exception ex) { throw; } }
public async Task <IActionResult> Visualizar(string id) { try { await CargarCombosJefe(); SolicitudPermisoViewModel solicitudPermisoViewModel = await apiServicio.ObtenerElementoAsync1 <SolicitudPermisoViewModel>(id, new Uri(WebApp.BaseAddress), "api/SolicitudesPermisos/ObtenerInformacionSolicitudPermiso"); return(View(solicitudPermisoViewModel)); } catch (Exception ex) { return(BadRequest()); } }
public async Task <IActionResult> PedirPermiso() { try { var claim = HttpContext.User.Identities.Where(x => x.NameClaimType == ClaimTypes.Name).FirstOrDefault(); var NombreUsuario = claim.Claims.Where(c => c.Type == ClaimTypes.Name).FirstOrDefault().Value; var usuario = await apiServicio.ObtenerElementoAsync1 <Empleado>(NombreUsuario, new Uri(WebApp.BaseAddress), "api/Empleados/EmpleadoSegunNombreUsuario"); var respuesta = await apiServicio.SeleccionarAsync <Response>(usuario.IdEmpleado.ToString(), new Uri(WebApp.BaseAddress), "api/Empleados"); var empleado = JsonConvert.DeserializeObject <Empleado>(respuesta.Resultado.ToString()); var solicitudPermisoViewModel = new SolicitudPermisoViewModel { NombresApellidosEmpleado = empleado.Persona.Nombres + " " + empleado.Persona.Apellidos, NombreDependencia = empleado.Dependencia.Nombre, SolicitudPermiso = new SolicitudPermiso { FechaDesde = DateTime.Now.Date, FechaHasta = DateTime.Now.Date, Empleado = empleado, Observacion = "Sin Observación" } }; await CargarCombos(); return(View(solicitudPermisoViewModel)); } catch (Exception ex) { return(BadRequest()); } }
public async Task <IActionResult> PedirPermiso(SolicitudPermisoViewModel solicitudPermisoViewModel) { try { if (!ModelState.IsValid) { this.TempData["Mensaje"] = $"{Mensaje.Error}|{Mensaje.ModeloInvalido}"; await CargarCombos(); return(View(solicitudPermisoViewModel)); } if (solicitudPermisoViewModel.SolicitudPermiso.FechaDesde > solicitudPermisoViewModel.SolicitudPermiso.FechaHasta) { this.TempData["MensajeTimer"] = $"{Mensaje.Error}|{Mensaje.ErrorFechaDesdeHasta}|{"12000"}"; await CargarCombos(); return(View(solicitudPermisoViewModel)); } string fechaDesde = solicitudPermisoViewModel.SolicitudPermiso.FechaDesde.DayOfWeek.ToString(); string fechaHasta = solicitudPermisoViewModel.SolicitudPermiso.FechaHasta.DayOfWeek.ToString(); // Diferencia en horas TimeSpan?diferenciaHoras = solicitudPermisoViewModel.SolicitudPermiso.HoraHasta - solicitudPermisoViewModel.SolicitudPermiso.HoraDesde; // Diferencia en dìas TimeSpan?tsDiferenciaDias = solicitudPermisoViewModel.SolicitudPermiso.FechaHasta - solicitudPermisoViewModel.SolicitudPermiso.FechaDesde; var solicitudPermiso = new SolicitudPermiso { IdEmpleado = solicitudPermisoViewModel.SolicitudPermiso.Empleado.IdEmpleado, IdTipoPermiso = solicitudPermisoViewModel.SolicitudPermiso.IdTipoPermiso, Motivo = solicitudPermisoViewModel.SolicitudPermiso.Motivo, Observacion = solicitudPermisoViewModel.SolicitudPermiso.Observacion, Estado = solicitudPermisoViewModel.SolicitudPermiso.Estado, FechaSolicitud = DateTime.Now, FechaDesde = solicitudPermisoViewModel.SolicitudPermiso.FechaDesde, FechaHasta = solicitudPermisoViewModel.SolicitudPermiso.FechaHasta, HoraDesde = solicitudPermisoViewModel.SolicitudPermiso.HoraDesde, HoraHasta = solicitudPermisoViewModel.SolicitudPermiso.HoraHasta, }; var response = await apiServicio.InsertarAsync(solicitudPermiso, new Uri(WebApp.BaseAddress), "api/SolicitudesPermisos/InsertarSolicitudPermiso"); if (response.IsSuccess) { return(this.RedireccionarMensajeTime( "SolicitudesPermisosAprobador", "IndexEmpleado", $"{Mensaje.Success}|{response.Message}|{"6000"}" )); } await CargarCombos(); this.TempData["MensajeTimer"] = $"{Mensaje.Error}|{response.Message}|{"12000"}"; return(View(solicitudPermisoViewModel)); } catch (Exception ex) { return(BadRequest()); } }
public async Task <IActionResult> EditarPedirPermiso(string id, SolicitudPermisoViewModel solicitudPermisoViewModel) { Response response = new Response(); try { if (!string.IsNullOrEmpty(id)) { if (!ModelState.IsValid) { this.TempData["Mensaje"] = $"{Mensaje.Error}|{Mensaje.ModeloInvalido}"; await CargarCombos(); return(View(solicitudPermisoViewModel)); } if (solicitudPermisoViewModel.SolicitudPermiso.FechaDesde > solicitudPermisoViewModel.SolicitudPermiso.FechaHasta) { this.TempData["MensajeTimer"] = $"{Mensaje.Error}|{Mensaje.ErrorFechaDesdeHasta}|{"12000"}"; await CargarCombos(); return(View(solicitudPermisoViewModel)); } string fechaDesde = solicitudPermisoViewModel.SolicitudPermiso.FechaDesde.DayOfWeek.ToString(); string fechaHasta = solicitudPermisoViewModel.SolicitudPermiso.FechaHasta.DayOfWeek.ToString(); // Diferencia en horas TimeSpan?diferenciaHoras = solicitudPermisoViewModel.SolicitudPermiso.HoraHasta - solicitudPermisoViewModel.SolicitudPermiso.HoraDesde; // Diferencia en dìas TimeSpan?tsDiferenciaDias = solicitudPermisoViewModel.SolicitudPermiso.FechaHasta - solicitudPermisoViewModel.SolicitudPermiso.FechaDesde; response = await apiServicio.EditarAsync(id, solicitudPermisoViewModel.SolicitudPermiso, new Uri(WebApp.BaseAddress), "api/SolicitudesPermisos"); if (response.IsSuccess) { return(this.RedireccionarMensajeTime( "SolicitudesPermisosAprobador", "IndexEmpleado", $"{Mensaje.Success}|{response.Message}|{"6000"}" )); } this.TempData["MensajeTimer"] = $"{Mensaje.Error}|{response.Message}|{"12000"}"; await CargarCombos(); return(View(solicitudPermisoViewModel.SolicitudPermiso)); } return(BadRequest()); } catch (Exception ex) { return(BadRequest()); } }