public AuthController(IAdministratorRepository adminRepo, IPersonalRepository personalRepo, IUserRepository userRepo, JwtGenerator jwt)
 {
     _adminRepo    = adminRepo;
     _personalRepo = personalRepo;
     _userRepo     = userRepo;
     _jwt          = jwt;
 }
示例#2
0
        public IEnumerable <PlanillaCTS> GenerarPlanillaCTS(int Anio, int Mes)
        {
            IPlanillaRemuneracionRepository planillaRemuneracionRepository = _DataRepositoryFactory.GetDataRepository <IPlanillaRemuneracionRepository>();
            IPersonalRepository             personalRepository             = _DataRepositoryFactory.GetDataRepository <IPersonalRepository>();
            string             Periodo   = Anio.ToString() + Utiles.CerosIzquierda((Mes - 1).ToString(), 2);
            List <PlanillaCTS> resultado = new List <PlanillaCTS>();

            var planillasPeriodo = planillaRemuneracionRepository.PlanillasEnPeriodoPorCTS(Mes, Anio);
            IEnumerable <Personal> personalActivo = personalRepository.GetPersonalActivo();

            foreach (Personal personal in personalActivo)
            {
                var     planillas           = planillasPeriodo.Where(o => o.IdPersonal == personal.IdPersonal && o.TipoPlan == "N");
                var     planillaGrati       = planillasPeriodo.Where(o => o.IdPersonal == personal.IdPersonal && o.TipoPlan == "G");
                var     UltimoIngresoValido = planillasPeriodo.Where(o => o.IdPersonal == personal.IdPersonal && o.TipoPlan == "N" && o.Periodo == Periodo).FirstOrDefault();
                decimal UltimoSueldo        = UltimoIngresoValido != null ? UltimoIngresoValido.TotIng ?? 0 : 0; // UltimoIngresoValido.TotIng ?? 0;
                int     nroPlanillas        = planillas != null?planillas.Count() : 0;

                int nroGratis = planillaGrati != null?planillaGrati.Count() : 0;

                decimal TotalIngresos = planillas.Sum(o => o.TotIng ?? 0);
                decimal TotalGrati    = planillaGrati.Sum(o => o.Gratif ?? 0);
                decimal SextoGrati    = Math.Round(TotalGrati / 6, 2, MidpointRounding.AwayFromZero);

                resultado.Add(new PlanillaCTS(personal.IdPersonal, personal.CodPer, personal.DNI, personal.GetNombre(), personal.FecNac ?? DateTime.Now, personal.FecIngreso ?? DateTime.Now, personal.NumCtaCTS,
                                              UltimoSueldo, SextoGrati, nroPlanillas, personal.EntidadCTS));
            }

            return(resultado);
        }
示例#3
0
        private IEnumerable <PlanillaRemuneracion> GenerarPlanillaGratificacion(int Anio, int Mes)
        {
            IPlanillaRemuneracionRepository planillaRemuneracionRepository = _DataRepositoryFactory.GetDataRepository <IPlanillaRemuneracionRepository>();
            IPersonalRepository             personalRepository             = _DataRepositoryFactory.GetDataRepository <IPersonalRepository>();
            string Periodo = Anio.ToString() + Utiles.CerosIzquierda(Mes.ToString(), 2);
            List <PlanillaRemuneracion> resultado = new List <PlanillaRemuneracion>();

            var planillasPeriodo = planillaRemuneracionRepository.PlanillasEnPeriodoPorGrati(Mes, Anio);
            IEnumerable <Personal> personalActivo = personalRepository.GetPersonalActivo();

            foreach (Personal personal in personalActivo)
            {
                var     planillas     = planillasPeriodo.Where(o => o.IdPersonal == personal.IdPersonal && o.TipoPlan == "N");
                int     nroPlanillas  = planillas.Count();
                decimal TotalIngresos = planillas.Sum(o => o.TotIng ?? 0);
                decimal Gratificacion = Math.Round(TotalIngresos / nroPlanillas, 2, MidpointRounding.AwayFromZero);
                decimal Extra         = Convert.ToDecimal(Math.Round(Convert.ToDouble(Gratificacion) * 0.09, 2, MidpointRounding.AwayFromZero));
                PlanillaRemuneracion gratificacion = new PlanillaRemuneracion(0, Periodo, personal.IdPersonal, personal.CodPer, personal.IdCargo,
                                                                              personal.CodCar, personal.IdFondoPen, personal.CodFon, personal.TipComAFP, 0, 0, 0, Gratificacion, 0, 0, 0, 0,
                                                                              Extra, 0, 0, 0, 0, 0, 0, 0, 0, 27, 216, null, null, 0, null, null, 0, null, null, 0, "F", "G");
                resultado.Add(gratificacion);
            }



            return(resultado);
        }
