예제 #1
0
            public async Task <Unit> Handle(AprobacionPlanCommand request, CancellationToken cancellationToken)
            {
                var data = request;

                var aprobacion = _context.TAprobacionPlan.Where(ap => ap.CodAccion == request.CodAccion && ap.Estado).FirstOrDefault();

                if (aprobacion == null)
                {
                    TAprobacionPlan newAprobacion = new TAprobacionPlan();
                    newAprobacion.CodAccion     = request.CodAccion;
                    newAprobacion.DocReferencia = request.DocReferencia;
                    //newAprobacion.CodAprobador = request.CodAprobador;
                    //newAprobacion.Comentario = request.Comentario;
                    newAprobacion.EstadoDoc = request.EstadoAprobacion;
                    newAprobacion.CodTabla  = request.CodTabla;
                    _context.TAprobacionPlan.Add(newAprobacion);

                    TAprobacionPlanHistorial historial = new TAprobacionPlanHistorial();
                    historial.CodAprobacion    = newAprobacion.CodAprobacion;
                    historial.Comentario       = request.Comentario;
                    historial.CodPersona       = request.CodAprobador;
                    historial.EstadoAprobacion = request.EstadoAprobacion;
                    _context.TAprobacionPlanHistorial.Add(historial);
                    TAccion plan = _context.TAccion.Find(request.CodAccion);
                    plan.EstadoAprobacion = request.EstadoAprobacion;
                    _context.TAccion.Update(plan);
                }
                else
                {
                    //aprobacion.CodAprobador = request.CodAprobador;
                    //aprobacion.Comentario = request.Comentario;
                    aprobacion.EstadoDoc = request.EstadoAprobacion;
                    _context.TAprobacionPlan.Update(aprobacion);

                    TAprobacionPlanHistorial historial = new TAprobacionPlanHistorial();
                    historial.CodAprobacion    = aprobacion.CodAprobacion;
                    historial.Comentario       = request.Comentario;
                    historial.CodPersona       = request.CodAprobador;
                    historial.EstadoAprobacion = request.EstadoAprobacion;
                    _context.TAprobacionPlanHistorial.Add(historial);
                    TAccion plan = _context.TAccion.Find(request.CodAccion);
                    plan.EstadoAprobacion = request.EstadoAprobacion;
                    _context.TAccion.Update(plan);
                }

                await _context.SaveChangesAsync(cancellationToken);

                return(Unit.Value);
            }
예제 #2
0
파일: TBoleto.cs 프로젝트: noedelarosa/SIC
 public TBoleto(TPermiso permiso, TAccion accion){      
     this.Permiso = permiso;
     this.Accion = accion;
 }
예제 #3
0
파일: TBoleto.cs 프로젝트: noedelarosa/SIC
 public TBoleto(){
     Permiso = new TPermiso();
     Accion = new TAccion(); 
 }
예제 #4
0
            public async Task <Unit> Handle(CreatePlanAccionCommand request, CancellationToken cancellationToken)
            {
                //var data = await _context.TTipoAccion.FirstOrDefaultAsync(i => i.CodTipoAccion == request.CodTipoAccion);//.Distinct().OrderBy(x => x);*//*.Skip(0).Take(10);*/
                DateTime       date         = DateTime.Today;
                IList <PlanVM> planesAccion = request.planes;
                TAccion        data;

                foreach (var plan in planesAccion)
                {
                    bool validador = !String.IsNullOrEmpty(plan.docReferencia) &&
                                     !String.IsNullOrEmpty(plan.docSubReferencia) &&
                                     !String.IsNullOrEmpty(plan.tarea) &&
                                     !String.IsNullOrEmpty(plan.codSolicitadoPor);

                    if (validador)
                    {
                        data = new TAccion();
                        //data.CodEstadoAccion = plan.codEstadoAccion;
                        data.CodAreaHsec        = plan.codAreaHsec;
                        data.CodTipoAccion      = plan.codTipoAccion;
                        data.FechaSolicitud     = plan.fechaSolicitud;
                        data.CodActiRelacionada = plan.codActiRelacionada;
                        data.CodSolicitadoPor   = plan.codSolicitadoPor;
                        data.DocReferencia      = plan.docReferencia;

                        data.DocSubReferencia = plan.docSubReferencia;
                        data.CodNivelRiesgo   = plan.codNivelRiesgo;
                        data.Tarea            = plan.tarea;
                        data.FechaInicial     = plan.fechaInicial;
                        data.FechaFinal       = plan.fechaFinal;
                        data.Estado           = true;

                        data.CodTablaRef      = plan.codTablaRef;
                        data.CodEstadoAccion  = "01";
                        data.Aprobador        = plan.Aprobador;
                        data.EstadoAprobacion = "P";

                        data.CreadoPor     = "admin";
                        data.Creado        = date;
                        data.ModificadoPor = "admin";
                        data.Modificado    = date;

                        TResponsable resp;

                        var responsables = plan.RespPlanAccion;
                        foreach (var it in responsables)
                        {
                            resp            = new TResponsable();
                            resp.CodPersona = it.codPersona;
                            data.RespPlanAccion.Add(resp);
                        }

                        _context.TAccion.Add(data);
                        await _context.SaveChangesAsync(cancellationToken);

                        //var r1 = await _persons.CreateAprobacionPlan(data.CodAccion, data.DocReferencia, data.CodTablaRef);
                        var r1 = await _mediator.Send(new AprobacionPlanCreateCommand()
                        {
                            CodAccion = data.CodAccion, DocReferencia = data.DocReferencia, CodTabla = data.CodTablaRef
                        });

                        int verificador       = _context.TAccion.Count();
                        var ultCodCorrelativo = 1;
                        if (verificador > 0)
                        {
                            ultCodCorrelativo = _context.TAccion.Max(p => p.CodAccion);
                        }
                        //TLevantamientoPlan lev;
                        //foreach (var it in responsables)
                        //{
                        //    lev = new TLevantamientoPlan();
                        //    lev.CodAccion = ultCodCorrelativo;
                        //    lev.CodPersona = it.codPersona;
                        //    lev.PorcentajeAvance = 0;
                        //    lev.Estado = true;
                        //    _context.TLevantamientoPlan.Add(lev);
                        //}
                        await _context.SaveChangesAsync(cancellationToken);
                    }

                    else
                    {
                        new GeneralFailureException("Verifique los datos ingresados .. ojo: no deben ser vacios !");
                    }
                }
                return(Unit.Value);
            }