[HttpGet] public async Task <IHttpActionResult> GetByClave(string clave) { try { List <PIExterno> PIExterno = new List <PIExterno>(); var colaboracionPIExterno = await _autoresPIExterno.GetAllColaboracion(clave); var aux = await _repository.GetByIdColaboracion(colaboracionPIExterno); foreach (var f in aux) { PIExterno.Add(f); } var result = await _repository.GetByClave(clave); foreach (var x in result) { PIExterno.Add(x); } /////////////////////////////// var resultclave = await _requisicionesREpo.GetByClave(clave); var resultautores = await _autoresPatri.GetByColaboracionRequisicion(clave); List <RequisicionesPI> RequisicionesPI = new List <RequisicionesPI>(); foreach (var item in resultclave) { RequisicionesPI.Add(item); } foreach (var item in resultautores) { var solicitud = await _requisicionesREpo.GetById(item.RequisicionesPIId); RequisicionesPI.Add(solicitud); } var resultadosPI = RequisicionesPI.GroupBy(x => x.RequisicionesPIId).Select(y => y.First()); PIExterno.RemoveAll(item => item == null); var resu = PIExterno.GroupBy(x => x.PIExternoId).Select(y => y.First()); List <PIExterno> PIExterno2 = new List <PIExterno>(); foreach (var item in resu) { PIExterno2.Add(item); } foreach (var item in resultadosPI) { PIExterno Obj = new PIExterno(); Obj.PIExternoId = item.RequisicionesPIId; Obj.FechaValidacion = item.FechaSolicitud; Obj.Titulo = item.Titulo; Obj.TipoPIId = item.TipoPIId; Obj.TipoPI = item.TipoPI; Obj.NumSolicitudTitulo = "Patrimonial"; Obj.EstadoFlujoId = 3; PIExterno2.Add(Obj); } /////////////////////////////// return(Ok(PIExterno2)); } catch (Exception e) { log.Error(new MDCSet(this.ControllerContext.RouteData), e); return(InternalServerError(e)); } }
public async Task <PIExterno> Create(PIExterno Obj) { try { var result = _ctx.PIExterno.Add(Obj); await _ctx.SaveChangesAsync(); return(result); } catch (Exception e) { throw new Exception(e.Message, e); } }
public async Task UpdateEstado(PIExterno Obj) { try { var result = await _ctx.PIExterno.FirstOrDefaultAsync(e => e.PIExternoId == Obj.PIExternoId); if (result != null) { result.EstadoFlujoId = Obj.EstadoFlujoId; await _ctx.SaveChangesAsync(); } } catch (Exception e) { throw new Exception(e.Message, e); } }
public async Task Update(PIExterno Obj)// UpdateSolicitud { try { var result = await _ctx.PIExterno.FirstOrDefaultAsync(e => e.PIExternoId == Obj.PIExternoId); if (Obj.EstadoFlujoId == 1 && result.EstadoFlujoId == 3) { await new NuevoOCRepository().DeleteId("PI", result.PIExternoId + ""); } if (result != null) { _ctx.Entry(result).CurrentValues.SetValues(Obj); await _ctx.SaveChangesAsync(); } } catch (Exception e) { throw new Exception(e.Message, e); } }
[Authorize] public async Task <IHttpActionResult> Create(PIExterno Obj) { try { log.Info(new MDCSet(this.ControllerContext.RouteData)); var result = await _repository.Create(Obj); return(Ok(result)); } catch (Exception e) { log.Error(new MDCSet(this.ControllerContext.RouteData), e); return(InternalServerError(e)); } }
public async Task <IHttpActionResult> UpdateEstado(PIExterno Obj) { try { log.Info(new MDCSet(this.ControllerContext.RouteData)); await _repository.UpdateEstado(Obj); return(Ok("Registro actualizado correctamente!")); } catch (Exception e) { log.Error(new MDCSet(this.ControllerContext.RouteData), e); return(InternalServerError(e)); } }
public async Task <IHttpActionResult> Update(PIExterno Obj) { try { log.Info(new MDCSet(this.ControllerContext.RouteData)); if (Obj.Adjunto != null) { //Elimar archivo if (Obj.Adjunto.nombre == "eliminar") { int id = Convert.ToInt32(Obj.AdjuntoId); Obj.AdjuntoId = null; await _repository.Update(Obj); await _adjuntoRepo.Delete(id); return(Ok()); } ///Agregar archivo al editar if (Obj.Adjunto.AdjuntoId == 0) { Adjunto key = await _adjuntoRepo.CreateAd(Obj.Adjunto); Obj.AdjuntoId = key.AdjuntoId; Obj.Adjunto.AdjuntoId = key.AdjuntoId; await _repository.Update(Obj); return(Ok(key)); } } //solución de ALAN replicada if (Obj.Adjunto != null) { Obj.AdjuntoId = Obj.Adjunto.AdjuntoId; } await _repository.Update(Obj); ////Agregar a OC if (Obj.EstadoFlujoId == 3) { await new NuevoOCRepository().Create( new NuevoOC("CH", "PI", Obj.Titulo, "IndexCH.html#/detallespiexterno/" + Obj.PIExternoId + "/", Obj.PIExternoId + "" )); } return(Ok(Obj)); } catch (Exception e) { log.Error(new MDCSet(this.ControllerContext.RouteData), e); return(InternalServerError(e)); } }