public async Task CreateSolicitudAccesoITF(SolicitudAccesoITF model)
 {
     try
     {
         _db.dbSetSolicitudAccesoITF.Add(model);
         await _db.SaveChangesAsync();
     }
     catch (Exception e)
     {
         throw new Exception(e.Message, e);
     }
 }
        public async Task Update(SolicitudAccesoITF model)
        {
            try
            {
                var _model = await _db.dbSetSolicitudAccesoITF.FirstOrDefaultAsync(e => e.SolicitudAccesoITFId == model.SolicitudAccesoITFId);

                if (_model != null)
                {
                    _db.Entry(_model).CurrentValues.SetValues(model);
                    await _db.SaveChangesAsync();
                }
            }
            catch (Exception e)
            {
                throw new Exception(e.Message, e);
            }
        }
        public async Task <IHttpActionResult> CreateSolicitudAccesoITF(SolicitudAccesoITF solicitud)
        {
            try
            {
                log.Info(new MDCSet(this.ControllerContext.RouteData));
                //var solicitudAccesoITF= await dbITF.GetSolicitudAccesoITFByInformeTecnicoFinalId(solicitud.InformeTecnicoFinalId);
                var solicitudAccesoITF = await dbITF.GetSolicitudAccesoITFByInformeTecnicoFinal_Solicitante_stadoFlujo(
                    solicitud.InformeTecnicoFinalId,
                    solicitud.ClavePersonaSolicitante,
                    solicitud.EstadoFlujoId
                    );

                if (solicitudAccesoITF != null)
                {
                    throw new Exception("Ya se encuentra una solicitud en proceso...");
                }

                solicitudAccesoITF = await dbITF.GetSolicitudAccesoITFByInformeTecnicoFinal_Solicitante(
                    solicitud.InformeTecnicoFinalId,
                    solicitud.ClavePersonaSolicitante
                    );


                if (solicitudAccesoITF == null)
                {
                    await dbITF.CreateSolicitudAccesoITF(solicitud);
                }
                else
                {
                    //ya existe
                    //throw new Exception("Ya se encuentra una solicitud en proceso...");
                    solicitudAccesoITF.EstadoFlujoId = 8;
                    await dbITF.UpdateSolicitudAccesoITFByInformeTecnicoFinalId(solicitudAccesoITF);

                    solicitud.SolicitudAccesoITFId = solicitudAccesoITF.SolicitudAccesoITFId;
                }



                try
                {
                    log.Info(new MDCSet(this.ControllerContext.RouteData));
                    BitacoraSolicitudesRepository bitaReppo = new BitacoraSolicitudesRepository();
                    BitacoraSolicitudes           bita      = new BitacoraSolicitudes();
                    bita.SolicitudId     = solicitud.SolicitudAccesoITFId;
                    bita.FechaMovimiento = DateTime.Now;
                    bita.ClavePersona    = solicitud.ClavePersonaSolicitante; //??
                    bita.Descripcion     = solicitud.Justificacion;
                    bita.EstadoFlujoId   = 8;
                    bita.idRol           = solicitud.idRol;

                    await bitaReppo.Create(bita);
                }
                catch (Exception e1)
                {
                    log.Warn(new MDCSet(this.ControllerContext.RouteData), e1);
                }
                return(Ok());
            }
            catch (Exception e)
            {
                log.Error(new MDCSet(this.ControllerContext.RouteData), e);
                return(InternalServerError(e));
            }
        }
        public async Task <IHttpActionResult> ExisteSolicitudAccesoITFByInformeTecnicoFinal_Solicitante_estadoFlujo(SolicitudAccesoITF solicitud)
        {
            try
            {
                log.Info(new MDCSet(this.ControllerContext.RouteData));
                //var solicitudAccesoITF= await dbITF.GetSolicitudAccesoITFByInformeTecnicoFinalId(solicitud.InformeTecnicoFinalId);
                var solicitudAccesoITF = await dbITF.GetSolicitudAccesoITFByInformeTecnicoFinal_Solicitante_stadoFlujo(
                    solicitud.InformeTecnicoFinalId,
                    solicitud.ClavePersonaSolicitante,
                    solicitud.EstadoFlujoId
                    );

                if (solicitudAccesoITF == null)
                {
                    return(Ok(false));
                }
                else
                {
                    return(Ok(true));
                }
            }
            catch (Exception e)
            {
                log.Error(new MDCSet(this.ControllerContext.RouteData), e);
                return(InternalServerError(e));
            }
        }
Esempio n. 5
0
                                                                private async Task AddBitacora(SolicitudAccesoITF solicitud, int EstadoFlujoId)
                                                                {
                                                                    try { log.Info(new MDCSet(this.ControllerContext.RouteData));
                                                                          BitacoraSolicitudesRepository bitaReppo = new BitacoraSolicitudesRepository();
                                                                          BitacoraSolicitudes           bita      = new BitacoraSolicitudes();
                                                                          bita.SolicitudId     = solicitud.SolicitudAccesoITFId;
                                                                          bita.FechaMovimiento = DateTime.Now;
                                                                          bita.ClavePersona    = solicitud.ClavePersonaSolicitante; //??
                                                                          bita.Descripcion     = solicitud.Justificacion;
                                                                          bita.EstadoFlujoId   = EstadoFlujoId;
                                                                          bita.idRol           = solicitud.idRol;

                                                                          await bitaReppo.Create(bita); }
                                                                    catch (Exception e1) { }
                                                                }
Esempio n. 6
0
                                                                public async Task <IHttpActionResult> DenegarAccesoITF(SolicitudAccesoITF solicitud)
                                                                {
                                                                    //id is SolicitudAccesoITFId
                                                                    try { log.Info(new MDCSet(this.ControllerContext.RouteData));
                                                                          var result = await _db.DenegarAccesoITF(solicitud.SolicitudAccesoITFId);
                                                                          await AddBitacora(solicitud, 9);

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

                                                                                          return(InternalServerError(e)); }
                                                                }
Esempio n. 7
0
                                                                public async Task <IHttpActionResult> RechazoCondicionalAccesoITF(SolicitudAccesoITF solicitud)
                                                                {
                                                                    //id is SolicitudAccesoITFId
                                                                    try { log.Info(new MDCSet(this.ControllerContext.RouteData));
                                                                          var entitie = await _db.RechazoCondicionalAccesoITF(solicitud.SolicitudAccesoITFId);
                                                                          await AddBitacora(solicitud, 6);

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

                                                                                          return(InternalServerError(e)); }
                                                                }
Esempio n. 8
0
                                                                public async Task <IHttpActionResult> Update([FromBody] SolicitudAccesoITF model)
                                                                {
                                                                    if (!ModelState.IsValid)
                                                                    {
                                                                        return(BadRequest(ModelState));
                                                                    }

                                                                    try { log.Info(new MDCSet(this.ControllerContext.RouteData));
                                                                          await _db.Update(model);

                                                                          return(Ok("Registro actualizado exitosamente!")); }
                                                                    catch (Exception e) { log.Error(new MDCSet(this.ControllerContext.RouteData), e);
                                                                                          return(InternalServerError(e)); }
                                                                }