public IHttpActionResult GetPermisoAprobar() { var agente = DataBase.Agentes.Get(p => p.Usuario.LogonName == CurrentUser.LogonName).FirstOrDefault(); List <Models.Permiso> permisos = new List <Models.Permiso>(); if (agente != null) { try { var agentes = DataBase.Agentes.GetAgentesPermitidos(this.Agente.IdAgente); var listAgente = agentes.Select(p => p.IdAgente).ToList(); var listGrupo = agentes.Where(p => p.IdUsuario != null).Select(p => p.IdGrupo ?? 0).ToList <int>().Distinct().ToList(); var data = DataBase.Permisos.GetPermisoListado(listAgente, listGrupo, null, null, null, null, Rp3.AgendaComercial.Models.Constantes.EstadoPermiso.Pendiente, false); foreach (PermisoListado listado in data) { Models.Permiso permiso = new Models.Permiso(); Rp3.Data.Service.CopyTo(listado, permiso, includeProperties: new string[] { "IdPermiso", "IdAgente", "TipoTabla", "Tipo", "MotivoTabla", "Motivo", "FechaInicio", "FechaFin", "HoraInicio", "HoraFin", "Observacion", "EsPrevio", "EstadoTabla", "Estado", "TipoJornada" }); permisos.Add(permiso); } } catch (Exception ex) { return(BadRequest(ex.Message)); } } return(Ok(permisos)); }
public IHttpActionResult GetPermisoHoy() { var agente = DataBase.Agentes.Get(p => p.Usuario.LogonName == CurrentUser.LogonName).FirstOrDefault(); Models.Permiso permiso = null; if (agente != null) { try { DateTime desde = DateTime.Now; desde = desde.Subtract(new TimeSpan(0, desde.Hour, desde.Minute, desde.Second + 1, desde.Millisecond)); var permisos = DataBase.Permisos.Get(p => p.IdAgente == agente.IdAgente && p.EsPrevio == true && p.Tipo == Rp3.AgendaComercial.Models.Constantes.TipoPermiso.Ausencia && p.Estado == Rp3.AgendaComercial.Models.Constantes.EstadoPermiso.Aprobado && p.FechaInicio >= desde).FirstOrDefault(); if (permisos != null) { permiso = new Models.Permiso(); Rp3.Data.Service.CopyTo(permisos, permiso, includeProperties: new string[] { "TipoTabla", "Tipo", "MotivoTabla", "Motivo", "FechaInicio", "FechaFin", "HoraInicio", "HoraFin", "Observacion", "EsPrevio", "EstadoTabla", "Estado" }); } } catch (Exception ex) { return(BadRequest(ex.Message)); } } return(Ok(permiso)); }
public IHttpActionResult InsertPermisoPrevio(Models.Permiso permiso) { var agente = DataBase.Agentes.Get(p => p.Usuario.LogonName == CurrentUser.LogonName).FirstOrDefault(); var permisoInsert = new Rp3.AgendaComercial.Models.Marcacion.Permiso(); if (agente != null) { try { Rp3.Data.Service.CopyTo(permiso, permisoInsert, includeProperties: new string[] { "TipoTabla", "Tipo", "MotivoTabla", "Motivo", "FechaInicio", "FechaFin", "HoraInicio", "HoraFin", "Observacion", "EsPrevio", "EstadoTabla", "Estado" }); permisoInsert.AsignarId(); permisoInsert.IdAgente = agente.IdAgente; permisoInsert.IdGrupo = agente.IdGrupo; permisoInsert.UsrIng = CurrentUser.LogonName; permisoInsert.FecIng = GetCurrentDateTime(); permisoInsert.EsPrevio = true; DataBase.Permisos.Insert(permisoInsert); DataBase.Save(); try { DataBase.Permisos.Permiso(permisoInsert.IdPermiso); } catch { } try { if (agente != null && agente.IdSupervisor != null) { var device = DataBase.Devices.Get(p => p.IdUsuario == agente.Supervisor.IdUsuario).FirstOrDefault(); if (device != null && !String.IsNullOrEmpty(device.GCMId)) { string footer = String.Format("Enviada por: {0} - el {1:g}", agente.Descripcion, this.GetCurrentDateTime()); AndroidNotificationPusher.PushNotification(device.GCMId, "Solicitud de Justificación", String.Format("{0} ha solicitado una Justificación.", agente.Descripcion), "APROBAR_JUSTIFICACION", footer); } } } catch { } } catch (Exception ex) { return(BadRequest(ex.Message)); } } return(Ok(permisoInsert.IdPermiso)); }