public async Task <HttpResponseMessage> GetAsignacionesTramiteUnidad( AsignacionesTramiteUnidadDTO AsignacionesTramiteUnidad) { return(await HandleOperationExecutionAsync(async() => { var result = await new CatalogosService().AsignacionesTramiteUnidad(AsignacionesTramiteUnidad); return Request.CreateResponse(HttpStatusCode.OK, result); })); }
/// <summary> /// /// </summary> /// <param name="AsignacionesTramiteUnidad"></param> /// <returns></returns> public async Task <int> AsignacionesTramiteUnidad(AsignacionesTramiteUnidadDTO AsignacionesTramiteUnidad) { using (var modelo = new ISSSTEEntities()) { AsignacionesTramiteUnidad.UnidadesAsignadas.ForEach(S => { var asignacion = modelo.TramiteUnidadAtencion.FirstOrDefault( Tu => Tu.CatTipoTramiteId == AsignacionesTramiteUnidad.CatTipoTramiteId && Tu.UnidadAtencionId == S.UnidadAtencionId); if (asignacion != null) { asignacion.EsActivo = true; } else { var resultado = new TramiteUnidadAtencion { CatTipoTramiteId = AsignacionesTramiteUnidad.CatTipoTramiteId, UnidadAtencionId = S.UnidadAtencionId, EsActivo = true }; modelo.TramiteUnidadAtencion.Add(resultado); } }); AsignacionesTramiteUnidad.UnidadesNoAsignadas.ForEach(S => { var desasignar = modelo.TramiteUnidadAtencion .Where(Tu => Tu.CatTipoTramiteId == AsignacionesTramiteUnidad.CatTipoTramiteId && Tu.UnidadAtencionId == S.UnidadAtencionId) .ToList(); desasignar.ForEach(D => { D.EsActivo = false; }); }); return(await modelo.SaveChangesAsync()); } }
/// <summary> /// /// </summary> /// <param name="CatTipoTramiteId"></param> /// <param name="EsActivo"></param> /// <returns></returns> public async Task <AsignacionesTramiteUnidadDTO> ConsultaAsignacionesTramiteUnidad(int CatTipoTramiteId, bool?EsActivo) { var asignaciones = new AsignacionesTramiteUnidadDTO(); using (var modelo = new ISSSTEEntities()) { var unidadesTramite = await modelo.TramiteUnidadAtencion .Where(S => S.EsActivo && S.CatTipoTramiteId == CatTipoTramiteId) .Select(S => new TramiteUnidadAtencionDTO { UnidadAtencionId = S.UnidadAtencionId, UnidadAtencionConcepto = S.UnidadAtencion.Descripcion }) .ToListAsync(); var unidades = await modelo.UnidadAtencion .Where(S => S.EsActivo) .Select(S => new TramiteUnidadAtencionDTO { UnidadAtencionId = S.UnidadAtencionId, UnidadAtencionConcepto = S.Descripcion }) .ToListAsync(); var noasignadas = unidades.Select(S => S.UnidadAtencionId) .Except(unidadesTramite.Select(S => S.UnidadAtencionId)) .ToList(); asignaciones.UnidadesAsignadas = unidadesTramite; asignaciones.UnidadesNoAsignadas = unidades.Where(S => noasignadas.Contains(S.UnidadAtencionId)) .ToList(); } return(asignaciones); }
public async Task <int> AsignacionesTramiteUnidad(AsignacionesTramiteUnidadDTO AsignacionesTramiteUnidad) { return(await new TramiteUnidadAtencionDAO().AsignacionesTramiteUnidad(AsignacionesTramiteUnidad)); }