Пример #1
0
        public bool GuardarExcel(List <EntHorarioDia> pe_LstMes, string pe_strRutaFicheroExcel, int pe_intFilaInicioDetalle = 14)
        {
            bool vl_boolSalida = false;

            try
            {
                Application ExcelApp         = new Application();
                Workbook    vl_ExcelWorKbooK = ExcelApp.Workbooks.Open(pe_strRutaFicheroExcel);
                Worksheet   vl_Worksheet     = vl_ExcelWorKbooK.Sheets[1];

                int vl_intFila = pe_intFilaInicioDetalle;

                foreach (EntHorarioDia vl_EntHorarioDia in pe_LstMes)
                {
                    vl_Worksheet.Cells[vl_intFila, 1] = vl_EntHorarioDia.DiaMes;


                    vl_Worksheet.Cells[vl_intFila, 2] = (vl_EntHorarioDia.HoraEntradaManana.HasValue)? vl_EntHorarioDia.HoraEntradaManana.Value.ToString():"";
                    vl_Worksheet.Cells[vl_intFila, 3] = (vl_EntHorarioDia.HoraSalidaManana.HasValue)? vl_EntHorarioDia.HoraSalidaManana.Value.ToString():"";
                    vl_Worksheet.Cells[vl_intFila, 5] = (vl_EntHorarioDia.HoraEntradaTarde.HasValue)? vl_EntHorarioDia.HoraEntradaTarde.Value.ToString():"";
                    vl_Worksheet.Cells[vl_intFila, 6] = (vl_EntHorarioDia.HoraSalidaTarde.HasValue)? vl_EntHorarioDia.HoraSalidaTarde.Value.ToString(): "";

                    vl_intFila++;
                }


                //Ahora el pie de la firma.

                BLComun vl_BLComun = new BLComun();

                vl_intFila = int.Parse(vl_BLComun.ObtenerValorConfig("FILA_PIE_EXCEL"));
                vl_Worksheet.Cells[vl_intFila, 3] = DateTime.DaysInMonth(pe_LstMes.First().Fecha.Year, pe_LstMes.First().Fecha.Month);
                vl_Worksheet.Cells[vl_intFila, 5] = vl_BLComun.ObtenerNombreMes(pe_LstMes.First().Fecha.Month);
                vl_Worksheet.Cells[vl_intFila, 8] = pe_LstMes.First().Fecha.Year;

                //Ahora la cabecera
                vl_intFila = int.Parse(vl_BLComun.ObtenerValorConfig("FILA_CABECERA_EXCEL"));
                vl_Worksheet.Cells[vl_intFila, 5] = pe_LstMes.First().Fecha.Month;

                vl_ExcelWorKbooK.Save();

                vl_Worksheet = null;
                vl_ExcelWorKbooK.Close();
                vl_ExcelWorKbooK = null;
                ExcelApp         = null;
            }
            catch (Exception ex)
            {
                throw ex;
            }


            return(vl_boolSalida);
        }
