示例#1
0
                                                           public async Task <IHttpActionResult> GetByClaveEmpleado(string id)
                                                           {
                                                               try{ log.Info(new MDCSet(this.ControllerContext.RouteData), new InfoException(id));
                                                                    var result = await _repository.GetByClave(id);

                                                                    return(Ok(result)); }
                                                               catch (Exception e) { log.Error(new MDCSet(this.ControllerContext.RouteData), e);
                                                                                     return(InternalServerError(e)); }
                                                           }
                                                       [HttpGet] public async Task <IHttpActionResult> GetByClave(string clave)
                                                       {
                                                           try {
                                                               List <DAExterno> DAExterno = new List <DAExterno>();
                                                               var colaboracionDAExterno  = await _autoresDAExterno.GetAllColaboracion(clave);

                                                               var aux = await _repository.GetByIdColaboracion(colaboracionDAExterno);

                                                               foreach (var f in aux)
                                                               {
                                                                   DAExterno.Add(f);
                                                               }
                                                               var result = await _repository.GetByClave(clave);

                                                               foreach (var x in result)
                                                               {
                                                                   DAExterno.Add(x);
                                                               }
                                                               //ObtenerPatrimoniales
                                                               var solicitudes = await _SolicitudesDARepository.GetByClave(clave);

                                                               var solicitudesParticipacion = await _SolicitudParticiantesDARepository.GetByClave(clave);

                                                               List <SolicitudesDA> SolicitudesDA = new List <SolicitudesDA>();
                                                               foreach (var item in solicitudes)
                                                               {
                                                                   SolicitudesDA.Add(item);
                                                               }
                                                               foreach (var item in solicitudesParticipacion)
                                                               {
                                                                   var solicitud = await _SolicitudesDARepository.GetById(item.SolicitudesDAId); SolicitudesDA.Add(solicitud);
                                                               }
                                                               var resultadosDA = SolicitudesDA.GroupBy(x => x.SolicitudesDAId).Select(y => y.First());
                                                               DAExterno.RemoveAll(item => item == null);
                                                               var resu = DAExterno.GroupBy(x => x.DAExternoId).Select(y => y.First());
                                                               List <DAExterno> DAExterno2 = new List <DAExterno>();
                                                               foreach (var item in resu)
                                                               {
                                                                   DAExterno2.Add(item);
                                                               }
                                                               foreach (var item in resultadosDA)
                                                               {
                                                                   DAExterno Obj = new DAExterno();
                                                                   Obj.DAExternoId     = item.SolicitudesDAId;
                                                                   Obj.Titulo          = item.TituloObra;
                                                                   Obj.RamaDAId        = item.RamaDAId;
                                                                   Obj.RamaDA          = item.RamaDA;
                                                                   Obj.FechaValidacion = item.Fecha;
                                                                   Obj.Sintesis        = "Patrimonio";
                                                                   DAExterno2.Add(Obj);
                                                               }
                                                               /////////


                                                               return(Ok(DAExterno2));
                                                           }
                                                           catch (Exception e) { log.Error(new MDCSet(this.ControllerContext.RouteData), e);
                                                                                 return(InternalServerError(e)); }
                                                       }