public ParametroENT GetParametro() { ParametroENT parametroENTRes = new ParametroENT(); ParametroDAT parametroDAT = new ParametroDAT(); DataTable dtParametro = new DataTable(); try { dtParametro = parametroDAT.GetParametro(0, null); parametroENTRes.ListParametro = dtParametro.AsEnumerable() .Select(n => new Parametro { Id = n.Field <int?>("Id").GetValueOrDefault(), Nombre = n.Field <string>("Nombre"), Valor = n.Field <string>("Valor") }).ToList(); parametroENTRes.Mensaje = "OK"; parametroENTRes.OK = 1; } catch (Exception ex) { parametroENTRes.ListParametro = new List <Parametro>();; parametroENTRes.Mensaje = "ERROR: Service: GetParametro, Source: " + ex.Source + ", Message: " + ex.Message; parametroENTRes.OK = 0; ArchivoLog.EscribirLog(null, "ERROR: Service: GetParametro, Source: " + ex.Source + ", Message: " + ex.Message); } return(parametroENTRes); }
public ConfiguracionENT GetUsuarioPasswordShareP(ConfiguracionENT configuracionENTReq) { ConfiguracionENT configuracionENTRes = new ConfiguracionENT(); ParametroDAT parametroDAT = new ParametroDAT(); DataTable dtParametro = new DataTable(); DataRow dr; try { dtParametro = parametroDAT.GetParametro(0, null); dr = dtParametro.AsEnumerable().Where(n => n["Nombre"].ToString().ToUpper() == ConfigurationManager.AppSettings["UsuarioSharePoint"].ToString().ToUpper()).FirstOrDefault(); if (dr != null) { configuracionENTRes.UsuarioShareP = dr["Valor"].ToString(); } dr = dtParametro.AsEnumerable().Where(n => n["Nombre"].ToString().ToUpper() == ConfigurationManager.AppSettings["PasswordSharePoint"].ToString().ToUpper()).FirstOrDefault(); if (dr != null) { configuracionENTRes.PasswordShareP = dr["Valor"].ToString(); } configuracionENTRes.OK = 1; configuracionENTRes.Mensaje = "OK"; } catch (Exception ex) { configuracionENTRes.OK = 0; configuracionENTRes.Mensaje = "ERROR: Service: GetUsuarioPasswordShareP, Source: " + ex.Source + ", Message: " + ex.Message; ArchivoLog.EscribirLog(null, "ERROR: Service: GetUsuarioPasswordShareP, Source: " + ex.Source + ", Message: " + ex.Message); } return(configuracionENTRes); }
public BitacoraENT GuardarBitacora(BitacoraENT bitacoraENTReq) { int respuesta = 0; BitacoraENT bitacoraENTRes = new BitacoraENT(); BitacoraDAT bitacoraDAT = new BitacoraDAT(); EntidadesCampanasPPG.Modelo.Bitacora bitacora = new EntidadesCampanasPPG.Modelo.Bitacora(); CampanaDAT campanaDAT = new CampanaDAT(); GrupoReporteGR grupoReporteGR = new GrupoReporteGR(); DataSet dsReporteGR = new DataSet(); DataTable dtReporteGR1 = new DataTable(); DataTable dtReporteGR2 = new DataTable(); DataTable dtParametro = new DataTable(); ParametroDAT parametroDAT = new ParametroDAT(); List <Parametro> ListParametro = new List <Parametro>(); Parametro parametro = new Parametro(); string estatusReporteGR = string.Empty; string nombreArchivo = string.Empty; string pathArchivoCompleto = string.Empty; string urlCompleto = string.Empty; string pathArchivo = string.Empty; string url = string.Empty; string usuarioSharePoint = string.Empty; string passwordSharePoint = string.Empty; string nombreReporte = string.Empty; string nombreReporteFinal = string.Empty; string nombreHojaCircular = string.Empty; string nombreTituloCircular = string.Empty; DataSet dsReporteCircular = new DataSet(); DataTable dtReporteCircular = new DataTable(); DataTable dtReporteCircularRes = new DataTable(); List <string> ListAlcance = new List <string>(); List <string> ListAlcanceTotal = new List <string>(); string alcancePrimario = string.Empty; bool esAlcancePrimario = false; EntidadesCampanasPPG.Modelo.Campana campana = new EntidadesCampanasPPG.Modelo.Campana(); string claveCampana = string.Empty; string nombreCampana = string.Empty; string fechaInicioSubCanal = string.Empty; string fechaFinSubCanal = string.Empty; string fechaInicioPublico = string.Empty; string fechaFinPublico = string.Empty; try { bitacora = bitacoraENTReq.ListBitacora.FirstOrDefault(); if (bitacora == null) { bitacoraENTRes.Mensaje = "ERROR: No se agregaron todos los datos necesarios para guardar informacion de la bitacora."; return(bitacoraENTRes); } respuesta = bitacoraDAT.GuardarBitacora(bitacora); if (respuesta >= 1) { //OBTENER PARAMETROS dtParametro = parametroDAT.GetParametro(0, null); ListParametro = dtParametro.AsEnumerable() .Select(n => new Parametro { Id = n.Field <int?>("Id").GetValueOrDefault(), Nombre = n.Field <string>("Nombre"), Valor = n.Field <string>("Valor") }).ToList(); parametro = ListParametro.Where(n => n.Nombre.ToUpper() == ConfigurationManager.AppSettings["EstatusReporteGR"].ToString().ToUpper()).FirstOrDefault(); if (parametro != null) { estatusReporteGR = parametro.Valor; } if (bitacora.Estatus.ToUpper() == estatusReporteGR.ToUpper()) { #region REPORTE GRAN RED ////////////////// //REPORTE GRAN RED grupoReporteGR = campanaDAT.MostrarReporteGR(bitacora.IDCampania); if ((grupoReporteGR.ListCampana != null && grupoReporteGR.ListCampana.Count > 0) || (grupoReporteGR.ListReporteGR1 != null && grupoReporteGR.ListReporteGR1.Count > 0) || (grupoReporteGR.ListReporteGR2 != null && grupoReporteGR.ListReporteGR2.Count > 0)) { parametro = ListParametro.Where(n => n.Nombre.ToUpper() == ConfigurationManager.AppSettings["DirectorioReporte"].ToString().ToUpper()).FirstOrDefault(); if (parametro != null) { pathArchivo = parametro.Valor; } url = string.Empty; parametro = ListParametro.Where(n => n.Nombre.ToUpper() == ConfigurationManager.AppSettings["UrlReporteGR"].ToString().ToUpper()).FirstOrDefault(); if (parametro != null) { url = HttpUtility.HtmlEncode(parametro.Valor); } parametro = ListParametro.Where(n => n.Nombre.ToUpper() == ConfigurationManager.AppSettings["NombreReporteGR"].ToString().ToUpper()).FirstOrDefault(); if (parametro != null) { nombreReporte = parametro.Valor + bitacora.ClaveCampania; } parametro = ListParametro.Where(n => n.Nombre.ToUpper() == ConfigurationManager.AppSettings["UsuarioSharePoint"].ToString().ToUpper()).FirstOrDefault(); if (parametro != null) { usuarioSharePoint = parametro.Valor; } parametro = ListParametro.Where(n => n.Nombre.ToUpper() == ConfigurationManager.AppSettings["PasswordSharePoint"].ToString().ToUpper()).FirstOrDefault(); if (parametro != null) { passwordSharePoint = parametro.Valor; } //DATOS CAMPAÑA if (grupoReporteGR.ListCampana.Count > 0) { campana = grupoReporteGR.ListCampana.FirstOrDefault(); claveCampana = campana.Title; nombreCampana = campana.NombreCampa; fechaInicioSubCanal = campana.FechaInicioSubCanal; fechaFinSubCanal = campana.FechaFinSubCanal; fechaInicioPublico = campana.FechaInicioPublico; fechaFinPublico = campana.FechaFinPublico; } //AGREGAR PRIMER REPORTE dtReporteGR1.Columns.Add("Id Tienda"); dtReporteGR1.Columns.Add("Bill To"); dtReporteGR1.Columns.Add("Descripcion Region"); dtReporteGR1.Columns.Add("Zona Territorial"); dtReporteGR1.Columns.Add("Customer Name"); dtReporteGR1.Columns.Add("Segmento"); grupoReporteGR.ListReporteGR1.ForEach(n => { dtReporteGR1.Rows.Add(n.IdTienda, n.BillTo, n.DescripcionRegion, n.ZonaTerritorial, n.CustomerName, n.Segmento); }); //AGREGAR SEGUNDO REPORTE dtReporteGR2.Columns.Add("Articulo"); dtReporteGR2.Columns.Add("Codigo EPR"); dtReporteGR2.Columns.Add("Descripcion"); dtReporteGR2.Columns.Add("Envase Descripcion"); dtReporteGR2.Columns.Add("Mecanica"); dtReporteGR2.Columns.Add("Estatus Producto"); dtReporteGR2.Columns.Add("Segmento"); grupoReporteGR.ListReporteGR2.ForEach(n => { dtReporteGR2.Rows.Add(n.Articulo, n.CodigoEPR, n.Descripcion, n.EnvaseDescripcion, n.Mecanica, n.EstatusProducto, n.Segmento); }); //CREAR ARCHIVO EXCEL dtReporteGR1.TableName = "GranRed_1"; //dsReporteGR.Tables.Add(dtReporteGR1); dtReporteGR2.TableName = "GranRed_2"; //dsReporteGR.Tables.Add(dtReporteGR2); nombreArchivo = Guid.NewGuid().ToString() + ".xlsx"; pathArchivoCompleto = Path.Combine(pathArchivo, nombreArchivo); //ExcelLibrary.DataSetHelper.CreateWorkbook(pathArchivoCompleto, dsReporteGR); using (ExcelPackage excel = new ExcelPackage()) { excel.Workbook.Worksheets.Add("Reporte_GrandRed_1"); excel.Workbook.Worksheets.Add("Reporte_GrandRed_2"); var worksheetGranRed_1 = excel.Workbook.Worksheets["Reporte_GrandRed_1"]; var worksheetGranRed_2 = excel.Workbook.Worksheets["Reporte_GrandRed_2"]; //PAGINA 1 worksheetGranRed_1.SetValue("A1", "Reporte Gran Red 1"); worksheetGranRed_1.SetValue("A2", "Campaña:"); worksheetGranRed_1.SetValue("B2", nombreCampana); worksheetGranRed_1.SetValue("A3", "Clave Campaña:"); worksheetGranRed_1.SetValue("B3", claveCampana); worksheetGranRed_1.SetValue("A4", "Fecha Inicio Publico"); if (!string.IsNullOrEmpty(fechaInicioPublico) && fechaInicioPublico != "01/01/0001") { worksheetGranRed_1.SetValue("B4", fechaInicioPublico); } worksheetGranRed_1.SetValue("A5", "Fecha Fin Publico"); if (!string.IsNullOrEmpty(fechaFinPublico) && fechaFinPublico != "01/01/0001") { worksheetGranRed_1.SetValue("B5", fechaFinPublico); } worksheetGranRed_1.Cells["A1:B5"].Style.Font.Color.SetColor(1, 38, 130, 221); worksheetGranRed_1.Cells["A1:B5"].Style.Font.Bold = true; worksheetGranRed_1.Cells["A1:B5"].Style.Font.Size = 14; worksheetGranRed_1.Cells["A7:" + Char.ConvertFromUtf32(dtReporteGR1.Columns.Count + 64) + "7"].LoadFromDataTable(dtReporteGR1, true, OfficeOpenXml.Table.TableStyles.Light2); worksheetGranRed_1.Cells["A7:" + Char.ConvertFromUtf32(dtReporteGR1.Columns.Count + 64) + "7"].Style.Fill.PatternType = ExcelFillStyle.Solid; worksheetGranRed_1.Cells["A7:" + Char.ConvertFromUtf32(dtReporteGR1.Columns.Count + 64) + "7"].Style.Fill.BackgroundColor.SetColor(1, 38, 130, 221); worksheetGranRed_1.Cells["A7:" + Char.ConvertFromUtf32(dtReporteGR1.Columns.Count + 64) + "7"].Style.Font.Color.SetColor(Color.White); //PAGINA 2 worksheetGranRed_2.SetValue("A1", "Reporte Gran Red 2"); worksheetGranRed_2.SetValue("A2", "Campaña:"); worksheetGranRed_2.SetValue("B2", nombreCampana); worksheetGranRed_2.SetValue("A3", "Clave Campaña:"); worksheetGranRed_2.SetValue("B3", claveCampana); worksheetGranRed_2.SetValue("A4", "Fecha Inicio Publico"); if (!string.IsNullOrEmpty(fechaInicioPublico) && fechaInicioPublico != "01/01/0001") { worksheetGranRed_2.SetValue("B4", fechaInicioPublico); } worksheetGranRed_2.SetValue("A5", "Fecha Fin Publico"); if (!string.IsNullOrEmpty(fechaFinPublico) && fechaFinPublico != "01/01/0001") { worksheetGranRed_2.SetValue("B5", fechaFinPublico); } worksheetGranRed_2.Cells["A1:B5"].Style.Font.Color.SetColor(1, 38, 130, 221); worksheetGranRed_2.Cells["A1:B5"].Style.Font.Bold = true; worksheetGranRed_2.Cells["A1:B5"].Style.Font.Size = 14; worksheetGranRed_2.Cells["A7:" + Char.ConvertFromUtf32(dtReporteGR2.Columns.Count + 64) + "7"].LoadFromDataTable(dtReporteGR2, true, OfficeOpenXml.Table.TableStyles.Light2); worksheetGranRed_2.Cells["A7:" + Char.ConvertFromUtf32(dtReporteGR2.Columns.Count + 64) + "7"].Style.Fill.PatternType = ExcelFillStyle.Solid; worksheetGranRed_2.Cells["A7:" + Char.ConvertFromUtf32(dtReporteGR2.Columns.Count + 64) + "7"].Style.Fill.BackgroundColor.SetColor(1, 38, 130, 221); worksheetGranRed_2.Cells["A7:" + Char.ConvertFromUtf32(dtReporteGR2.Columns.Count + 64) + "7"].Style.Font.Color.SetColor(Color.White); FileInfo excelFile = new FileInfo(pathArchivoCompleto); excel.SaveAs(excelFile); } urlCompleto = Path.Combine(url, nombreReporte + ".xlsx"); using (WebClient client = new WebClient()) { System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12; client.Credentials = new NetworkCredential(usuarioSharePoint, passwordSharePoint); client.UploadFile(urlCompleto, "PUT", pathArchivoCompleto); } } #endregion #region REPORTE CIRCULAR //////////////////////// //REPORTE CIRCULAR /////////////////////// parametro = ListParametro.Where(n => n.Nombre.ToUpper() == ConfigurationManager.AppSettings["AlcancePrimario"].ToString().ToUpper()).FirstOrDefault(); if (parametro != null) { alcancePrimario = parametro.Valor; } parametro = ListParametro.Where(n => n.Nombre.ToUpper() == ConfigurationManager.AppSettings["DirectorioReporte"].ToString().ToUpper()).FirstOrDefault(); if (parametro != null) { pathArchivo = parametro.Valor; } url = string.Empty; parametro = ListParametro.Where(n => n.Nombre.ToUpper() == ConfigurationManager.AppSettings["UrlReporteCircular"].ToString().ToUpper()).FirstOrDefault(); if (parametro != null) { url = HttpUtility.HtmlEncode(parametro.Valor); } parametro = ListParametro.Where(n => n.Nombre.ToUpper() == ConfigurationManager.AppSettings["NombreReporteCircular"].ToString().ToUpper()).FirstOrDefault(); if (parametro != null) { nombreReporte = parametro.Valor + bitacora.ClaveCampania; } parametro = ListParametro.Where(n => n.Nombre.ToUpper() == ConfigurationManager.AppSettings["UsuarioSharePoint"].ToString().ToUpper()).FirstOrDefault(); if (parametro != null) { usuarioSharePoint = parametro.Valor; } parametro = ListParametro.Where(n => n.Nombre.ToUpper() == ConfigurationManager.AppSettings["PasswordSharePoint"].ToString().ToUpper()).FirstOrDefault(); if (parametro != null) { passwordSharePoint = parametro.Valor; } //OBTENER REPORTE CIRCULAR dsReporteCircular = campanaDAT.MostrarReporteCircular(bitacora.IDCampania); if (dsReporteCircular != null && dsReporteCircular.Tables.Count > 0) { //OBTENER ALCANCES foreach (DataTable dtAlcance in dsReporteCircular.Tables) { ListAlcance = dtAlcance.AsEnumerable().GroupBy(n => n["Alcance"]).Select(m => m.Key.ToString()).ToList(); if (ListAlcance.Count > 0) { ListAlcanceTotal.AddRange(ListAlcance); } } //CREAR ARCHIVO POR ALCANCE Y AGREGAR HOJAS POR MECANICA foreach (string alcance in ListAlcanceTotal.Distinct()) { using (ExcelPackage excel = new ExcelPackage()) { nombreReporteFinal = nombreReporte + "-" + alcance.ToUpper(); nombreArchivo = Guid.NewGuid().ToString() + ".xlsx"; pathArchivoCompleto = Path.Combine(pathArchivo, nombreArchivo); esAlcancePrimario = false; //IDENTIFICA SI ES NACIONAL if (alcance.ToUpper().Trim() == alcancePrimario) { esAlcancePrimario = true; } dtReporteCircular = new DataTable(); dtReporteCircularRes = new DataTable(); //REGALO if (dsReporteCircular.Tables.Count > 0 && dsReporteCircular.Tables[0].Rows.Count > 0) { dtReporteCircular = dsReporteCircular.Tables[0]; dtReporteCircularRes = dtReporteCircular.Clone(); //AGREGA DATOS NACIONAL if (dtReporteCircular.AsEnumerable().Where(n => n["Alcance"].ToString().ToUpper().Trim() == alcancePrimario.ToUpper().Trim()).ToList().Count > 0) { dtReporteCircularRes.Merge(dtReporteCircular.AsEnumerable().Where(n => n["Alcance"].ToString().ToUpper().Trim() == alcancePrimario.ToUpper().Trim()).CopyToDataTable()); } //AGREGA DATOS DIFERENTE DE NACIONAL if (!esAlcancePrimario && dtReporteCircular.AsEnumerable().Where(n => n["Alcance"].ToString().ToUpper().Trim() == alcance.ToUpper().Trim()).ToList().Count > 0) { dtReporteCircularRes.Merge(dtReporteCircular.AsEnumerable().Where(n => n["Alcance"].ToString().ToUpper().Trim() == alcance.ToUpper().Trim()).CopyToDataTable()); } nombreHojaCircular = "REGALO"; excel.Workbook.Worksheets.Add(nombreHojaCircular); var worksheetCircular = excel.Workbook.Worksheets[nombreHojaCircular]; worksheetCircular.SetValue("A1", "Padre"); worksheetCircular.Cells["A1:B1"].Merge = true; worksheetCircular.SetValue("C1", "Hijo"); worksheetCircular.Cells["C1:D1"].Merge = true; worksheetCircular.SetValue("E1", "Alcance"); worksheetCircular.Cells["A1:E1"].Style.Font.Color.SetColor(1, 38, 130, 221); worksheetCircular.Cells["A1:E1"].Style.Font.Bold = true; worksheetCircular.Cells["A1:E1"].Style.Font.Size = 14; worksheetCircular.Cells["A1:E1"].Style.HorizontalAlignment = ExcelHorizontalAlignment.Center; worksheetCircular.Cells["A2:" + Char.ConvertFromUtf32(dtReporteCircularRes.Columns.Count + 64) + "2"].LoadFromDataTable(dtReporteCircularRes, true, OfficeOpenXml.Table.TableStyles.Light2); worksheetCircular.Cells["A2:" + Char.ConvertFromUtf32(dtReporteCircularRes.Columns.Count + 64) + "2"].Style.Fill.PatternType = ExcelFillStyle.Solid; worksheetCircular.Cells["A2:" + Char.ConvertFromUtf32(dtReporteCircularRes.Columns.Count + 64) + "2"].Style.Fill.BackgroundColor.SetColor(1, 38, 130, 221); worksheetCircular.Cells["A2:" + Char.ConvertFromUtf32(dtReporteCircularRes.Columns.Count + 64) + "2"].Style.Font.Color.SetColor(Color.White); } esAlcancePrimario = false; //IDENTIFICA SI ES NACIONAL if (alcance.ToUpper().Trim() == alcancePrimario) { esAlcancePrimario = true; } dtReporteCircular = new DataTable(); dtReporteCircularRes = new DataTable(); //MULTIPLO if (dsReporteCircular.Tables.Count > 1 && dsReporteCircular.Tables[1].Rows.Count > 0) { dtReporteCircular = dsReporteCircular.Tables[1]; dtReporteCircularRes = dtReporteCircular.Clone(); //AGREGA DATOS NACIONAL if (dtReporteCircular.AsEnumerable().Where(n => n["Alcance"].ToString().ToUpper().Trim() == alcancePrimario.ToUpper().Trim()).ToList().Count > 0) { dtReporteCircularRes.Merge(dtReporteCircular.AsEnumerable().Where(n => n["Alcance"].ToString().ToUpper().Trim() == alcancePrimario.ToUpper().Trim()).CopyToDataTable()); } //AGREGA DATOS DIFERENTE DE NACIONAL if (!esAlcancePrimario && dtReporteCircular.AsEnumerable().Where(n => n["Alcance"].ToString().ToUpper().Trim() == alcance.ToUpper().Trim()).ToList().Count > 0) { dtReporteCircularRes.Merge(dtReporteCircular.AsEnumerable().Where(n => n["Alcance"].ToString().ToUpper().Trim() == alcance.ToUpper().Trim()).CopyToDataTable()); } nombreHojaCircular = "MULTIPLO"; excel.Workbook.Worksheets.Add(nombreHojaCircular); var worksheetCircular = excel.Workbook.Worksheets[nombreHojaCircular]; worksheetCircular.SetValue("A1", "Padre"); worksheetCircular.Cells["A1:B1"].Merge = true; worksheetCircular.SetValue("C1", "Alcance"); worksheetCircular.Cells["A1:C1"].Style.Font.Color.SetColor(1, 38, 130, 221); worksheetCircular.Cells["A1:C1"].Style.Font.Bold = true; worksheetCircular.Cells["A1:C1"].Style.Font.Size = 14; worksheetCircular.Cells["A1:C1"].Style.HorizontalAlignment = ExcelHorizontalAlignment.Center; worksheetCircular.Cells["A2:" + Char.ConvertFromUtf32(dtReporteCircularRes.Columns.Count + 64) + "2"].LoadFromDataTable(dtReporteCircularRes, true, OfficeOpenXml.Table.TableStyles.Light2); worksheetCircular.Cells["A2:" + Char.ConvertFromUtf32(dtReporteCircularRes.Columns.Count + 64) + "2"].Style.Fill.PatternType = ExcelFillStyle.Solid; worksheetCircular.Cells["A2:" + Char.ConvertFromUtf32(dtReporteCircularRes.Columns.Count + 64) + "2"].Style.Fill.BackgroundColor.SetColor(1, 38, 130, 221); worksheetCircular.Cells["A2:" + Char.ConvertFromUtf32(dtReporteCircularRes.Columns.Count + 64) + "2"].Style.Font.Color.SetColor(Color.White); } esAlcancePrimario = false; //IDENTIFICA SI ES NACIONAL if (alcance.ToUpper().Trim() == alcancePrimario) { esAlcancePrimario = true; } dtReporteCircular = new DataTable(); dtReporteCircularRes = new DataTable(); //DESCUENTO if (dsReporteCircular.Tables.Count > 2 && dsReporteCircular.Tables[2].Rows.Count > 0) { dtReporteCircular = dsReporteCircular.Tables[2]; dtReporteCircularRes = dtReporteCircular.Clone(); //AGREGA DATOS NACIONAL if (dtReporteCircular.AsEnumerable().Where(n => n["Alcance"].ToString().ToUpper().Trim() == alcancePrimario.ToUpper().Trim()).ToList().Count > 0) { dtReporteCircularRes.Merge(dtReporteCircular.AsEnumerable().Where(n => n["Alcance"].ToString().ToUpper().Trim() == alcancePrimario.ToUpper().Trim()).CopyToDataTable()); } //AGREGA DATOS DIFERENTE DE NACIONAL if (!esAlcancePrimario && dtReporteCircular.AsEnumerable().Where(n => n["Alcance"].ToString().ToUpper().Trim() == alcance.ToUpper().Trim()).ToList().Count > 0) { dtReporteCircularRes.Merge(dtReporteCircular.AsEnumerable().Where(n => n["Alcance"].ToString().ToUpper().Trim() == alcance.ToUpper().Trim()).CopyToDataTable()); } nombreHojaCircular = "DESCUENTO"; excel.Workbook.Worksheets.Add(nombreHojaCircular); var worksheetCircular = excel.Workbook.Worksheets[nombreHojaCircular]; worksheetCircular.SetValue("A1", "Padre"); worksheetCircular.Cells["A1:B1"].Merge = true; worksheetCircular.SetValue("C1", "Alcance"); worksheetCircular.Cells["A1:C1"].Style.Font.Color.SetColor(1, 38, 130, 221); worksheetCircular.Cells["A1:C1"].Style.Font.Bold = true; worksheetCircular.Cells["A1:C1"].Style.Font.Size = 14; worksheetCircular.Cells["A1:C1"].Style.HorizontalAlignment = ExcelHorizontalAlignment.Center; worksheetCircular.Cells["A2:" + Char.ConvertFromUtf32(dtReporteCircularRes.Columns.Count + 64) + "2"].LoadFromDataTable(dtReporteCircularRes, true, OfficeOpenXml.Table.TableStyles.Light2); worksheetCircular.Cells["A2:" + Char.ConvertFromUtf32(dtReporteCircularRes.Columns.Count + 64) + "2"].Style.Fill.PatternType = ExcelFillStyle.Solid; worksheetCircular.Cells["A2:" + Char.ConvertFromUtf32(dtReporteCircularRes.Columns.Count + 64) + "2"].Style.Fill.BackgroundColor.SetColor(1, 38, 130, 221); worksheetCircular.Cells["A2:" + Char.ConvertFromUtf32(dtReporteCircularRes.Columns.Count + 64) + "2"].Style.Font.Color.SetColor(Color.White); } esAlcancePrimario = false; //IDENTIFICA SI ES NACIONAL if (alcance.ToUpper().Trim() == alcancePrimario) { esAlcancePrimario = true; } dtReporteCircular = new DataTable(); dtReporteCircularRes = new DataTable(); //VOLUMEN if (dsReporteCircular.Tables.Count > 3 && dsReporteCircular.Tables[3].Rows.Count > 0) { dtReporteCircular = dsReporteCircular.Tables[3]; dtReporteCircularRes = dtReporteCircular.Clone(); //AGREGA DATOS NACIONAL if (dtReporteCircular.AsEnumerable().Where(n => n["Alcance"].ToString().ToUpper().Trim() == alcancePrimario.ToUpper().Trim()).ToList().Count > 0) { dtReporteCircularRes.Merge(dtReporteCircular.AsEnumerable().Where(n => n["Alcance"].ToString().ToUpper().Trim() == alcancePrimario.ToUpper().Trim()).CopyToDataTable()); } //AGREGA DATOS DIFERENTE DE NACIONAL if (!esAlcancePrimario && dtReporteCircular.AsEnumerable().Where(n => n["Alcance"].ToString().ToUpper().Trim() == alcance.ToUpper().Trim()).ToList().Count > 0) { dtReporteCircularRes.Merge(dtReporteCircular.AsEnumerable().Where(n => n["Alcance"].ToString().ToUpper().Trim() == alcance.ToUpper().Trim()).CopyToDataTable()); } nombreHojaCircular = "VOLUMEN"; excel.Workbook.Worksheets.Add(nombreHojaCircular); var worksheetCircular = excel.Workbook.Worksheets[nombreHojaCircular]; worksheetCircular.SetValue("A1", "Padre"); worksheetCircular.Cells["A1:B1"].Merge = true; worksheetCircular.SetValue("C1", "De"); worksheetCircular.SetValue("D1", "Hasta"); worksheetCircular.SetValue("E1", "Descuento"); worksheetCircular.SetValue("F1", "Alcance"); worksheetCircular.Cells["A1:F1"].Style.Font.Color.SetColor(1, 38, 130, 221); worksheetCircular.Cells["A1:F1"].Style.Font.Bold = true; worksheetCircular.Cells["A1:F1"].Style.Font.Size = 14; worksheetCircular.Cells["A1:F1"].Style.HorizontalAlignment = ExcelHorizontalAlignment.Center; worksheetCircular.Cells["A2:" + Char.ConvertFromUtf32(dtReporteCircularRes.Columns.Count + 64) + "2"].LoadFromDataTable(dtReporteCircularRes, true, OfficeOpenXml.Table.TableStyles.Light2); worksheetCircular.Cells["A2:" + Char.ConvertFromUtf32(dtReporteCircularRes.Columns.Count + 64) + "2"].Style.Fill.PatternType = ExcelFillStyle.Solid; worksheetCircular.Cells["A2:" + Char.ConvertFromUtf32(dtReporteCircularRes.Columns.Count + 64) + "2"].Style.Fill.BackgroundColor.SetColor(1, 38, 130, 221); worksheetCircular.Cells["A2:" + Char.ConvertFromUtf32(dtReporteCircularRes.Columns.Count + 64) + "2"].Style.Font.Color.SetColor(Color.White); } esAlcancePrimario = false; //IDENTIFICA SI ES NACIONAL if (alcance.ToUpper().Trim() == alcancePrimario) { esAlcancePrimario = true; } dtReporteCircular = new DataTable(); dtReporteCircularRes = new DataTable(); //KIT if (dsReporteCircular.Tables.Count > 4 && dsReporteCircular.Tables[4].Rows.Count > 0) { dtReporteCircular = dsReporteCircular.Tables[4]; dtReporteCircularRes = dtReporteCircular.Clone(); //AGREGA DATOS NACIONAL if (dtReporteCircular.AsEnumerable().Where(n => n["Alcance"].ToString().ToUpper().Trim() == alcancePrimario.ToUpper().Trim()).ToList().Count > 0) { dtReporteCircularRes.Merge(dtReporteCircular.AsEnumerable().Where(n => n["Alcance"].ToString().ToUpper().Trim() == alcancePrimario.ToUpper().Trim()).CopyToDataTable()); } //AGREGA DATOS DIFERENTE DE NACIONAL if (!esAlcancePrimario && dtReporteCircular.AsEnumerable().Where(n => n["Alcance"].ToString().ToUpper().Trim() == alcance.ToUpper().Trim()).ToList().Count > 0) { dtReporteCircularRes.Merge(dtReporteCircular.AsEnumerable().Where(n => n["Alcance"].ToString().ToUpper().Trim() == alcance.ToUpper().Trim()).CopyToDataTable()); } nombreHojaCircular = "KIT"; excel.Workbook.Worksheets.Add(nombreHojaCircular); var worksheetCircular = excel.Workbook.Worksheets[nombreHojaCircular]; worksheetCircular.SetValue("A1", "Padre"); worksheetCircular.Cells["A1:B1"].Merge = true; worksheetCircular.SetValue("C1", "Hijo"); worksheetCircular.Cells["C1:D1"].Merge = true; worksheetCircular.SetValue("E1", "Descuento"); worksheetCircular.SetValue("F1", "Importe"); worksheetCircular.SetValue("G1", "Alcance"); worksheetCircular.Cells["A1:G1"].Style.Font.Color.SetColor(1, 38, 130, 221); worksheetCircular.Cells["A1:G1"].Style.Font.Bold = true; worksheetCircular.Cells["A1:G1"].Style.Font.Size = 14; worksheetCircular.Cells["A1:G1"].Style.HorizontalAlignment = ExcelHorizontalAlignment.Center; worksheetCircular.Cells["A2:" + Char.ConvertFromUtf32(dtReporteCircularRes.Columns.Count + 64) + "2"].LoadFromDataTable(dtReporteCircularRes, true, OfficeOpenXml.Table.TableStyles.Light2); worksheetCircular.Cells["A2:" + Char.ConvertFromUtf32(dtReporteCircularRes.Columns.Count + 64) + "2"].Style.Fill.PatternType = ExcelFillStyle.Solid; worksheetCircular.Cells["A2:" + Char.ConvertFromUtf32(dtReporteCircularRes.Columns.Count + 64) + "2"].Style.Fill.BackgroundColor.SetColor(1, 38, 130, 221); worksheetCircular.Cells["A2:" + Char.ConvertFromUtf32(dtReporteCircularRes.Columns.Count + 64) + "2"].Style.Font.Color.SetColor(Color.White); } esAlcancePrimario = false; //IDENTIFICA SI ES NACIONAL if (alcance.ToUpper().Trim() == alcancePrimario) { esAlcancePrimario = true; } dtReporteCircular = new DataTable(); dtReporteCircularRes = new DataTable(); //COMBO if (dsReporteCircular.Tables.Count > 5 && dsReporteCircular.Tables[5].Rows.Count > 0) { dtReporteCircular = dsReporteCircular.Tables[5]; dtReporteCircularRes = dtReporteCircular.Clone(); //AGREGA DATOS NACIONAL if (dtReporteCircular.AsEnumerable().Where(n => n["Alcance"].ToString().ToUpper().Trim() == alcancePrimario.ToUpper().Trim()).ToList().Count > 0) { dtReporteCircularRes.Merge(dtReporteCircular.AsEnumerable().Where(n => n["Alcance"].ToString().ToUpper().Trim() == alcancePrimario.ToUpper().Trim()).CopyToDataTable()); } //AGREGA DATOS DIFERENTE DE NACIONAL if (!esAlcancePrimario && dtReporteCircular.AsEnumerable().Where(n => n["Alcance"].ToString().ToUpper().Trim() == alcance.ToUpper().Trim()).ToList().Count > 0) { dtReporteCircularRes.Merge(dtReporteCircular.AsEnumerable().Where(n => n["Alcance"].ToString().ToUpper().Trim() == alcance.ToUpper().Trim()).CopyToDataTable()); } nombreHojaCircular = "COMBO"; excel.Workbook.Worksheets.Add(nombreHojaCircular); var worksheetCircular = excel.Workbook.Worksheets[nombreHojaCircular]; worksheetCircular.SetValue("A1", "Padre"); worksheetCircular.Cells["A1:B1"].Merge = true; worksheetCircular.SetValue("C1", "Madre"); worksheetCircular.Cells["C1:D1"].Merge = true; worksheetCircular.SetValue("E1", "Hijo"); worksheetCircular.Cells["E1:F1"].Merge = true; worksheetCircular.SetValue("G1", "Alcance"); worksheetCircular.Cells["A1:G1"].Style.Font.Color.SetColor(1, 38, 130, 221); worksheetCircular.Cells["A1:G1"].Style.Font.Bold = true; worksheetCircular.Cells["A1:G1"].Style.Font.Size = 14; worksheetCircular.Cells["A1:G1"].Style.HorizontalAlignment = ExcelHorizontalAlignment.Center; worksheetCircular.Cells["A2:" + Char.ConvertFromUtf32(dtReporteCircularRes.Columns.Count + 64) + "2"].LoadFromDataTable(dtReporteCircularRes, true, OfficeOpenXml.Table.TableStyles.Light2); worksheetCircular.Cells["A2:" + Char.ConvertFromUtf32(dtReporteCircularRes.Columns.Count + 64) + "2"].Style.Fill.PatternType = ExcelFillStyle.Solid; worksheetCircular.Cells["A2:" + Char.ConvertFromUtf32(dtReporteCircularRes.Columns.Count + 64) + "2"].Style.Fill.BackgroundColor.SetColor(1, 38, 130, 221); worksheetCircular.Cells["A2:" + Char.ConvertFromUtf32(dtReporteCircularRes.Columns.Count + 64) + "2"].Style.Font.Color.SetColor(Color.White); } FileInfo excelFile = new FileInfo(pathArchivoCompleto); excel.SaveAs(excelFile); } urlCompleto = Path.Combine(url, nombreReporteFinal + ".xlsx"); using (WebClient client = new WebClient()) { System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12; client.Credentials = new NetworkCredential(usuarioSharePoint, passwordSharePoint); client.UploadFile(urlCompleto, "PUT", pathArchivoCompleto); } } } #endregion } bitacoraENTRes.Mensaje = "OK"; } else { bitacoraENTRes.Mensaje = "ERROR: Ocurrio un problema inesperado, identifique si se guardo correctamente la informacion, o consulte al administrador de sistemas."; ArchivoLog.EscribirLog(null, "ERROR: Service - MostrarRentabilidad, Ocurrio un problema en el SP de Guardar Bitacora. "); } } catch (Exception ex) { bitacoraENTRes.Mensaje = "ERROR: " + ex.Message; ArchivoLog.EscribirLog(null, "ERROR: Service - MostrarRentabilidad, Source:" + ex.Source + ", Message:" + ex.Message); } return(bitacoraENTRes); }
public List <UsuarioLdap> GetUsuarioLdap(List <Parametro> ListParametro) { List <UsuarioLdap> ListUsurioLdapTemp = new List <UsuarioLdap>(); List <UsuarioLdap> ListUsurioLdap = new List <UsuarioLdap>(); string serverLdap = string.Empty; string directorioLdap = string.Empty; LdapDAT ldapDAT = new LdapDAT(); DataTable dtDirectorioLdap = new DataTable(); List <DirectorioActivo> ListDirectorioActivo = new List <DirectorioActivo>(); ParametroDAT parametroDAT = new ParametroDAT(); DataTable dtParametro = new DataTable(); Parametro parametro = new Parametro(); try { dtParametro = parametroDAT.GetParametro(0, null); ListParametro = dtParametro.AsEnumerable() .Select(n => new Parametro { Id = n.Field <int?>("Id").GetValueOrDefault(), Nombre = n.Field <string>("Nombre"), Valor = n.Field <string>("Valor") }).ToList(); parametro = ListParametro.Where(n => n.Nombre.ToUpper() == ConfigurationManager.AppSettings["ServerLdap"].ToUpper()).FirstOrDefault(); dtDirectorioLdap = ldapDAT.GetDirectorioLdap(0, null); ListDirectorioActivo = dtDirectorioLdap.AsEnumerable() .Select(n => new DirectorioActivo { Id = n.Field <int?>("Id").GetValueOrDefault(), Clave = n.Field <string>("Clave"), Descripcion = n.Field <string>("Descripcion"), Ldap = n.Field <string>("Ldap") }).ToList(); //DIRECTORIO LDAP serverLdap = parametro.Valor; foreach (DirectorioActivo directorio in ListDirectorioActivo) { //DIRECTORIO directorioLdap = directorio.Ldap; using (var context = new PrincipalContext(ContextType.Domain, serverLdap, directorioLdap)) { UserPrincipal userPrincipal = new UserPrincipal(context); using (var searcher = new PrincipalSearcher(userPrincipal)) { var ListUserPrincipal = searcher.FindAll().Cast <UserPrincipal>().ToList(); ListUsurioLdapTemp = ListUserPrincipal.Select(row => new UsuarioLdap { Email = row.EmailAddress != null ? row.EmailAddress.ToLower() : string.Empty, Nombre = row.Name, PPGID = row.SamAccountName }).ToList(); ListUsurioLdap.AddRange(ListUsurioLdapTemp); } } } } catch (Exception ex) { ArchivoLog.EscribirLog(null, "ERROR: Service - GetUsuarioLdap, Source:" + ex.Source + ", Message:" + ex.Message); throw ex; } return(ListUsurioLdap); }
private static void FlujoActividadesSharePoint() { ArchivoLog.EscribirLog(null, "Se inicia el proceso"); ParametroDAT parametroDAT = new ParametroDAT(); DataTable dtParametro = new DataTable(); List <Parametro> ListParametro = new List <Parametro>(); Parametro parametro = new Parametro(); //CARGAR INFORMACION BD DataTable dtActividades = new DataTable(); BDDAT Datos = new BDDAT(); string SiteUrl = string.Empty; string UsuarioSharePoint = string.Empty; string PasswordSharePoint = string.Empty; string ListaFlujoCronograma = string.Empty; string ClaveCampania = string.Empty; string NombreCampania = string.Empty; string MailResponsable = string.Empty; string MailResponsable2 = string.Empty; string FechaInicio = string.Empty; string FechaFin = string.Empty; string IDTarea = string.Empty; string TxtTarea = string.Empty; string TipoFlujo = string.Empty; string IdDependiente = string.Empty; string IdCampania = string.Empty; try { dtParametro = parametroDAT.GetParametro(0, null); ListParametro = dtParametro.AsEnumerable() .Select(n => new Parametro { Id = n.Field <int?>("Id").GetValueOrDefault(), Nombre = n.Field <string>("Nombre"), Valor = n.Field <string>("Valor") }).ToList(); ArchivoLog.EscribirLog(null, "Se obtienen variables de la base de datos"); //SiteURL parametro = ListParametro.Where(n => n.Nombre.ToUpper() == ConfigurationManager.AppSettings["SiteURL"].ToString().ToUpper()).FirstOrDefault(); if (parametro != null) { SiteUrl = parametro.Valor; } //UsuarioSharePoint parametro = ListParametro.Where(n => n.Nombre.ToUpper() == ConfigurationManager.AppSettings["UsuarioSharePoint"].ToString().ToUpper()).FirstOrDefault(); if (parametro != null) { UsuarioSharePoint = parametro.Valor; } //PasswordSharePoint parametro = ListParametro.Where(n => n.Nombre.ToUpper() == ConfigurationManager.AppSettings["PasswordSharePoint"].ToString().ToUpper()).FirstOrDefault(); if (parametro != null) { PasswordSharePoint = parametro.Valor; } //IdCampania parametro = ListParametro.Where(n => n.Nombre.ToUpper() == ConfigurationManager.AppSettings["IdCampania"].ToString().ToUpper()).FirstOrDefault(); if (parametro != null) { IdCampania = parametro.Valor; } //ClaveCampania parametro = ListParametro.Where(n => n.Nombre.ToUpper() == ConfigurationManager.AppSettings["ClaveCampania"].ToString().ToUpper()).FirstOrDefault(); if (parametro != null) { ClaveCampania = parametro.Valor; } //NombreCampania parametro = ListParametro.Where(n => n.Nombre.ToUpper() == ConfigurationManager.AppSettings["NombreCampania"].ToString().ToUpper()).FirstOrDefault(); if (parametro != null) { NombreCampania = parametro.Valor; } //ListaFlujoCronograma parametro = ListParametro.Where(n => n.Nombre.ToUpper() == ConfigurationManager.AppSettings["ListaFlujoCronograma"].ToString().ToUpper()).FirstOrDefault(); if (parametro != null) { ListaFlujoCronograma = parametro.Valor; } //MailResponsable parametro = ListParametro.Where(n => n.Nombre.ToUpper() == ConfigurationManager.AppSettings["MailResponsable"].ToString().ToUpper()).FirstOrDefault(); if (parametro != null) { MailResponsable = parametro.Valor; } //MailResponsable2 parametro = ListParametro.Where(n => n.Nombre.ToUpper() == ConfigurationManager.AppSettings["MailResponsable2"].ToString().ToUpper()).FirstOrDefault(); if (parametro != null) { MailResponsable2 = parametro.Valor; } //FechaInicio parametro = ListParametro.Where(n => n.Nombre.ToUpper() == ConfigurationManager.AppSettings["FechaInicio"].ToString().ToUpper()).FirstOrDefault(); if (parametro != null) { FechaInicio = parametro.Valor; } //FechaFin parametro = ListParametro.Where(n => n.Nombre.ToUpper() == ConfigurationManager.AppSettings["FechaFin"].ToString().ToUpper()).FirstOrDefault(); if (parametro != null) { FechaFin = parametro.Valor; } //IDTarea parametro = ListParametro.Where(n => n.Nombre.ToUpper() == ConfigurationManager.AppSettings["IDTarea"].ToString().ToUpper()).FirstOrDefault(); if (parametro != null) { IDTarea = parametro.Valor; } //TxtTarea parametro = ListParametro.Where(n => n.Nombre.ToUpper() == ConfigurationManager.AppSettings["TxtTarea"].ToString().ToUpper()).FirstOrDefault(); if (parametro != null) { TxtTarea = parametro.Valor; } //TipoFlujo parametro = ListParametro.Where(n => n.Nombre.ToUpper() == ConfigurationManager.AppSettings["TipoFlujo"].ToString().ToUpper()).FirstOrDefault(); if (parametro != null) { TipoFlujo = parametro.Valor; } //IdDependiente parametro = ListParametro.Where(n => n.Nombre.ToUpper() == ConfigurationManager.AppSettings["IdDependiente"].ToString().ToUpper()).FirstOrDefault(); if (parametro != null) { IdDependiente = parametro.Valor; } ArchivoLog.EscribirLog(null, "Se cargan variables del archivo config"); //ACTIVIDADES TOTALES DE CRONOGRAMA dtActividades = Datos.GetFlujoActividad(); List <FlujoActividad> ListFlujoActividad = new List <FlujoActividad>(); ListFlujoActividad = dtActividades.AsEnumerable() .Select(n => new FlujoActividad { IdCampania = n.Field <int?>("Id_Campaña").GetValueOrDefault(), ClaveCampania = n.Field <string>("Camp_Number"), NombreCampania = n.Field <string>("Nombre_Camp"), MailResponsable = n.Field <string>("Correo"), MailResponsable2 = n.Field <string>("Correo_2"), IDTarea = n.Field <int?>("Id_Tarea").GetValueOrDefault(), TxtTarea = n.Field <string>("Actividad"), FechaInicio = n.Field <DateTime?>("FechaInicio").GetValueOrDefault(), FechaFin = n.Field <DateTime?>("FechaFin").GetValueOrDefault(), TipoFlujo = n.Field <int?>("IdTipoFlujo").GetValueOrDefault(), IdDependiente = n.Field <string>("Predecesor") }).ToList(); ArchivoLog.EscribirLog(null, "Se obtuvo informacion de actividades"); if (ListFlujoActividad.Count > 0) { //CARGAR LISTA DE SHAREPOINT ClientContext clientContext = new ClientContext(SiteUrl); clientContext.Credentials = new NetworkCredential(UsuarioSharePoint, PasswordSharePoint); ArchivoLog.EscribirLog(null, "Se cargo Correctamente el sitio Share Point"); SP.Web myWeb = clientContext.Web; List myListFlujoCronograma = myWeb.Lists.GetByTitle(ListaFlujoCronograma); ArchivoLog.EscribirLog(null, "Se cargo Correctamente la Lista"); foreach (FlujoActividad actividad in ListFlujoActividad) { try { ListItem item = myListFlujoCronograma.AddItem(new ListItemCreationInformation()); item[ClaveCampania] = actividad.ClaveCampania; item[NombreCampania] = actividad.NombreCampania; item[MailResponsable] = actividad.MailResponsable; item[MailResponsable2] = actividad.MailResponsable2; item[FechaInicio] = actividad.FechaInicio; item[FechaFin] = actividad.FechaFin; item[IDTarea] = actividad.IDTarea; item[TxtTarea] = actividad.TxtTarea; item[TipoFlujo] = actividad.TipoFlujo; item[IdDependiente] = actividad.IdDependiente; item[IdCampania] = actividad.IdCampania; item.Update(); Datos.UpdateFlujoActividad(actividad.IdCampania, actividad.IDTarea); } catch (Exception ex) { ArchivoLog.EscribirLog(null, "ERROR: No se agrego el registro de la actividad, Source: " + ex.Source + ", Message: " + ex.Message); } } clientContext.ExecuteQuery(); ArchivoLog.EscribirLog(null, "Se actualiza la informacion en la lista"); } } catch (Exception ex) { ArchivoLog.EscribirLog(null, "ERROR: Source: " + ex.Source + ", Message: " + ex.Message); } }