示例#1
0
        public async Task AgregarSKUSFromMO()
        {
            await Task.Run(() =>
            {
                DB_A3F19C_producccionEntities3 dbMAster = new DB_A3F19C_producccionEntities3();

                DB_A3F19C_producccionEntities dbSKUS = new DB_A3F19C_producccionEntities();

                List <skus> listaSkus = new List <skus>();

                var skusmo = dbMAster.wh_LineasMO.GroupBy(x => x.Item).Select(x => x.Key).ToList();

                foreach (var item in skusmo)
                {
                    var sku = dbSKUS.skus.Where(x => x.codigobarras.Equals(item)).FirstOrDefault();

                    if (sku == null)
                    {
                        skus skus         = new skus();
                        skus.SKU          = item;
                        skus.codigobarras = item;
                        skus.uom_id       = 1;
                        listaSkus.Add(skus);
                    }
                }

                dbSKUS.skus.AddRange(listaSkus);
                dbSKUS.SaveChangesAsync();
            });
        }
示例#2
0
        public async Task AgregarAsincronicamente(DatosViewModel detalle)
        {
            try
            {
                DB_A3F19C_producccionEntities db1 = new DB_A3F19C_producccionEntities();

                int idcaja = await db1.li_cajas.Where(x => x.Folio.Equals(detalle.codigocaja)).Select(x => x.id).FirstOrDefaultAsync();

                int idsku = await db1.skus.Where(x => x.codigobarras.Equals(detalle.sku)).Select(x => x.id).FirstOrDefaultAsync();

                await Task.Run(() =>
                {
                    li_detcajasskus detalleTemp = new li_detcajasskus();

                    detalleTemp.CajasLI_Id = idcaja;
                    detalleTemp.skus_Id    = idsku;
                    detalleTemp.Cantidad   = detalle.cantidad;

                    db1.li_detcajasskus.Add(detalleTemp);

                    db1.SaveChangesAsync();
                });
            }
            catch (Exception _ex)
            {
                await EnviarCorreoError(_ex.Message.ToString());
            }
        }
示例#3
0
        public async Task AgregarSKUSHDDesdeSKUS()
        {
            await Task.Run(() =>
            {
                DB_A3F19C_producccionEntities dbSKUS = new DB_A3F19C_producccionEntities();
                var skus = dbSKUS.skus.ToList();
                List <hd_skushomedelivery> lista = new List <hd_skushomedelivery>();

                foreach (var item in skus)
                {
                    var skumaster = dbSKUS.hd_skushomedelivery.Where(x => x.skus_Id.Equals(item.id)).FirstOrDefault();

                    if (skumaster == null)
                    {
                        hd_skushomedelivery wh = new hd_skushomedelivery();
                        wh.QtyManual           = false;
                        wh.QRCode  = false;
                        wh.skus_Id = item.id;

                        lista.Add(wh);
                    }
                }
                dbSKUS.hd_skushomedelivery.AddRange(lista);
                dbSKUS.SaveChangesAsync();
            });
        }
        public async Task <bool> ValidacionArchivo(DataTable dtCharge)
        {
            try
            {
                //Preparacion de listas para consulta
                //SKUS
                List <skus> listaSKUSBusqueda = await ListaSKUSAsync();

                //Tiendas
                List <wl_tiendas> listaTiendasBusqueda = await ListaTiendasAsync();

                //Cajas
                List <wl_cajas> listaCajasBusqueda = await ListaCajasAsync();

                //Guias
                List <wl_guias> listaGuiasBusqueda = await ListaGuiasAsync();


                //Validacion de Skus
                List <skus>       listaSKUS    = new List <skus>();
                List <wl_tiendas> listaTiendas = new List <wl_tiendas>();
                List <wl_cajas>   listaCajas   = new List <wl_cajas>();
                List <wl_guias>   listaGuias   = new List <wl_guias>();

                //Validacion de Datos en Archivo
                foreach (DataRow row in dtCharge.Rows)
                {
                    string sku          = row[7].ToString().Trim().ToUpper();
                    var    skuexistente = listaSKUSBusqueda.Where(x => x.codigobarras.Equals(sku)).FirstOrDefault();
                    var    skuenlista   = listaSKUS.Where(x => x.codigobarras.Equals(sku)).FirstOrDefault();

                    if (skuexistente == null)
                    {
                        if (skuenlista == null)
                        {
                            skus skuTemp = new skus();
                            skuTemp.codigobarras = sku;
                            skuTemp.SKU          = sku;
                            skuTemp.uom_id       = 1;

                            listaSKUS.Add(skuTemp);
                        }
                    }

                    string tiendacodigo    = row[0].ToString().Trim().ToUpper();
                    var    tiendaexistente = listaTiendasBusqueda.Where(x => x.codigo.Equals(tiendacodigo)).FirstOrDefault();
                    var    tiendaenlista   = listaTiendas.Where(x => x.codigo.Equals(tiendacodigo)).FirstOrDefault();

                    if (tiendaexistente == null)
                    {
                        if (tiendaenlista == null)
                        {
                            wl_tiendas tienda = new wl_tiendas();
                            tienda.codigo      = tiendacodigo;
                            tienda.descripcion = row[1].ToString().Trim().ToUpper();

                            listaTiendas.Add(tienda);
                        }
                    }

                    string cajacodigo    = row[3].ToString().Trim().ToUpper();
                    var    cajaexistente = listaCajasBusqueda.Where(x => x.Codigo.Equals(cajacodigo)).FirstOrDefault();
                    var    cajaenlista   = listaCajas.Where(x => x.Codigo.Equals(cajacodigo)).FirstOrDefault();

                    if (cajaexistente == null)
                    {
                        if (cajaenlista == null)
                        {
                            wl_cajas caja = new wl_cajas();
                            caja.Codigo            = cajacodigo;
                            caja.wl_statuscajas_Id = 1;
                            caja.Pickers_Id        = 1;
                            caja.Auditores_Id      = 1;
                            caja.Paquetes          = 1;

                            listaCajas.Add(caja);
                        }
                    }

                    string guia          = row[6].ToString().Trim().ToUpper();
                    var    guiaexistente = listaGuiasBusqueda.Where(x => x.guia.Equals(guia)).FirstOrDefault();
                    var    guiaenlista   = listaGuias.Where(x => x.guia.Equals(guia)).FirstOrDefault();

                    if (guiaexistente == null)
                    {
                        if (guiaenlista == null)
                        {
                            wl_guias guiaTemp = new wl_guias();
                            guiaTemp.guia = guia;

                            listaGuias.Add(guiaTemp);
                        }
                    }
                }

                if (listaSKUS.Count > 0)
                {
                    db.skus.AddRange(listaSKUS);
                    await db.SaveChangesAsync();
                }

                if (listaTiendas.Count > 0)
                {
                    db.wl_tiendas.AddRange(listaTiendas);
                    await db.SaveChangesAsync();
                }

                if (listaGuias.Count > 0)
                {
                    db.wl_guias.AddRange(listaGuias);
                    await db.SaveChangesAsync();
                }

                if (listaCajas.Count > 0)
                {
                    db.wl_cajas.AddRange(listaCajas);
                    await db.SaveChangesAsync();
                }

                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }