public static List <ObjCartolaYVouchers> ConvertirAObjetoCartola(HttpPostedFileBase file) { List <ObjCartolaYVouchers> ReturnValues = new List <ObjCartolaYVouchers>(); SLDocument Excel = new SLDocument(file.InputStream); DateTime?FechaDt = null; DateTime?FechaStr = null; int row = 2; while (!string.IsNullOrEmpty(Excel.GetCellValueAsString(row, 1))) { string Fecha = Excel.GetCellValueAsString(row, 1); DateTime fechadt = Excel.GetCellValueAsDateTime(row, 1, "dd/MM/yyyy"); int Docum = Excel.GetCellValueAsInt32(row, 2); string Detalle = Excel.GetCellValueAsString(row, 3); decimal Debe = Excel.GetCellValueAsDecimal(row, 4); decimal Haber = Excel.GetCellValueAsDecimal(row, 5); decimal Saldo = Excel.GetCellValueAsDecimal(row, 6); string CodigoInterno = Excel.GetCellValueAsString(row, 7); string Rut = Excel.GetCellValueAsString(row, 8); string Glosa = Excel.GetCellValueAsString(row, 9); int TipoDteNumber = Excel.GetCellValueAsInt32(row, 10); if (!Fecha.Contains("-")) { if (fechadt != null) { FechaDt = fechadt; //revisar el que el parseo de la fecha se haga correctamente } } else { FechaStr = ParseExtensions.CreaFechaLiteral(Fecha); } //hacer testeo de lo que pasa cuando se ingresa un numero que no pertenece a un dte TipoDte tipoDte = (TipoDte)TipoDteNumber; //Revisar una manera de validar que efectivamente se haya hecho el casteo ya que es requisito que el numero ingresado sea el del condigo del servicio de impuestos internos ObjCartolaYVouchers FilaAGuardar = new ObjCartolaYVouchers() { Fecha = FechaStr != null ? FechaStr.Value : FechaDt.Value, Docum = Docum, Detalle = Detalle, Debe = Debe, Haber = Haber, Saldo = Saldo, CodigoInterno = CodigoInterno, Rut = Rut, Glosa = Glosa, TipoDteNumVoucher = tipoDte }; ReturnValues.Add(FilaAGuardar); row++; } return(ReturnValues); }
public static List <BoletasExcelModel> DeExcelAObjetoBoleta(HttpPostedFileBase File) { var ReturnValues = new List <BoletasExcelModel>(); SLDocument Excel = new SLDocument(File.InputStream); int row = 2; while (!string.IsNullOrEmpty(Excel.GetCellValueAsString(row, 1))) { string CuentaAuxiliar = Excel.GetCellValueAsString(row, 1); string Rut = Excel.GetCellValueAsString(row, 2); string RazonSocial = Excel.GetCellValueAsString(row, 3); DateTime Fecha = Excel.GetCellValueAsDateTime(row, 4); int NumeroDeDocumento = Excel.GetCellValueAsInt32(row, 5); TipoDte TipoDocumento = (TipoDte)Excel.GetCellValueAsInt32(row, 6); DateTime FechaVencimiento = Excel.GetCellValueAsDateTime(row, 7); string CuentaContable = Excel.GetCellValueAsString(row, 8); decimal Neto = Excel.GetCellValueAsDecimal(row, 9); decimal Iva = Excel.GetCellValueAsDecimal(row, 10); int CentroDeCostos = Excel.GetCellValueAsInt32(row, 11); int MesPeriodoTributario = Excel.GetCellValueAsInt32(row, 12); int AnioPeriodoTributario = Excel.GetCellValueAsInt32(row, 13); int NumeroFinalBoleta = Excel.GetCellValueAsInt32(row, 14); BoletasExcelModel ObjBoleta = new BoletasExcelModel() { CuentaAuxiliar = CuentaAuxiliar, Rut = Rut, RazonSocial = RazonSocial, Fecha = Fecha, NumeroDeDocumento = NumeroDeDocumento, TipoDocumento = TipoDocumento, FechaVencimiento = FechaVencimiento, CuentaContable = CuentaContable, Neto = Neto, Iva = Iva, CentroDeCostos = CentroDeCostos, MesPeriodoTributario = MesPeriodoTributario, AnioPeriodoTributario = AnioPeriodoTributario, NumeroFinalBoleta = NumeroFinalBoleta }; row++; ReturnValues.Add(ObjBoleta); } return(ReturnValues); }
public static string VerificaRepetidosEnExcelImportSIICoV(List <string[]> CsvSII, ClientesContablesModel objCliente, FacturaPoliContext db) { TipoCentralizacion tipoCentralizacion = TipoCentralizacion.Ninguno; long folio = 0; TipoDte tipoDte = 0; var IdentificadorRepetidos = new List <string>(); string ReturnValues = ""; foreach (string[] strFilaCSV in CsvSII) { if (CsvSII.First() == strFilaCSV) { if (strFilaCSV[2] == "Tipo Compra") { tipoCentralizacion = TipoCentralizacion.Compra; } else if (strFilaCSV[2] == "Tipo Venta") { tipoCentralizacion = TipoCentralizacion.Venta; } else { return(null); } continue; } tipoDte = (TipoDte)ParseExtensions.ParseInt(strFilaCSV[1]); string RutPrestador = strFilaCSV[3]; folio = long.Parse(strFilaCSV[5]); var SinRepetidos = db.DBLibrosContables.Where(x => x.ClientesContablesModelID == objCliente.ClientesContablesModelID && x.Folio == folio && x.TipoDocumento == tipoDte && x.individuo.RUT == RutPrestador && x.HaSidoConvertidoAVoucher == true && x.TipoLibro == tipoCentralizacion) .Select(x => new { x.Folio, x.VoucherModelID }) .Distinct() .ToList(); if (SinRepetidos != null) { foreach (var itemRepetido in SinRepetidos) { var VoucherEncontrado = db.DBVoucher.Where(x => x.VoucherModelID == itemRepetido.VoucherModelID).Select(x => new { x.DadoDeBaja, x.Tipo }).FirstOrDefault(); if (VoucherEncontrado.DadoDeBaja == false && VoucherEncontrado.Tipo == TipoVoucher.Traspaso) { IdentificadorRepetidos.Add(itemRepetido.Folio.ToString()); } } } } if (IdentificadorRepetidos.Any()) { ReturnValues = string.Join(",", IdentificadorRepetidos); } return(ReturnValues); }