示例#4
0
        public IEnumerable <Personal> GetPersonalActivo()
        {
            IPersonalRepository personalRepository = _DataRepositoryFactory.GetDataRepository <IPersonalRepository>();
            var result = personalRepository.Get();

            return(from e in result where e.Estado == "A"
                   select e);
        }
示例#5
0
 public PersonRepository(IAddressRepository addressRepository, ICorporationRepository corporationRepository,
                         IPersonalRepository personalRepository, IEmailRepository emailRepository, IPhoneRepository phoneRepository, DataContext context)
 {
     _addressRepository     = addressRepository;
     _corporationRepository = corporationRepository;
     _personalRepository    = personalRepository;
     _emailRepository       = emailRepository;
     _phoneRepository       = phoneRepository;
     _context = context;
 }
示例#6
0
        public Personal RegistrarPersonal(Personal personal)
        {
            IPersonalRepository personalRepository = _DataRepositoryFactory.GetDataRepository <IPersonalRepository>();

            if (personal.IdPersonal > 0)
            {
                return(personalRepository.Update(personal));
            }
            else
            {
                return(personalRepository.AddPersonalComplete(personal));
            }
        }
示例#7
0
        //public void EliminarPlanilla(string Periodo, string TipoPlanilla)
        //{
        //    IPlanillaRemuneracionRepository planillaRepository = _DataRepositoryFactory.GetDataRepository<IPlanillaRemuneracionRepository>();

        //}



        public List <PlanillaRemuneracion> GenerarPlanilla(string Periodo)
        {
            int Anio = Convert.ToInt32(Periodo.Substring(0, 4));
            int Mes  = Convert.ToInt32(Periodo.Substring(4, 2));
            IPersonalRepository        personalRepository   = _DataRepositoryFactory.GetDataRepository <IPersonalRepository>();
            IFondoPensionesRepository  fondoRepository      = _DataRepositoryFactory.GetDataRepository <IFondoPensionesRepository>();
            IAporteEmpleadorRepository aportesRepository    = _DataRepositoryFactory.GetDataRepository <IAporteEmpleadorRepository>();
            IDiasLaborablesRepository  diasRepository       = _DataRepositoryFactory.GetDataRepository <IDiasLaborablesRepository>();
            IVacacionesRepository      vacacionesRepository = _DataRepositoryFactory.GetDataRepository <IVacacionesRepository>();


            List <PlanillaRemuneracion> remuneracion   = new List <PlanillaRemuneracion>();
            IEnumerable <Personal>      personalActivo = personalRepository.GetPersonalActivo();

            foreach (Personal personal in personalActivo)
            {
                FondoPensiones  fondoPensiones         = fondoRepository.Get(personal.IdFondoPen ?? 0);
                AporteEmpleador aporteEmpleadorESSALUD = aportesRepository.Get(1);
                AporteEmpleador aporteEmpleadorSCTR    = aportesRepository.Get(2);
                DiasLaborables  diasLaborables         = diasRepository.GetDiasPorPeriodo(Periodo);
                Vacaciones      vacacionesInicio       = vacacionesRepository.GetVacacionesInicioPeriodoPersona(personal.IdPersonal, Anio, Mes);
                Vacaciones      vacacionesFin          = vacacionesRepository.GetVacacionesFinPeriodoPersona(personal.IdPersonal, Anio, Mes);
                Vacaciones      vacacionesPeriodo      = vacacionesRepository.GetVacacionesPorPeriodoPersona(Anio, personal.IdPersonal);
                decimal         porcentajeApoObl       = ((personal.TipComAFP == "F") ? fondoPensiones.ApoOblF : fondoPensiones.ApoOblM) ?? 0;
                decimal         porcentajeComVar       = ((personal.TipComAFP == "F") ? fondoPensiones.ComVarF : fondoPensiones.ComVarM) ?? 0;
                decimal         porcentajePriSeg       = ((personal.TipComAFP == "F") ? fondoPensiones.PriSegF : fondoPensiones.PriSegM) ?? 0;
                //decimal TotalIngreso = personal.RemBas + personal.AsiFam + personal.RieCaj; //terminar
                //decimal MontoOnp = (personal.RemBas * fondoPensiones.PorONP) ?? 0;
                //decimal MontoAporteObl = (personal.RemBas * porcentajeApoObl) ?? 0;
                //decimal MontoComVar = (personal.RemBas * porcentajeComVar) ?? 0;
                //decimal MontoPriSeg = (personal.RemBas * porcentajePriSeg) ?? 0;
                //decimal totalDescuento = MontoOnp + MontoAporteObl + MontoComVar + MontoPriSeg;

                decimal porcentajeSCTR    = ((personal.SCTR == "N") ? 0 : aporteEmpleadorSCTR.Porcentaje) ?? 0;
                decimal porcentajeESSALUD = (aporteEmpleadorESSALUD.Porcentaje) ?? 0;
                decimal montoESSALUD      = (personal.RemBas * aporteEmpleadorESSALUD.Porcentaje) ?? 0;
                decimal montoSCTR         = (personal.RemBas * porcentajeSCTR) ?? 0;
                // decimal totalAporte = montoESSALUD + montoSCTR;

                PlanillaRemuneracion planillaPersona = new PlanillaRemuneracion(0, Periodo, personal.IdPersonal, personal.CodPer, personal.IdCargo ?? null,
                                                                                personal.CodCar, personal.IdFondoPen ?? null, personal.CodFon, personal.TipComAFP, personal.RemBas, personal.AsiFam, 0, 0, 0, personal.RieCaj,
                                                                                0, 0, 0, fondoPensiones.PorONP, porcentajeApoObl, porcentajePriSeg, porcentajeComVar, 0
                                                                                , 0, aporteEmpleadorESSALUD.Porcentaje, porcentajeSCTR, diasLaborables.DiasLab, personal.HorLab, null, null, null, null, null, null, null, null, null, "F", "N");
                planillaPersona.VacacionesPeriodo = vacacionesPeriodo;
                planillaPersona.NombrePersona     = personal.GetNombre();
                remuneracion.Add(planillaPersona);
            }

            return(remuneracion);
        }
