public List <PRESUPUESTOP> cargarPresupuestoCPT(HttpPostedFileBase file, string[] sociedad, string[] periodo, string[] anio, ref string mensaje, string idioma, int pagina) { TAT001Entities db = new TAT001Entities(); List <PRESUPUESTOP> pRESUPUESTOPS = new List <PRESUPUESTOP>(); PRESUPUESTOP pRESUPUESTOP = new PRESUPUESTOP(); List <string[]> datosPresu = new List <string[]>(); StreamReader strem = new StreamReader(file.InputStream); string[] lines; bool prilinea = true, primero = true; string material = ""; int i = 1, ide = 0; List <REGION> sociedades = db.REGIONs.Where(x => sociedad.Contains(x.SOCIEDAD)).ToList(); try { while (strem.Peek() > -1) { if (prilinea) { prilinea = false; lines = strem.ReadLine().Insert(4, ",").Replace("\"", "").Split(','); } else { lines = strem.ReadLine().Insert(4, ",").Replace("\"", "").Split(','); if (primero) { material = lines[5].Trim(); pRESUPUESTOP.ANIO = lines[1].Trim(); pRESUPUESTOP.POS = i; pRESUPUESTOP.MES = mes(lines[0].Trim()); pRESUPUESTOP.VERSION = lines[2].Trim(); if (lines[3].Length == 12) { pRESUPUESTOP.PAIS = lines[3].Substring(0, 6).Trim(); pRESUPUESTOP.REGION = lines[3].Substring(6, 6).Trim(); } else { pRESUPUESTOP.REGION = lines[3].Substring(0, 6).Trim(); } pRESUPUESTOP.MONEDA = lines[4].Trim(); pRESUPUESTOP.MATERIAL = lines[5].Trim(); pRESUPUESTOP.BANNER = lines[6].Trim(); primero = false; } if (material != lines[5]) { material = lines[5].Trim(); if (filtrocarga(pRESUPUESTOP.REGION, pRESUPUESTOP.ANIO, pRESUPUESTOP.MES, sociedades, periodo, anio, true)) { pRESUPUESTOPS.Add(new PRESUPUESTOP { ID = pRESUPUESTOP.ID, ANIO = pRESUPUESTOP.ANIO, POS = pRESUPUESTOP.POS, MES = pRESUPUESTOP.MES, VERSION = pRESUPUESTOP.VERSION, PAIS = pRESUPUESTOP.PAIS, REGION = pRESUPUESTOP.REGION, MONEDA = pRESUPUESTOP.MONEDA, MATERIAL = pRESUPUESTOP.MATERIAL, BANNER = pRESUPUESTOP.BANNER.PadLeft(10, '0'), NETLB = pRESUPUESTOP.NETLB, TOTCS = pRESUPUESTOP.TOTCS, ADVER = pRESUPUESTOP.ADVER, DIRLB = pRESUPUESTOP.DIRLB, OVHDF = pRESUPUESTOP.OVHDF, OVHDV = pRESUPUESTOP.OVHDV, PKGMT = pRESUPUESTOP.PKGMT, RAWMT = pRESUPUESTOP.RAWMT, CONPR = pRESUPUESTOP.CONPR, POP = pRESUPUESTOP.POP, DSTRB = pRESUPUESTOP.DSTRB, GRSLS = pRESUPUESTOP.GRSLS, CSHDC = pRESUPUESTOP.CSHDC, FREEG = pRESUPUESTOP.FREEG, PMVAR = pRESUPUESTOP.PMVAR, PURCH = pRESUPUESTOP.PURCH, RECUN = pRESUPUESTOP.RECUN, RSRDV = pRESUPUESTOP.RSRDV, VVX17 = pRESUPUESTOP.VVX17, OTHTA = pRESUPUESTOP.OTHTA, CORPM = pRESUPUESTOP.CORPM, SPA = pRESUPUESTOP.SPA }); } pRESUPUESTOP = new PRESUPUESTOP(); i++; pRESUPUESTOP.ANIO = lines[1].Trim(); pRESUPUESTOP.POS = i; pRESUPUESTOP.MES = mes(lines[0].Trim()); pRESUPUESTOP.VERSION = lines[2].Trim(); if (lines[3].Length == 12) { pRESUPUESTOP.PAIS = lines[3].Substring(0, 6).Trim(); pRESUPUESTOP.REGION = lines[3].Substring(6, 6).Trim(); } else { pRESUPUESTOP.REGION = lines[3].Substring(0, 6).Trim(); } pRESUPUESTOP.MONEDA = lines[4].Trim(); pRESUPUESTOP.MATERIAL = lines[5].Trim(); pRESUPUESTOP.BANNER = lines[6].Trim(); decide(lines[7].Trim(), ref pRESUPUESTOP, Convert.ToDouble(lines[8].Trim())); } else { decide(lines[7].Trim(), ref pRESUPUESTOP, Convert.ToDouble(lines[8].Trim())); } } } if (filtrocarga(pRESUPUESTOP.REGION, pRESUPUESTOP.ANIO, pRESUPUESTOP.MES, sociedades, periodo, anio, true)) { pRESUPUESTOPS.Add(new PRESUPUESTOP { ID = pRESUPUESTOP.ID, ANIO = pRESUPUESTOP.ANIO, POS = pRESUPUESTOP.POS, MES = pRESUPUESTOP.MES, VERSION = pRESUPUESTOP.VERSION, PAIS = pRESUPUESTOP.PAIS, REGION = pRESUPUESTOP.REGION, MONEDA = pRESUPUESTOP.MONEDA, MATERIAL = pRESUPUESTOP.MATERIAL, BANNER = pRESUPUESTOP.BANNER.PadLeft(10, '0'), NETLB = pRESUPUESTOP.NETLB, TOTCS = pRESUPUESTOP.TOTCS, ADVER = pRESUPUESTOP.ADVER, DIRLB = pRESUPUESTOP.DIRLB, OVHDF = pRESUPUESTOP.OVHDF, OVHDV = pRESUPUESTOP.OVHDV, PKGMT = pRESUPUESTOP.PKGMT, RAWMT = pRESUPUESTOP.RAWMT, CONPR = pRESUPUESTOP.CONPR, POP = pRESUPUESTOP.POP, DSTRB = pRESUPUESTOP.DSTRB, GRSLS = pRESUPUESTOP.GRSLS, CSHDC = pRESUPUESTOP.CSHDC, FREEG = pRESUPUESTOP.FREEG, PMVAR = pRESUPUESTOP.PMVAR, PURCH = pRESUPUESTOP.PURCH, RECUN = pRESUPUESTOP.RECUN, RSRDV = pRESUPUESTOP.RSRDV, VVX17 = pRESUPUESTOP.VVX17, OTHTA = pRESUPUESTOP.OTHTA, CORPM = pRESUPUESTOP.CORPM, SPA = pRESUPUESTOP.SPA }); } pRESUPUESTOP = new PRESUPUESTOP(); if (pRESUPUESTOPS.Count == 0) { mensaje = mensajes(5, idioma, pagina);//"No se encontraron datos en el archivo CPT de acuerdo al filtro de datos"; } } catch (Exception e) { mensaje = mensajes(7, idioma, pagina);//"Formato de archivo para carga CPT incorrecto"; } return(pRESUPUESTOPS); }
private void decide(string concepto, ref PRESUPUESTOP presu, double data) { switch (concepto) { case "NETLB": if (presu.NETLB == null) { presu.NETLB = data; } else { presu.NETLB += data; } break; case "TOTCS": if (presu.TOTCS == null) { presu.TOTCS = data; } else { presu.TOTCS += data; } break; case "ADVER": if (presu.ADVER == null) { presu.ADVER = data; } else { presu.ADVER += data; } break; case "DIRLB": if (presu.DIRLB == null) { presu.DIRLB = data; } else { presu.DIRLB += data; } break; case "OVHDF": if (presu.OVHDF == null) { presu.OVHDF = data; } else { presu.OVHDF += data; } break; case "OVHDV": if (presu.OVHDV == null) { presu.OVHDV = data; } else { presu.OVHDV += data; } break; case "PKGMT": if (presu.PKGMT == null) { presu.PKGMT = data; } else { presu.PKGMT += data; } break; case "RAWMT": if (presu.RAWMT == null) { presu.RAWMT = data; } else { presu.RAWMT += data; } break; case "CONPR": if (presu.CONPR == null) { presu.CONPR = data; } else { presu.CONPR += data; } break; case "POP": if (presu.POP == null) { presu.POP = data; } else { presu.POP += data; } break; case "DSTRB": if (presu.DSTRB == null) { presu.DSTRB = data; } else { presu.DSTRB += data; } break; case "GRSLS": if (presu.GRSLS == null) { presu.GRSLS = data; } else { presu.GRSLS += data; } break; case "CSHDC": if (presu.CSHDC == null) { presu.CSHDC = data; } else { presu.CSHDC += data; } break; case "FREEG": if (presu.FREEG == null) { presu.FREEG = data; } else { presu.FREEG += data; } break; case "PMVAR": if (presu.PMVAR == null) { presu.PMVAR = data; } else { presu.PMVAR += data; } break; case "PURCH": if (presu.PURCH == null) { presu.PURCH = data; } else { presu.PURCH += data; } break; case "RECUN": if (presu.RECUN == null) { presu.RECUN = data; } else { presu.RECUN += data; } break; case "RSRDV": if (presu.RSRDV == null) { presu.RSRDV = data; } else { presu.RSRDV += data; } break; case "VVX17": if (presu.VVX17 == null) { presu.VVX17 = data; } else { presu.VVX17 += data; } break; case "OTHTA": if (presu.OTHTA == null) { presu.OTHTA = data; } else { presu.OTHTA += data; } break; case "CORPM": if (presu.CORPM == null) { presu.CORPM = data; } else { presu.CORPM += data; } break; case "SPA": if (presu.SPA == null) { presu.SPA = data; } else { presu.SPA += data; } break; default: break; } }
private void decide(string concepto, ref PRESUPUESTOP presu, double data) { switch (concepto) { case "NETLB": presu.NETLB = data; break; case "TOTCS": presu.TOTCS = data; break; case "ADVER": presu.ADVER = data; break; case "DIRLB": presu.DIRLB = data; break; case "OVHDF": presu.OVHDF = data; break; case "OVHDV": presu.OVHDV = data; break; case "PKGMT": presu.PKGMT = data; break; case "RAWMT": presu.RAWMT = data; break; case "CONPR": presu.CONPR = data; break; case "POP": presu.POP = data; break; case "DSTRB": presu.DSTRB = data; break; case "GRSLS": presu.GRSLS = data; break; case "CSHDC": presu.CSHDC = data; break; case "FREEG": presu.FREEG = data; break; case "PMVAR": presu.PMVAR = data; break; case "PURCH": presu.PURCH = data; break; case "RECUN": presu.RECUN = data; break; case "RSRDV": presu.RSRDV = data; break; case "VVX17": presu.VVX17 = data; break; case "OTHTA": presu.OTHTA = data; break; case "CORPM": presu.CORPM = data; break; case "SPA": presu.SPA = data; break; default: break; } }