Beispiel #1
0
 private static void ControlLicenciaDEMO(ref bool version, ref bool LICENCIAVALIDA, LicenciaBE LICENCIA, DateTime dateExpiracion)
 {
     if (DateTime.Now <= dateExpiracion && LICENCIA.LENG8 == "SI") //
     {
         int Dias = (int)HelpTime.CantidadDias(DateTime.Now, dateExpiracion, HelpTime.TotalTiempo.Dias, true);
         oReturnValor.Message = "¡QUEDAN [ " + Dias.ToString().PadLeft(5, '0') + " ] DIAS de la Versión de DEMOSTRACION del Sistema! \n  [ Empresa : " + LICENCIA.LENG6 + " ] Versión de Demostración !";
         LICENCIAVALIDA       = true;
     }
     else
     {
         LICENCIA.LENG8       = "NO";
         oReturnValor.Message = "¡ SE EXPIRO LA LICENCIA DE PRUEBA PARA EL SISTEMA ! \n Contactarse con Orlando Carril al Cel:01-997405565 Versión de Demostración Agotada...!";
         LICENCIAVALIDA       = false;
     }
     version = false;
 }
Beispiel #2
0
        public static int DiasDePrestamo(DateTime prmFechaInicio, int DefaultDiasPrestamo, int DIAS_TOLERANCIA)
        {
            int DIAS_DE_PRESTAMO            = 0;
            List <BEFeriado> lstFeriados    = new List <BEFeriado>();
            FeriadosLogic    oFeriadosLogic = new FeriadosLogic();

            lstFeriados = oFeriadosLogic.List(DateTime.Now.AddHours(GlobalSettings.GetDEFAULT_HorasFechaActualCloud()).Year.ToString(), string.Empty, null, true);

            int      TOTAL_DIAS_A_CONTAR = (DefaultDiasPrestamo + DIAS_TOLERANCIA);
            DateTime Fecha_Final         = DateTime.Now.AddHours(GlobalSettings.GetDEFAULT_HorasFechaActualCloud());

            for (int dia = 1; dia <= TOTAL_DIAS_A_CONTAR; ++dia)
            {
                DateTime FechaABuscar    = prmFechaInicio.AddDays(dia);
                string   FechaFijaAnual  = "0000" + FechaABuscar.Month.ToString().Trim().PadLeft(2, '0') + FechaABuscar.Day.ToString().Trim().PadLeft(2, '0');
                string   FechaVariaAnual = DateTime.Now.Year.ToString().Trim() + FechaABuscar.Month.ToString().Trim().PadLeft(2, '0') + FechaABuscar.Day.ToString().Trim().PadLeft(2, '0');

                if (FechaABuscar.DayOfWeek == DayOfWeek.Sunday)
                {
                    ++TOTAL_DIAS_A_CONTAR;
                }
                else
                {
                    if (lstFeriados.Exists(x => x.Feriado == FechaFijaAnual))
                    {
                        ++TOTAL_DIAS_A_CONTAR;
                    }
                    if (lstFeriados.Exists(x => x.Feriado == FechaVariaAnual))
                    {
                        ++TOTAL_DIAS_A_CONTAR;
                    }
                }
                Fecha_Final = FechaABuscar;
            }
            double ndiasx = HelpTime.CantidadDias(Convert.ToDateTime(DateTime.Now.AddHours(GlobalSettings.GetDEFAULT_HorasFechaActualCloud()).ToShortDateString()),
                                                  Convert.ToDateTime(Fecha_Final.ToShortDateString()),
                                                  HelpTime.TotalTiempo.Dias, true);

            return(DIAS_DE_PRESTAMO = Convert.ToInt32(ndiasx));
        }
