public ActionResult DetalleEnvios(int?id) { List <wl_waldos> lista = new List <wl_waldos>(); ViewBag.Folio = db.wl_waldos.Where(x => x.id == id).FirstOrDefault().folio; ViewBag.Fecha = db.wl_waldos.Where(x => x.id == id).FirstOrDefault().fechaalta; //ViewBag.Tienda = db.wl_detenvios.Where(x => x.wl_cajas_Id == id).FirstOrDefault().wl_tiendas.codigo; //ViewBag.Caja = db.wl_detenvios.Where(x => x.wl_cajas_Id == id).FirstOrDefault().wl_cajas.Codigo; //ViewBag.StatusCaja = db.wl_detenvios.Where(x => x.wl_cajas_Id == id).FirstOrDefault().wl_cajas.wl_statuscajas.descripcion; int cajas = 0; foreach (var item in db.wl_detenvios.Where(x => x.wl_waldos_Id == id).ToList()) { wl_waldos detalle = new wl_waldos(); detalle.id = item.id; detalle.caja = item.wl_cajas.Codigo; detalle.guia = item.wl_guias.guia; detalle.tienda = item.wl_tiendas.codigo; cajas++; lista.Add(detalle); } ViewBag.CantidadCajas = cajas; return(View(lista)); }
public async Task <bool> InsercionDetalleEnvios(DataTable dtCharge) { try { List <wl_guias> listaGuiasBusqueda = await ListaGuiasAsync(); List <wl_cajas> listaCajasBusqueda = await ListaCajasAsync(); List <wl_tiendas> listaTiendasBusqueda = await ListaTiendasAsync(); string folioenvio = "OGL-WLD-" + (db.wl_waldos.Count() + 1); wl_waldos waldos = new wl_waldos(); waldos.folio = folioenvio; waldos.fechaalta = DateTime.Now; db.wl_waldos.Add(waldos); await db.SaveChangesAsync(); int idenvio = waldos.id; List <wl_detenvios> listaEnvios = new List <wl_detenvios>(); foreach (DataRow row in dtCharge.Rows) { string cajacodigo = row[3].ToString().Trim().ToUpper(); string guia = row[6].ToString().Trim().ToUpper(); string codigotienda = row[0].ToString().Trim().ToUpper(); wl_detenvios detenvios = new wl_detenvios(); detenvios.wl_cajas_Id = listaCajasBusqueda.Where(x => x.Codigo.Equals(cajacodigo)).FirstOrDefault().id; detenvios.wl_guias_Id = listaGuiasBusqueda.Where(x => x.guia.Equals(guia)).FirstOrDefault().id; detenvios.wl_tiendas_Id = listaTiendasBusqueda.Where(x => x.codigo.Equals(codigotienda)).FirstOrDefault().id; listaEnvios.Add(detenvios); } var listaAgrupada = listaEnvios.GroupBy(x => x.wl_cajas_Id); List <wl_detenvios> listaEnviosAgregar = new List <wl_detenvios>(); foreach (var item in listaAgrupada) { wl_detenvios detenvios = new wl_detenvios(); detenvios.wl_cajas_Id = item.Key; detenvios.wl_guias_Id = listaEnvios.Where(x => x.wl_cajas_Id.Equals(item.Key)).FirstOrDefault().wl_guias_Id; detenvios.wl_tiendas_Id = listaEnvios.Where(x => x.wl_cajas_Id.Equals(item.Key)).FirstOrDefault().wl_tiendas_Id; detenvios.wl_waldos_Id = idenvio; listaEnviosAgregar.Add(detenvios); } db.wl_detenvios.AddRange(listaEnviosAgregar); await db.SaveChangesAsync(); return(true); } catch (Exception) { return(false); } }