示例#8
0
 public CustomerAppService(ICustomerRepository customerRepository,
                           ICustomerGroupRepository customerGroupRepository,
                           IProspectRepository prospectRepository,
                           ISourceRepository sourceRepository,
                           ITitleRepository titleRepository,
                           IVehicleRepository vehicleRepository,
                           IPersonalRepository personalRepository,
                           IMapper mapper)
 {
     _customerRepository      = customerRepository;
     _customerGroupRepository = customerGroupRepository;
     _prospectRepository      = prospectRepository;
     _sourceRepository        = sourceRepository;
     _titleRepository         = titleRepository;
     _vehicleRepository       = vehicleRepository;
     _personalRepository      = personalRepository;
     _mapper = mapper;
 }
示例#9
0
        public IEnumerable <PlanillaRemuneracion> GetPlanillaGratificacion(int Anio, int Mes)
        {
            IPlanillaRemuneracionRepository planillaRemuneracionRepository = _DataRepositoryFactory.GetDataRepository <IPlanillaRemuneracionRepository>();
            IPersonalRepository             personalRepository             = _DataRepositoryFactory.GetDataRepository <IPersonalRepository>();
            var planillaGrati = planillaRemuneracionRepository.GetPlanillaGratificacionSimple(Anio.ToString() + Utiles.CerosIzquierda(Mes.ToString(), 2));

            if (planillaGrati != null && planillaGrati.Count() > 0)
            {
                var personal = personalRepository.Get();
                foreach (PlanillaRemuneracion registro in planillaGrati)
                {
                    var persona = personal.Where(o => o.IdPersonal == registro.IdPersonal).FirstOrDefault();
                    registro.NombrePersona = persona.ApePaterno + " " + persona.ApeMaterno + ", " + persona.Nombre;
                    //registro.VacacionesPeriodo = vacacionesRepository.GetVacacionesPorPeriodoPersona(Anio, registro.IdPersonal ?? 0);
                    registro.ApellidoPaterno = persona.ApePaterno;
                    registro.ApellidoMaterno = persona.ApeMaterno;
                    registro.Nombre          = persona.Nombre;
                    registro.CUSPP           = persona.CUSPP;
                    registro.Dni             = persona.DNI;
                    registro.FechaIngreso    = persona.FecIngreso ?? DateTime.Now;
                }
                return(planillaGrati);
            }

            IEnumerable <PlanillaRemuneracion> planillaGratiNuevo = GenerarPlanillaGratificacion(Anio, Mes);

            if (planillaGratiNuevo != null && planillaGratiNuevo.Count() > 0)
            {
                foreach (PlanillaRemuneracion _planilla in planillaGratiNuevo)
                {
                    planillaRemuneracionRepository.Add(_planilla);
                }

                return(GetPlanillaGratificacion(Anio, Mes));
            }

            return(planillaGrati);
        }