Пример #2
0
        public List <EntFestivo> ObtenerFestivos(int pe_intMes)
        {
            List <EntFestivo> vl_LstFestivos = new List <EntFestivo>();

            try
            {
                BLComun  vl_BLComun     = new BLComun();
                string[] vl_arrFestivos = vl_BLComun.ObtenerDatos(vl_BLComun.ObtenerValorConfig("RUTA_FESTIVOS"));
                if (vl_LstFestivos != null)
                {
                    foreach (DateTime vl_Fecha in  Array.ConvertAll(vl_arrFestivos, DateTime.Parse).Where(a => a.Month == pe_intMes))
                    {
                        vl_LstFestivos.Add(new EntFestivo {
                            Fecha = vl_Fecha
                        });
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }



            return(vl_LstFestivos);
        }
Пример #3
0
        static void Main(string[] args)
        {
            try
            {
                BLComun  vl_BLComun = new BLComun();
                DateTime vl_datHoy  = new DateTime(2019, 11, 1); //DateTime.Now;

                List <EntHorario> vl_HorarioSemanal = BLucHorario.ObtenerHorario(BLucTipoHorario.ObtenerTipoHorario(vl_datHoy));

                BLucHorasTotalesMes vl_BLucHorasTotalesMes = new BLucHorasTotalesMes();
                int vl_intTotalHoras = vl_BLucHorasTotalesMes.ObtenerHorasMes(vl_datHoy.Month);

                BLucFestivo       vl_BLucFestivo = new BLucFestivo();
                List <EntFestivo> vl_LstFestivos = vl_BLucFestivo.ObtenerFestivosMes(vl_datHoy.Month);

                BLucGeneradorHorario vl_BLucGeneradorHorario = new BLucGeneradorHorario();
                List <EntHorarioDia> vl_LstHorarioMes        = vl_BLucGeneradorHorario.GenerarHorario(vl_datHoy, vl_HorarioSemanal, vl_LstFestivos, int.Parse(vl_BLComun.ObtenerValorConfig("RANGO")));

                //Generamos el Excel.
                BLucExcel vl_BLucExcel = new BLucExcel();
                vl_BLucExcel.GuardarExcel(vl_LstHorarioMes, vl_BLComun.ObtenerValorConfig("RUTA_EXCEL"));
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }

            Pie();
        }
Пример #4
0
        public EntHorasTotalesMes ObtenerHorasMes(int pe_intIdMes)
        {
            EntHorasTotalesMes vl_entSalida = new EntHorasTotalesMes();

            try
            {
                BLComun  vl_BLComun            = new BLComun();
                string[] vl_arrHorasTotalesMes = vl_BLComun.ObtenerDatos(vl_BLComun.ObtenerValorConfig("RUTA_HORAS_TOTALES_MES"));
                if (vl_arrHorasTotalesMes != null)
                {
                    foreach (string vl_strHorasMes in vl_arrHorasTotalesMes)
                    {
                        string[] vl_strItemHorasMes = vl_strHorasMes.Split('|');
                        if (int.Parse(vl_strItemHorasMes[0].ToString()) == pe_intIdMes)
                        {
                            vl_entSalida.Mes          = pe_intIdMes;
                            vl_entSalida.HorasTotales = int.Parse(vl_strItemHorasMes[1]);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(vl_entSalida);
        }
Пример #5
0
        public EntTipoHorario ObtenerTipoHorario(DateTime pe_datHoy)
        {
            List <EntTipoHorario> vl_LstSalida = new List <EntTipoHorario>();

            try
            {
                BLComun  vl_BLComun        = new BLComun();
                string[] vl_arrTipoHorario = vl_BLComun.ObtenerDatos(vl_BLComun.ObtenerValorConfig("RUTA_TIPO_HORARIO"));
                if (vl_arrTipoHorario != null)
                {
                    foreach (string vl_strTipo in vl_arrTipoHorario)
                    {
                        string[] vl_strItemTipo = vl_strTipo.Split('|');
                        vl_LstSalida.Add(new EntTipoHorario
                        {
                            Tipo        = (BLComun.TipoHorario) int.Parse(vl_strItemTipo[0]),
                            FechaInicio = Convert.ToDateTime(vl_strItemTipo[1]),
                            FechaFin    = Convert.ToDateTime(vl_strItemTipo[2])
                        });
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            EntTipoHorario vl_EntTipoHorario = vl_LstSalida.First(a => pe_datHoy >= a.FechaInicio && pe_datHoy <= a.FechaFin);

            return(vl_EntTipoHorario);
        }
Пример #6
0
        public List <EntHorario> ObtenerHorario(BLComun.TipoHorario pe_TipoHorario)
        {
            List <EntHorario> vl_EntSalida = new List <EntHorario>();

            try
            {
                BLComun  vl_BLComun     = new BLComun();
                string[] vl_arrHorarios = (pe_TipoHorario == BLComun.TipoHorario.Invierno)? vl_BLComun.ObtenerDatos(vl_BLComun.ObtenerValorConfig("RUTA_HORARIO")): vl_BLComun.ObtenerDatos(vl_BLComun.ObtenerValorConfig("RUTA_HORARIO_VERANO"));

                if (vl_arrHorarios != null)
                {
                    TimeSpan?vl_tsHoraEntradaManana;
                    TimeSpan?vl_tsHoraSalidaManana;
                    TimeSpan?vl_tsHoraEntradaTarde;
                    TimeSpan?vl_tsHoraSalidaTarde;

                    foreach (string vl_Horarios in vl_arrHorarios)
                    {
                        vl_tsHoraEntradaManana = null;
                        vl_tsHoraSalidaManana  = null;
                        vl_tsHoraEntradaTarde  = null;
                        vl_tsHoraSalidaTarde   = null;

                        string[] vl_arrItems = vl_Horarios.Split('|');

                        if (vl_arrItems[1] != "null")
                        {
                            vl_tsHoraEntradaManana = TimeSpan.Parse(vl_arrItems[1]);
                        }

                        if (vl_arrItems[2] != "null")
                        {
                            vl_tsHoraSalidaManana = TimeSpan.Parse(vl_arrItems[2]);
                        }

                        if (vl_arrItems[3] != "null")
                        {
                            vl_tsHoraEntradaTarde = TimeSpan.Parse(vl_arrItems[3]);
                        }

                        if (vl_arrItems[4] != "null")
                        {
                            vl_tsHoraSalidaTarde = TimeSpan.Parse(vl_arrItems[4]);
                        }


                        vl_EntSalida.Add(new EntHorario {
                            Dia = (DayOfWeek)int.Parse(vl_arrItems[0]),
                            HoraEntradaManana = vl_tsHoraEntradaManana,
                            HoraSalidaManana  = vl_tsHoraSalidaManana,
                            HoraEntradaTarde  = vl_tsHoraEntradaTarde,
                            HoraSalidaTarde   = vl_tsHoraSalidaTarde
                        });
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }


            return(vl_EntSalida);
        }