/// <summary> /// guardar modelo completo /// </summary> /// <param name="modelo">modelo</param> /// <returns>true o false</returns> public async System.Threading.Tasks.Task <bool> GuardarCiudadVendedor(Models.ModeloCompleto modelo) { try { System.Threading.Tasks.Task <bool> resultado = new AccesoDatos.CiudadVendedor().GuardarTransaccionAsing(modelo); return(await resultado); } catch (Exception ex) { throw (ex); } }
public ActionResult _Agregar(int?id) { Models.ModeloCompleto modelo = new Models.ModeloCompleto(); if (id != null) { modelo = obtenerCiudadVendedor((int)id); modelo.listaCiudades = new SelectList(modelo.Combosciudad, "Id", "Nombre"); } else { modelo.ciudad = new CiudadModel(); modelo.Combosciudad = new List <ComboModel>(); modelo.vendedores = new List <VendedoresModel>(); } return(PartialView("~/Views/CiudadVendedores/_Agregar.cshtml", modelo)); }
public async System.Threading.Tasks.Task <bool> GuardarTransaccionAsing(Models.ModeloCompleto modelo) { bool respuesta = false; using (ContextoDatos db = new ContextoDatos()) { using (DbContextTransaction transaccion = db.Database.BeginTransaction()) { try { Datos.Entidades.Ciudad _ciudad = new Ciudad { CiudadId = modelo.ciudad.CiudadId, Codigo = modelo.ciudad.Codigo, Nombre = modelo.ciudad.Nombre, }; if (_ciudad.CiudadId == 0) { db.Entry(_ciudad).State = EntityState.Added; } else { db.Entry(_ciudad).State = EntityState.Modified; } int numero = await db.SaveChangesAsync(); foreach (var vendedor in modelo.vendedores) { Vendedor _vendedor = new Datos.Entidades.Vendedor { Apellido = vendedor.Apellido, CiudadId = vendedor.CiudadId, Codigo = vendedor.Codigo, Nombre = vendedor.Nombre, Numero_Identificacion = vendedor.Numero_Identificacion, VendedorId = vendedor.VendedorId, }; if (_vendedor.CiudadId == 0) { db.Entry(_vendedor).State = EntityState.Added; } else { db.Entry(_vendedor).State = EntityState.Modified; } int numero2 = await db.SaveChangesAsync(); } transaccion.Commit(); respuesta = true; } catch (Exception ex) { transaccion.Rollback(); throw (ex); } return(respuesta); } } }
public async System.Threading.Tasks.Task <Models.ModeloCompleto> ObtenerTodoModeloAsing(int ciudad) { Models.ModeloCompleto modelo = new Models.ModeloCompleto(); List <Vendedor> vendedores = new List <Vendedor>(); List <Ciudad> ciudadesTodas = new List <Ciudad>(); try { using (ContextoDatos db = new ContextoDatos()) { ciudadesTodas = db.Ciudades.ToList(); vendedores = db.Vendedores.Where(c => c.CiudadId == ciudad).ToList(); } } catch (Exception ex) { throw (ex); } List <Datos.Modelos.CiudadModel> _ciudad = new List <Datos.Modelos.CiudadModel>(); _ciudad.AddRange(ciudadesTodas.Select(r => new Datos.Modelos.CiudadModel { CiudadId = r.CiudadId, Codigo = r.Codigo, Nombre = r.Nombre, }).ToList()); modelo.ciudad = new Datos.Modelos.CiudadModel(); modelo.ciudad = ciudadesTodas.Where(c => c.CiudadId == ciudad).Select(r => new Datos.Modelos.CiudadModel { CiudadId = r.CiudadId, Codigo = r.Codigo, Nombre = r.Nombre, }).FirstOrDefault(); modelo.vendedores = new List <Datos.Modelos.VendedoresModel>(); modelo.vendedores.AddRange( vendedores.Select(v => new Datos.Modelos.VendedoresModel { Apellido = v.Apellido, Ciudad = new Datos.Modelos.CiudadModel { CiudadId = v.Ciudad.CiudadId, Codigo = v.Ciudad.Codigo, Nombre = v.Ciudad.Nombre, }, CiudadId = v.CiudadId, Codigo = v.Codigo, Nombre = v.Nombre, Numero_Identificacion = v.Numero_Identificacion, VendedorId = v.VendedorId, } ).ToList()); List <Datos.Modelos.ComboModel> combo = new List <Datos.Modelos.ComboModel>(); combo.AddRange(ciudadesTodas.Select(c => new Datos.Modelos.ComboModel { Id = c.CiudadId.ToString(), Nombre = c.Nombre, }).ToList() ); modelo.Combosciudad = combo; // modelo.listaCiudades = new SelectList(combo, "Id", "Nombre"); return(modelo); }