示例#10
0
 public PersonalController(IPersonalRepository repository)
 {
     _repository = repository;
 }
示例#11
0
 public PersonalService(IUnitOfWork unitOfWork, IPersonalRepository personalRepository)
     : base(unitOfWork, personalRepository)
 {
     _personalRepository = personalRepository;
 }
示例#12
0
 public AddPersonCommand(IPersonFactory personFactory, IPersonalRepository repository, ILocalPersonalCollection localPersonalCollection)
 {
     _personFactory           = personFactory;
     _personalRepository      = repository;
     _localPersonalCollection = localPersonalCollection;
 }
示例#13
0
 public LoadPersonalCommand(IPersonalRepository repository, ILocalPersonalCollection personalCollection)
 {
     this._repository    = repository;
     _personalCollection = personalCollection;
 }
示例#14
0
 public UpdatePersonalAvatarCommandHandler(IPersonalRepository personalRepository)
 {
     _personalRepository = personalRepository;
 }
示例#15
0
 public PersonalService(IPersonalRepository PersonalRepository)
 {
     _PersonalRepository = PersonalRepository;
 }
示例#16
0
 public PersonalService(IPersonalRepository personalRepository,
                        IPeriodoCorrelativoRepository periodoCorrelativoRepository)
 {
     _personalRepository           = personalRepository;
     _periodoCorrelativoRepository = periodoCorrelativoRepository;
 }
示例#17
0
 public PersonalService(IPersonalRepository PersonalRepository)
 {
     this._personalRepository = PersonalRepository;
 }
示例#18
0
 public PersonalInfoQueryHandler(IPersonalRepository personalRepository)
 {
     _personalRepository = personalRepository;
 }
