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);
    }
Пример #2
0
        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);
        }
Пример #3
0
    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);
    }