Example #1
0
        public List <EstadoPuestoDeTrabajoEnum> GetEstadoPuestosPorEjecucionMabId(int ejecucionMabId)
        {
            EjecucionMABEstadosPuesto emep = null;
            EstadoPuesto ep = null;

            var query = Session.QueryOver <EjecucionMab>().Where(x => x.Id == ejecucionMabId)
                        .JoinQueryOver(x => x.EstadosPuestos, () => emep)
                        .And(Restrictions.Eq("EsPosterior", 'N'))
                        //.And(x=>x.EsPosterior==false)
                        .JoinQueryOver(x => x.EstadoPuesto, () => ep)
                        .SelectList(list => list.Select(x => ep.Valor));

            var lista = (List <EstadoPuestoDeTrabajoEnum>)query.List <EstadoPuestoDeTrabajoEnum>();

            return(lista);
        }
Example #2
0
        //TODO separar este metodo en varios submetodos asi se hace mas facil de entender y mantener
        private GrupoMab GenerarEntidad(GrupoMabModel model)
        {
            ValidarGrupoMab(model);
            var entidad = Mapper.Map <GrupoMabModel, GrupoMab>(model);
            var estadoPtAnteriorEjecucionMab         = new List <EstadoPuestoDeTrabajoEnum>();
            var estadoPtAnteriorEjecucionMabAnterior = new List <EstadoPuestoDeTrabajoEnum>();

            if (model.EstadosPuestoAnterioresPt != null)
            {
                foreach (var estadoPuestoModel in model.EstadosPuestoAnterioresPt)
                {
                    estadoPtAnteriorEjecucionMab.Add(estadoPuestoModel.Valor);
                }
            }

            if (model.EstadosPuestoAnterioresPtAnterior != null)
            {
                foreach (var estadoPuestoModel in model.EstadosPuestoAnterioresPtAnterior)
                {
                    estadoPtAnteriorEjecucionMabAnterior.Add(estadoPuestoModel.Valor);
                }
            }

            entidad.Enpt         = new EjecucionMab();
            entidad.EnPTanterior = new EjecucionMab();



            entidad.Enpt.Liquidacion                  = model.Liquidacion;
            entidad.Enpt.ModificaSitRev               = model.ModificaSitRev;
            entidad.Enpt.GeneraVacante                = model.GeneraVacante;
            entidad.Enpt.ModificaEstadoAnteriorEnPT   = model.ModificaEstadoAnteriorPuesto;
            entidad.Enpt.ModificaEstadoAsignacionEnPT = model.ModificaEstadoAsignacionPuesto;
            entidad.Enpt.ModificaEstadoPosteriorEnPT  = model.ModificaEstadoPosteriorPuesto;

            if (model.EstadoAsignacionId.HasValue)
            {
                entidad.Enpt.EstadoAsignacion = new EstadoAsignacion();
                entidad.Enpt.EstadoAsignacion =
                    DaoProvider.GetDaoEstadoAsignacion().GetById(model.EstadoAsignacionId.Value);
            }
            entidad.EnPTanterior.Liquidacion                  = model.LiquidacionAnterior;
            entidad.EnPTanterior.ModificaSitRev               = model.ModificaSitRevAnterior;
            entidad.EnPTanterior.GeneraVacante                = model.GeneraVacanteAnterior;
            entidad.EnPTanterior.ModificaEstadoAnteriorEnPT   = model.ModificaEstadoAnteriorPuestoAnterior;
            entidad.EnPTanterior.ModificaEstadoAsignacionEnPT = model.ModificaEstadoAsignacionPuestoAnterior;
            entidad.EnPTanterior.ModificaEstadoPosteriorEnPT  = model.ModificaEstadoPosteriorPuestoAnterior;

            if (model.EstadoAsignacionAnteriorId.HasValue)
            {
                entidad.EnPTanterior.EstadoAsignacion = new EstadoAsignacion();
                entidad.EnPTanterior.EstadoAsignacion =
                    DaoProvider.GetDaoEstadoAsignacion().GetById(model.EstadoAsignacionAnteriorId.Value);
            }
            //obtenemos los estados (anteriores y posterior) de puesto de trabajo actual
            var listaEstadosNuevoPuesto = new List <EjecucionMABEstadosPuesto>();

            if (model.EstadosPuestoAnterioresPt != null && model.ModificaEstadoAnteriorPuesto)
            {
                foreach (var emep in model.EstadosPuestoAnterioresPt)
                {
                    var emepNuevo = new EjecucionMABEstadosPuesto();
                    emepNuevo.EjecucionMab = entidad.Enpt;
                    emepNuevo.EstadoPuesto = DaoProvider.GetDaoEstadoPuestoTrabajo().GetByFilter(emep.Valor);
                    emepNuevo.EsPosterior  = false;
                    listaEstadosNuevoPuesto.Add(emepNuevo);
                }
            }

            if (model.EstadoPosteriorPtId.HasValue && model.ModificaEstadoPosteriorPuesto)
            {
                listaEstadosNuevoPuesto.Add(new EjecucionMABEstadosPuesto()
                {
                    EjecucionMab = entidad.Enpt,
                    EsPosterior  = true,
                    EstadoPuesto = DaoProvider.GetDaoEstadoPuestoTrabajo().GetById(model.EstadoPosteriorPtId.Value)
                });
            }

            //obtenemos los estados (anteriores y posterior) de puesto de trabajo anterior
            var listaEstadosPuestoAnterior = new List <EjecucionMABEstadosPuesto>();

            if (model.EstadosPuestoAnterioresPtAnterior != null && model.ModificaEstadoAnteriorPuestoAnterior)
            {
                foreach (var emepAnterior in model.EstadosPuestoAnterioresPtAnterior)
                {
                    var emepAnteriorNuevo = new EjecucionMABEstadosPuesto();

                    emepAnteriorNuevo.EjecucionMab = entidad.EnPTanterior;
                    emepAnteriorNuevo.EstadoPuesto = DaoProvider.GetDaoEstadoPuestoTrabajo().GetByFilter(emepAnterior.Valor);
                    emepAnteriorNuevo.EsPosterior  = false;
                    listaEstadosPuestoAnterior.Add(emepAnteriorNuevo);
                }
            }

            if (model.EstadoPosteriorPtAnteriorId.HasValue && model.ModificaEstadoPosteriorPuestoAnterior)
            {
                listaEstadosPuestoAnterior.Add(new EjecucionMABEstadosPuesto()
                {
                    EjecucionMab = entidad.EnPTanterior,
                    EsPosterior  = true,
                    EstadoPuesto =
                        DaoProvider.GetDaoEstadoPuestoTrabajo().GetById(
                            model.EstadoPosteriorPtAnteriorId.Value)
                });
            }

            entidad.Enpt.EstadosPuestos         = listaEstadosNuevoPuesto;
            entidad.EnPTanterior.EstadosPuestos = listaEstadosPuestoAnterior;

            return(entidad);
        }