Esempio n. 1
0
                                                       [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)); }
                                                       }
Esempio n. 2
0
        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);
            }
        }
Esempio n. 3
0
        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);
            }
        }
Esempio n. 4
0
        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);
            }
        }
Esempio n. 5
0
                                                       [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)); }
                                                       }
Esempio n. 6
0
                                                       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)); }
                                                       }
Esempio n. 7
0
                                                       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)); }
                                                       }