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;
 }