Beispiel #3
0
        /// <summary>
        /// Retorna un LISTA de registros de la Entidad Maestros.Personas
        /// En la BASE de DATO la Tabla : [Maestros.Personas]
        /// <summary>
        /// <returns>List</returns>
        public List <BETimeEmpleado> ListMarcaciones(int pcodEmpresa, DateTime prm_FechaHoraINI, DateTime prm_FechaHoraFIN, string pUserLogin)
        {
            List <BEPersona>      miListaPersonas   = new List <BEPersona>();
            List <BETimeEmpleado> listaTimeEmpleado = new List <BETimeEmpleado>();
            CalendariosLogic      oCalendariosLogic = new CalendariosLogic();

            try
            {
                // ITERA la Lista de Empleados
                foreach (BEPersona itemPersona in prm_miListaPersonas)
                {
                    List <BEPersonaAtributo> listaPersonasAtributos = new List <BEPersonaAtributo>();
                    listaPersonasAtributos = oPersonasLogic.ListBy_PersonasAtributos(itemPersona.codEmpresa, itemPersona.CodigoPersona);
                    BETimeEmpleado itemTimeEmpleado = new BETimeEmpleado();
                    itemTimeEmpleado.CodigoPersona = itemPersona.CodigoPersona;
                    itemTimeEmpleado.Apellidos     = itemPersona.itemDatoAdicional.ApellidoPaterno + " " + itemPersona.itemDatoAdicional.ApellidoMaterno;
                    itemTimeEmpleado.Nombres       = itemPersona.itemDatoAdicional.Nombre1 + " " + itemPersona.itemDatoAdicional.Nombre2;
                    // Datos y Valores del Empleado para el Control de Asistencia
                    itemPersona.itemDatoAdicional = oPersonasLogic.FindPersonasDatosAdicionales(itemPersona.codEmpresa,
                                                                                                itemTimeEmpleado.CodigoPersona,
                                                                                                pUserLogin);

                    string CODIGO_CALENDARIO = string.Empty;
                    string TARJETA_MARCACION = string.Empty;

                    //HelpMaestras.

                    // Si Tiene CALENDARIO
                    CODIGO_CALENDARIO = AtributoPersona(listaPersonasAtributos, ConfigurationManager.AppSettings["DEFAULT_CodigoCalendario"].ToString());
                    TARJETA_MARCACION = AtributoPersona(listaPersonasAtributos, ConfigurationManager.AppSettings["DEFAULT_NroDeTarjeta"].ToString());
                    if (!string.IsNullOrEmpty(CODIGO_CALENDARIO))
                    {
                        TARJETA_MARCACION = TARJETA_MARCACION.Trim().PadLeft(Convert.ToInt32(ConfigurationManager.AppSettings["DEFAULT_LongNumCard"]), '0');
                        itemTimeEmpleado.listaMarcaciones = oMarcacionesLogic.List(TARJETA_MARCACION, prm_FechaHoraINI, prm_FechaHoraFIN);
                        // Lista de TimeMarcaciones Datos completos de la Asistencia del Empleado
                        List <BETimeMarcacion> listaTimeMarcaciones = new List <BETimeMarcacion>();
                        // Lista de Marcaciones Datos completos del Registro de Marcaciones del RELOJ
                        List <BEMarcacion> listaMarcacionesFECHA_Actual = new List <BEMarcacion>();
                        // Fecha de INICIO
                        DateTime FECHA_Actual = prm_FechaHoraINI;
                        // CONTAR desde el PRIMER Dia Hasta el ULTIMO Día de UNo en UNO
                        double TOTAL_DE_DIAS = Math.Round(HelpTime.CantidadDias(prm_FechaHoraINI, prm_FechaHoraFIN, HelpTime.TotalTiempo.Dias, true), 0);
                        ++TOTAL_DE_DIAS;
                        for (int i = 1; i <= TOTAL_DE_DIAS; ++i)
                        {
                            // itemTimeMarcaciones para llenar un Registro de Marcación del EMPLEADO
                            BETimeMarcacion itemTimeMarcaciones = new BETimeMarcacion();
                            string          DiaSemanaNOMBRE     = string.Empty;
                            // Se Encuentra el Día de la Semana en Número y Nombre
                            int DiaSemanaNUMERO = HelpTime.DiaDeLaSemana(FECHA_Actual, out DiaSemanaNOMBRE);

                            itemTimeMarcaciones.CodigoPersona       = itemPersona.CodigoPersona;
                            itemTimeMarcaciones.CodigoPersonaNombre = itemPersona.RazonSocial;
                            foreach (BEPersonaAtributo item in listaPersonasAtributos)
                            {
                                if (item.CodigoArguTipoAtributo == ConfigCROM.AppConfig(pcodEmpresa,
                                                                                        ConfigTool.DEFAULT_Atributo_NumerRUC))//  - ruc
                                {
                                    itemTimeMarcaciones.CodigoPersonaDNI = item.DescripcionAtributo;
                                }
                            }
                            itemTimeMarcaciones.DiaSemana = DiaSemanaNOMBRE.Substring(0, 3);
                            itemTimeMarcaciones.FechaHora = Convert.ToDateTime(FECHA_Actual.ToShortDateString());

                            string DIA_SEMANA_NOMBRE = string.Empty;
                            int    DIA_SEMANA_NUMERO = HelpTime.DiaDeLaSemana(itemTimeMarcaciones.FechaHora, out DIA_SEMANA_NOMBRE);

                            BECalendario itemCalendarios = new BECalendario();
                            itemCalendarios = oCalendariosLogic.Find(CODIGO_CALENDARIO, true);

                            List <BECalendarioDia> itemCalendariosDias = new List <BECalendarioDia>();
                            // Encontrar el Horario de Trabajo de la FECHA_Actual del BUCLE
                            var queryCalendariosDIA = from itemDIA in itemCalendarios.listaCalendariosDias
                                                      //where  itemDIA.FechaInicio == itemTimeMarcaciones.FechaHora
                                                      where itemDIA.CodigoArguDiaSemana == "ADIAS00" + DIA_SEMANA_NUMERO.ToString().Trim()
                                                      select itemDIA;
                            itemCalendariosDias = queryCalendariosDIA.ToList <BECalendarioDia>();

                            // Se Obtiene Todas las Marcaciones del EMPLEADO por la Fecha actual del BUCLE
                            var queryMarcasFECHA_Actual = from ListaMarcasFECHA_Actual in itemTimeEmpleado.listaMarcaciones
                                                          where ListaMarcasFECHA_Actual.FechaTexto.ToShortDateString() == FECHA_Actual.ToShortDateString()
                                                          select ListaMarcasFECHA_Actual;
                            listaMarcacionesFECHA_Actual = queryMarcasFECHA_Actual.ToList <BEMarcacion>();
                            int MARCAS_CANTIDAD = listaMarcacionesFECHA_Actual.Count;
                            int MARCAS_CONTADOR = 0;
                            int MARCAS_VECES    = 0;

                            itemTimeMarcaciones.HorarioEntrada      = itemCalendariosDias[0].itemHorario.HEntrada == "00:00" ? "__:__" : itemCalendariosDias[0].itemHorario.HEntrada;
                            itemTimeMarcaciones.HorasTeoricasTIME60 = HelpTime.CantidadTiempoEn_HH_MM(Convert.ToDouble(itemCalendariosDias[0].itemHorario.HorasLabor));
                            itemTimeMarcaciones.HorasTeoricasDOUBLE = Convert.ToDouble(itemCalendariosDias[0].itemHorario.HorasLabor);

                            // SI TIENE MAS de una MARCACIÓN
                            if (MARCAS_CANTIDAD > 0)
                            {
                                // Colocar las Marcaciones existentes en el registro Horizontal de itemTimeMarcaciones
                                MarcacionesDeVerticalaHorizontal(listaMarcacionesFECHA_Actual, itemTimeMarcaciones, ref MARCAS_CONTADOR, ref MARCAS_VECES);
                                CalcularTiempoPersona(itemTimeMarcaciones, itemCalendariosDias[0].itemHorario, MARCAS_VECES);
                                itemTimeEmpleado.listaTimeMarcaciones.Add(itemTimeMarcaciones);
                            }
                            else
                            {
                                itemTimeMarcaciones.Entra01 = string.Empty;
                                itemTimeMarcaciones.Entra02 = string.Empty;
                                itemTimeMarcaciones.Salid01 = string.Empty;
                                itemTimeMarcaciones.Salid02 = string.Empty;
                                string decripcion = null;
                                if (DetectaAGENDA(itemTimeEmpleado.CodigoPersona, FECHA_Actual, FECHA_Actual.Year, ref decripcion))
                                {
                                    itemTimeMarcaciones.MarcacionesDescripcion = decripcion;
                                }
                                else if (DetectaFERIADO(itemCalendariosDias[0].itemHorario, FECHA_Actual, ref decripcion))
                                {
                                    itemTimeMarcaciones.MarcacionesDescripcion = decripcion;
                                }
                                else
                                {
                                    itemTimeMarcaciones.CONTADOR_VecesFalta    = 1;
                                    itemTimeMarcaciones.MarcacionesDescripcion = decripcion;
                                }
                                itemTimeEmpleado.listaTimeMarcaciones.Add(itemTimeMarcaciones);
                            }
                            // La variable FECHA_Actual es Igual al Acumulado de prm_FechaHoraINI en UNO (Contador=i)
                            FECHA_Actual = prm_FechaHoraINI.AddDays(i);
                        }
                        listaTimeEmpleado.Add(itemTimeEmpleado);
                    }
                }
            }
            catch (Exception ex)
            {
                var returnValor = HelpException.mTraerMensaje(ex, false, this.GetType().Name + '.' + MethodBase.GetCurrentMethod().Name,
                                                              pUserLogin, pcodEmpresa.ToString());
                throw new Exception(returnValor.Message);
            }
            return(listaTimeEmpleado);
        }