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