Exemple #1
0
        public async Task <bool> RegistrarFila(FilasTracking fila)
        {
            try
            {
                //var CustomerGroup = RegistrarCustomerGroup(fila.CLIENTEGRUPO, fila.IdClienteGrupo);
                //var Consignee = RegistrarConsignee(fila.CONSIGNEE, fila.IdConsignatario, CustomerGroup.IdCustomerGroup);
                //var Notify = RegistrarNotificador(fila.Notificar, fila.IdNotify, Consignee.IdConsignee);
                //var Naviera = RegistraNaviera(fila.NAVIERA);
                //var Cliente = RegistraCliente(fila.CLIENTE, fila.IdCliente);
                //var PaisDescarga = RegistrarPaisDescarga(fila.PAISDESCARGA);
                //var PuertoDescarga = RegistrarPuertoDescarga(fila.PUERTODESCARGA, PaisDescarga.IdCountry);
                //var DestinoFinal = RegistrarPaisDescarga(fila.DESTINOFINAL);
                //var Vessel = RegistrarVapor(fila.VAPOR);
                //var PaisEmbarque = RegistrarPaisDescarga("ECUADOR");
                //var PuertoEmbarque = RegistrarPuertoDescarga(fila.PUERTODESCARGA, PaisEmbarque.IdCountry);
                //var TipoCarga = RegistrarTipoCarga(fila.TIPOCARGA);
                //var TerminosVenta = RegistrarTerminosVenta(fila.INCOTERM);
                //var Marca = RegistrarMarca(fila.MARCA);
                //var TipoCaja = RegistrarTipoCaja(fila.TIPOCAJA_1);
                //var Exportador = RegistrarExportador("FDL");
                //var CiaFacturar = RegistrarCIAFacturar("FRUTADELI S.A.");

                int semana = 0;
                int anio   = 0;
                int mes    = 0;

                //string sanio = fila.SEMANADECLARADA.Substring(0, 4);
                //string ssemana = fila.SEMANADECLARADA.Substring(4, 2);
                //int.TryParse(sanio, out anio);
                //int.TryParse(fila.SEMANADECLARADA, out mes);
                //int.TryParse(ssemana, out semana);

                bool op = false;

                if (fila.DAE != "" && fila.NO_BL != "")
                {
                    op = await RegistrarOrdenVenta(anio, mes, semana, CustomerGroup, Consignee, Notify, Naviera, Cliente, PaisDescarga, PuertoDescarga,
                                                   DestinoFinal, Vessel, PaisEmbarque, PuertoEmbarque, TerminosVenta, TipoCarga, Marca, TipoCaja, Exportador, CiaFacturar,
                                                   fila);
                }


                return(op);
            }
            catch (Exception e)
            {
                throw;
            }
            return(false);
        }