示例#19
0
        public IEnumerable <PlanillaRemuneracion> GetPlanillaNormalPorPeriodo(int Anio, int Mes)
        {
            IPlanillaRemuneracionRepository planillaRepository       = _DataRepositoryFactory.GetDataRepository <IPlanillaRemuneracionRepository>();
            IPersonalRepository             personalRepository       = _DataRepositoryFactory.GetDataRepository <IPersonalRepository>();
            IVacacionesRepository           vacacionesRepository     = _DataRepositoryFactory.GetDataRepository <IVacacionesRepository>();
            IFondoPensionesRepository       fondoPensionesRepository = _DataRepositoryFactory.GetDataRepository <IFondoPensionesRepository>();
            IAreaServicioRepository         areaServicioRepository   = _DataRepositoryFactory.GetDataRepository <IAreaServicioRepository>();
            ICargoRepository cargoRepository = _DataRepositoryFactory.GetDataRepository <ICargoRepository>();

            string Periodo  = Anio.ToString() + Utiles.CerosIzquierda(Mes.ToString(), 2);
            var    planilla = planillaRepository.GetPlanillaPorPeriodo(Periodo, "N");

            IEnumerable <VacacionesPersona> vacaciones = vacacionesRepository.GetVacacionesPorPeriodo(Anio);

            if (vacaciones == null || vacaciones.Count() == 0)
            {
                throw new InvalidOperationException("No se han registrado las vacaciones para este periodo. Imposible continuar con la operación.");
            }

            if (planilla != null && planilla.Count() > 0)
            {
                var personal      = personalRepository.Get();
                var fondoPen      = fondoPensionesRepository.Get();
                var areasServicio = areaServicioRepository.Get();
                var cargos        = cargoRepository.Get();
                foreach (PlanillaRemuneracion registro in planilla)
                {
                    var persona = personal.Where(o => o.IdPersonal == registro.IdPersonal).FirstOrDefault();
                    var fondo   = fondoPen.Where(o => o.IdFondoPen == registro.IdFondoPen).FirstOrDefault();
                    var area    = areasServicio.Where(o => o.IdAreaServicio == persona.IdAreaServicio).FirstOrDefault();
                    var cargo   = cargos.Where(o => o.IdCargo == persona.IdCargo).FirstOrDefault();
                    registro.NombrePersona     = persona.ApePaterno + " " + persona.ApeMaterno + ", " + persona.Nombre;
                    registro.VacacionesPeriodo = vacacionesRepository.GetVacacionesPorPeriodoPersona(Anio, registro.IdPersonal ?? 0);
                    registro.ApellidoPaterno   = persona.ApePaterno;
                    registro.ApellidoMaterno   = persona.ApeMaterno;
                    registro.Nombre            = persona.Nombre;
                    registro.CUSPP             = persona.CUSPP;
                    registro.Dni          = persona.DNI;
                    registro.FechaIngreso = persona.FecIngreso ?? DateTime.Now;
                    registro.AFP          = fondo.Entidad;
                    registro.Cargo        = cargo.Cargo1;
                    registro.Area         = area.Area;
                }
                //planilla = planilla.OrderBy(o => o.NombrePersona);
                return(planilla);
            }

            IEnumerable <PlanillaRemuneracion> planillas = GenerarPlanilla(Periodo);

            if (planillas != null && planillas.Count() > 0)
            {
                foreach (PlanillaRemuneracion _planilla in planillas)
                {
                    planillaRepository.Add(_planilla);
                }

                return(GetPlanillaNormalPorPeriodo(Anio, Mes));
            }

            return(planilla);
        }
示例#20
0
 public TeamMembersQueryHandler(ITeamRepository teamRepository, IPersonalRepository personalRepository)
 {
     _teamRepository     = teamRepository;
     _personalRepository = personalRepository;
 }
示例#21
0
 public EditPersonCommand(IPersonalRepository personalRepository, ILocalPersonalCollection personalLocalCollection, IPostsRepository postsEFRepository)
 {
     _personalRepository      = personalRepository;
     _personalLocalCollection = personalLocalCollection;
     _postsEFRepository       = postsEFRepository;
 }
示例#22
0
 public EditEmployeeForm(IPersonalRepository repository, int id) : this()
 {
     this.repository = repository;
     this.employeeId = id;
 }
示例#23
0
 public PersonalSearchPage()
 {
     this.InitializeComponent();
     Db        = App.Data;
     viewModel = new PersonalSearchViewModel();
 }
示例#24
0
 public PersonalService(IPersonalRepository personalRepository)
 {
     _personalRepository = personalRepository;
 }
 public SubscriberService(IPersonalRepository personalRepository)
 {
     _personalRepository = personalRepository;
 }
示例#26
0
 public PersonalForm(IPersonalRepository personalRepository) : this()
 {
     this.repository = personalRepository;
 }
示例#27
0
 public PersonalManager(IPersonalRepository repository, IUploadFileRepository upload, ISearchPersonalRepository <PersonalModel> search)
 {
     this._repository = repository;
     this._upload     = upload;
     this._search     = search;
 }