public async Task <IActionResult> Create(SolicitudPlanificacionVacacionesViewModel modelo) { try { var response = await apiServicio.EditarAsync <Response>( modelo, new Uri(WebApp.BaseAddress), "api/SolicitudPlanificacionVacaciones/InsertarSolicitudPlanificacionVacaciones" ); if (response.IsSuccess) { return(this.Redireccionar( "SolicitarPlanificacionVacaciones", "Index", $"{Mensaje.Success}|{response.Message}" )); } this.TempData["MensajeTimer"] = $"{Mensaje.Error}|{response.Message}|{"10000"}"; return(View(modelo)); } catch (Exception ex) { return(BadRequest()); } }
public async Task <Response> EditarSolicitudPlanificacionVacaciones([FromBody] SolicitudPlanificacionVacacionesViewModel solicitudPlanificacionVacacionesViewModel) { try { if (!ModelState.IsValid) { return(new Response { IsSuccess = false, Message = Mensaje.ModeloInvalido }); } var modelo = await db.SolicitudPlanificacionVacaciones .Where(w => w.IdSolicitudPlanificacionVacaciones == solicitudPlanificacionVacacionesViewModel.IdSolicitudPlanificacionVacaciones) .FirstOrDefaultAsync(); modelo.Estado = solicitudPlanificacionVacacionesViewModel.Estado; modelo.FechaDesde = solicitudPlanificacionVacacionesViewModel.FechaDesde; modelo.FechaHasta = solicitudPlanificacionVacacionesViewModel.FechaHasta; modelo.FechaSolicitud = DateTime.Now; modelo.IdEmpleado = solicitudPlanificacionVacacionesViewModel.DatosBasicosEmpleadoViewModel.IdEmpleado; db.SolicitudPlanificacionVacaciones.Update(modelo); await db.SaveChangesAsync(); return(new Response { IsSuccess = true, Message = Mensaje.GuardadoSatisfactorio }); } catch (Exception ex) { return(new Response { IsSuccess = false, Message = Mensaje.Error, }); } }
public async Task <Response> InsertarSolicitudPlanificacionVacaciones([FromBody] SolicitudPlanificacionVacacionesViewModel solicitudPlanificacionVacacionesViewModel) { try { if (!ModelState.IsValid) { return(new Response { IsSuccess = false, Message = Mensaje.ModeloInvalido }); } var modelo = new SolicitudPlanificacionVacaciones { Estado = solicitudPlanificacionVacacionesViewModel.Estado, FechaDesde = solicitudPlanificacionVacacionesViewModel.FechaDesde, FechaHasta = solicitudPlanificacionVacacionesViewModel.FechaHasta, FechaSolicitud = DateTime.Now, IdEmpleado = solicitudPlanificacionVacacionesViewModel.DatosBasicosEmpleadoViewModel.IdEmpleado, Observaciones = "" }; db.SolicitudPlanificacionVacaciones.Add(modelo); await db.SaveChangesAsync(); return(new Response { IsSuccess = true, Message = Mensaje.GuardadoSatisfactorio }); } catch (Exception ex) { return(new Response { IsSuccess = false, Message = Mensaje.Error, }); } }
public async Task <Response> AprobarSolicitudPlanificacionVacaciones([FromBody] SolicitudPlanificacionVacacionesViewModel solicitudPlanificacionVacacionesViewModel) { try { if (!ModelState.IsValid) { return(new Response { IsSuccess = false, Message = Mensaje.ModeloInvalido }); } var modelo = await db.SolicitudPlanificacionVacaciones .Where(w => w.IdSolicitudPlanificacionVacaciones == solicitudPlanificacionVacacionesViewModel.IdSolicitudPlanificacionVacaciones) .FirstOrDefaultAsync(); modelo.Estado = solicitudPlanificacionVacacionesViewModel.Estado; modelo.Observaciones = solicitudPlanificacionVacacionesViewModel.Observaciones; db.SolicitudPlanificacionVacaciones.Update(modelo); await db.SaveChangesAsync(); return(new Response { IsSuccess = true, Message = Mensaje.GuardadoSatisfactorio }); } catch (Exception ex) { return(new Response { IsSuccess = false, Message = Mensaje.Error, }); } }
public async Task <SolicitudPlanificacionVacacionesViewModel> CrearSolicitudesPlanificacionesVacaciones([FromBody] IdFiltrosViewModel idFiltrosViewModel) { try { var usuario = await db.Empleado.Include(i => i.Persona) .Where(w => w.NombreUsuario == idFiltrosViewModel.NombreUsuario).FirstOrDefaultAsync(); var IOMPEmpleado = await db.IndiceOcupacionalModalidadPartida .Include(i => i.TipoNombramiento) .Where(w => w.IdEmpleado == usuario.IdEmpleado) .OrderByDescending(o => o.Fecha) .FirstOrDefaultAsync(); await CalcularYRegistrarVacacionesPorEmpleado(usuario.IdEmpleado); var vacacionesAcumuladas = 0; var vacaciones = await db.VacacionesEmpleado .Where(w => w.IdEmpleado == usuario.IdEmpleado) .ToListAsync(); foreach (var item in vacaciones) { vacacionesAcumuladas = vacacionesAcumuladas + item.VacacionesNoGozadas - item.VacacionesGozadas; } //var WorkingTimeInYears = IOMPEmpleado.Fecha.Month. var fechaIngreso = new TimeSpan(IOMPEmpleado.Fecha.Year, IOMPEmpleado.Fecha.Month, IOMPEmpleado.Fecha.Day); var estado = ConstantesEstadosVacaciones.ListaEstadosVacaciones.Where(w => w.GrupoAprobacion == 2).FirstOrDefault(); var hoy = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day); var modelo = new SolicitudPlanificacionVacacionesViewModel { DatosBasicosEmpleadoViewModel = new DatosBasicosEmpleadoViewModel { Nombres = usuario.Persona.Nombres, Apellidos = usuario.Persona.Apellidos, Identificacion = usuario.Persona.Identificacion, IdEmpleado = usuario.IdEmpleado, IdPersona = usuario.Persona.IdPersona }, IdSolicitudPlanificacionVacaciones = 0, FechaDesde = hoy, FechaHasta = hoy, FechaSolicitud = hoy, Observaciones = "", Estado = (estado != null) ? estado.ValorEstado : 0, NombreEstado = (estado != null)?estado.NombreEstado:"Sin estados", VacacionesAcumuladas = vacacionesAcumuladas }; return(modelo); } catch (Exception ex) { return(new SolicitudPlanificacionVacacionesViewModel()); } }