Exemple #2
0
        public async Task <List <ItemFilaArchivoViewModel> > RegistrarAsync(HttpPostedFileBase upload)
        {
            List <ItemFilaArchivoViewModel> Lista = new List <ItemFilaArchivoViewModel>();

            if (upload != null && upload.ContentLength > 0)
            {
                try
                {
                    // ExcelDataReader works with the binary Excel file, so it needs a FileStream
                    // to get started. This is how we avoid dependencies on ACE or Interop:
                    Stream stream = upload.InputStream;

                    // We return the interface, so that
                    IExcelDataReader reader = null;

                    if (upload.FileName.EndsWith(".xls"))
                    {
                        reader = ExcelReaderFactory.CreateBinaryReader(stream);
                    }
                    else if (upload.FileName.EndsWith(".xlsx"))
                    {
                        reader = ExcelReaderFactory.CreateOpenXmlReader(stream);
                    }
                    else
                    {
                        //ModelState.AddModelError("File", "This file format is not supported");
                        return(Lista);;
                    }

                    DataSet result = reader.AsDataSet(new ExcelDataSetConfiguration()
                    {
                        ConfigureDataTable = (_) => new ExcelDataTableConfiguration()
                        {
                            UseHeaderRow = true
                        }
                    });
                    if (result != null && result.Tables[0].Rows.Count > 0)
                    {
                        using (DbContextTransaction transaction = _context.Database.BeginTransaction())
                        {
                            try
                            {
                                ArchivoTracking cabecera = new ArchivoTracking();

                                cabecera.FechaCarga      = DateTime.Now;
                                cabecera.UsuarioCarga    = "SYSTEM";
                                cabecera.Activo          = true;
                                cabecera.FechaCreacion   = DateTime.Now;
                                cabecera.UsuarioCreacion = "SYSTEM";

                                _context.ArchivoTrackings.Add(cabecera);
                                _context.SaveChanges();

                                int NumeroFila = 2;
                                foreach (var item in result.Tables[0].Rows)
                                {
                                    if ((((System.Data.DataRow)item).ItemArray[0] != null) && (((System.Data.DataRow)item).ItemArray[0].ToString() != ""))
                                    {
                                        FilasTracking fila = new FilasTracking();


                                        ItemFilaArchivoViewModel itemFila = new ItemFilaArchivoViewModel();

                                        itemFila.NumFila = NumeroFila;

                                        //int cajasP = 0;
                                        //int cjasOrg = 0;
                                        //int NUM_CTNRSPLAN = 0;
                                        //int.TryParse(((System.Data.DataRow)item).ItemArray[2].ToString(), out cajasP);
                                        //int.TryParse(((System.Data.DataRow)item).ItemArray[3].ToString(), out cjasOrg);
                                        //int.TryParse(((System.Data.DataRow)item).ItemArray[4].ToString(), out NUM_CTNRSPLAN);

                                        fila.IdArchivo           = cabecera.IdArchivoTracking;
                                        fila.YEAR                = int.Parse(((System.Data.DataRow)item).ItemArray[0].ToString());
                                        fila.WEEK                = int.Parse(((System.Data.DataRow)item).ItemArray[1].ToString());
                                        fila.EXPORTED_BY         = ((System.Data.DataRow)item).ItemArray[2].ToString();
                                        fila.CONTRACT_TERMS      = ((System.Data.DataRow)item).ItemArray[3].ToString();
                                        fila.INCOTERM            = ((System.Data.DataRow)item).ItemArray[4].ToString();
                                        fila.CLIENTE_FACTURA_SRI = ((System.Data.DataRow)item).ItemArray[5].ToString();
                                        fila.CLIENTE_GRUPO       = ((System.Data.DataRow)item).ItemArray[6].ToString();
                                        fila.CONSIGNEE           = ((System.Data.DataRow)item).ItemArray[7].ToString();
                                        fila.NOTIFY              = ((System.Data.DataRow)item).ItemArray[8].ToString();
                                        fila.PAIS_DESCARGA       = ((System.Data.DataRow)item).ItemArray[9].ToString();
                                        fila.PUERTO_DESCARGA     = ((System.Data.DataRow)item).ItemArray[10].ToString();
                                        fila.DESTINO_FINAL       = ((System.Data.DataRow)item).ItemArray[11].ToString();
                                        fila.VAPOR               = ((System.Data.DataRow)item).ItemArray[12].ToString();
                                        fila.LINEA_NAVIERA       = ((System.Data.DataRow)item).ItemArray[14].ToString();
                                        fila.DAE              = ((System.Data.DataRow)item).ItemArray[15].ToString();
                                        fila.NO_BL            = ((System.Data.DataRow)item).ItemArray[16].ToString();
                                        fila.TIPO_CAJA        = ((System.Data.DataRow)item).ItemArray[17].ToString();
                                        fila.TIPO_CARGA       = ((System.Data.DataRow)item).ItemArray[18].ToString();
                                        fila.TIPO_CONTENEDOR  = ((System.Data.DataRow)item).ItemArray[19].ToString();
                                        fila.MARCA            = ((System.Data.DataRow)item).ItemArray[20].ToString();
                                        fila.CNTRS            = int.Parse(((System.Data.DataRow)item).ItemArray[21].ToString());
                                        fila.BOXES            = int.Parse(((System.Data.DataRow)item).ItemArray[22].ToString());
                                        fila.TOTAL_PESO_BRUTO = decimal.Parse(((System.Data.DataRow)item).ItemArray[23].ToString());
                                        fila.TOTAL_PESO_NETO  = decimal.Parse(((System.Data.DataRow)item).ItemArray[24].ToString());


                                        //if (((System.Data.DataRow)item).ItemArray[26] != null && (((System.Data.DataRow)item).ItemArray[26].ToString().Trim() != ""))
                                        //{
                                        //    DateTime FECHAHORACUTOFF;
                                        //    DateTime.TryParse(((System.Data.DataRow)item).ItemArray[26].ToString(), out FECHAHORACUTOFF);
                                        //    fila.FECHAHORACUTOFF = FECHAHORACUTOFF;
                                        //}
                                        _context.FilasTrackings.Add(fila);

                                        _context.SaveChanges();

                                        var op = false;
                                        op = await RegistrarFila(fila);

                                        if (op == true)
                                        {
                                            itemFila.Detalle = "Registrada Correctamente";
                                            Lista.Add(itemFila);
                                            NumeroFila = NumeroFila + 1;
                                        }
                                        else
                                        {
                                            itemFila.Detalle = "Error al registrar Fila";
                                            Lista.Add(itemFila);
                                            NumeroFila = NumeroFila + 1;
                                        }
                                    }
                                }
                                transaction.Commit();
                                return(Lista);
                            }
                            catch (Exception e)
                            {
                                transaction.Rollback();
                                throw;
                                // return false;
                            }
                        }
                    }
                }
                catch (Exception e)
                {
                    throw;
                }
            }
            return(Lista);
        }