public void guardarProveedor(proveedor proveedor) { proveedor proveedorExiste = obtenerProveedorID(proveedor.id); using (contextData cdt = new contextData()) { cdt.Configuration.LazyLoadingEnabled = false; try { if (proveedorExiste == null) { //Guarda el proveedor cdt.proveedor.Add(proveedor); cdt.SaveChanges(); } else { //Guarda el proveedor modificado cdt.proveedor.Add(proveedor); cdt.Entry(proveedor).State = EntityState.Modified; cdt.SaveChanges(); } } catch (Exception ex) { string mensaje = ""; Log.Error(ex, System.Reflection.MethodBase.GetCurrentMethod(), ref mensaje); throw; } } }
public void crearInventario(List <producto> produc, inventario inventa, String[] estante, String[] prove) { using (contextData cdt = new contextData()) { cdt.Configuration.LazyLoadingEnabled = false; try { //salvar primero el inventario, luego los productos cdt.inventario.Add(inventa); //llenar estante, producto, inventario y proveedor foreach (var productoItem in produc) { detalleFactura df = new detalleFactura(); df.idInventario = inventa.id; df.idProducto = productoItem.id; df.idProveedor = int.Parse(prove[0]); df.idEstante = int.Parse(estante[0]); df.precio = productoItem.costoUnitario; df.cantidadComprada = productoItem.totalStock; cdt.detalleFactura.Add(df); } cdt.SaveChanges(); } catch (Exception ex) { string mensaje = ""; Log.Error(ex, System.Reflection.MethodBase.GetCurrentMethod(), ref mensaje); throw; } } }
public tipoUsuario asignarPermisos(tipoUsuario tu) { using (contextData cdt = new contextData()) { cdt.Configuration.LazyLoadingEnabled = false; cdt.tipoUsuario.Add(tu); cdt.SaveChanges(); } return(tu); }
public void GuardarContactos(contactos contactos) { proveedor proveedor = repositoryProveedor.obtenerProveedorID(contactos.idProveedor); contactos contractoExiste = obtenerContactoID(contactos.id); using (contextData cdt = new contextData()) { cdt.Configuration.LazyLoadingEnabled = false; try { if (contractoExiste == null) { //Guarda el contacto cdt.contactos.Add(contactos); cdt.SaveChanges(); } else { //modifica el contacto modificado if (contractoExiste.nombre != contactos.nombre || contractoExiste.idProveedor != contactos.idProveedor || contractoExiste.numero != contactos.numero) { cdt.contactos.Add(contactos); cdt.Entry(contactos).State = EntityState.Modified; cdt.SaveChanges(); } } } catch (Exception ex) { string mensaje = ""; Log.Error(ex, System.Reflection.MethodBase.GetCurrentMethod(), ref mensaje); throw; } } }
public void asignarCategoria(TipoCategoria tc) { using (contextData cdt = new contextData()) { cdt.Configuration.LazyLoadingEnabled = false; try { cdt.TipoCategoria.Add(tc); cdt.SaveChanges(); } catch (Exception e) { string mensaje = ""; Log.Error(e, System.Reflection.MethodBase.GetCurrentMethod(), ref mensaje); throw; } } }
public bool actualizarExistDB(int id, int cantUsu, bool esSalida) { using (contextData cdt = new contextData()) { cdt.Configuration.LazyLoadingEnabled = false; try { producto oldProd = obtenerProductoID(id); oldProd.TipoCategoria = null; oldProd.productoEstante = null; oldProd.proveedor = null; if (esSalida) { oldProd.totalStock -= cantUsu; if (oldProd.totalStock < oldProd.cantMinima) { return(false); } } else { oldProd.totalStock += cantUsu; if (oldProd.totalStock > oldProd.cantMaxima) { return(false); } } cdt.producto.Add(oldProd); cdt.Entry(oldProd).State = EntityState.Modified; cdt.SaveChanges(); return(true); } catch (Exception ex) { string mensaje = ""; Log.Error(ex, System.Reflection.MethodBase.GetCurrentMethod(), ref mensaje); throw; } } }
public int agregarTipoMovimiento(TipoMovimiento tm) { using (contextData cdt = new contextData()) { cdt.Configuration.LazyLoadingEnabled = false; try { cdt.TipoMovimiento.Add(tm); cdt.SaveChanges(); return(tm.id); } catch (Exception ex) { string mensaje = ""; Log.Error(ex, System.Reflection.MethodBase.GetCurrentMethod(), ref mensaje); throw; } } }
public void SignIn(usuario usuario) { usuario user = null; using (contextData cdt = new contextData()) { cdt.Configuration.LazyLoadingEnabled = false; try { user = cdt.usuario.Add(usuario); cdt.SaveChanges(); //solo es nesesario para insert, delete y update } catch (Exception e) { string mensaje = ""; Log.Error(e, System.Reflection.MethodBase.GetCurrentMethod(), ref mensaje); throw; } } }
public void editarUsuario(usuario usuarioEdicion) { using (contextData cdt = new contextData()) { cdt.Configuration.LazyLoadingEnabled = false; try { usuarioEdicion.tipoUsuario = null; cdt.usuario.Add(usuarioEdicion); cdt.Entry(usuarioEdicion).State = EntityState.Modified; cdt.SaveChanges(); } catch (Exception e) { string mensaje = ""; Log.Error(e, System.Reflection.MethodBase.GetCurrentMethod(), ref mensaje); throw; } } }
public void guardarProducto(producto producto, String[] idProveedor, String[] idEstante) { proveedor pro; producto produExist = obtenerProductoID(producto.id); using (contextData cdt = new contextData()) { cdt.Configuration.LazyLoadingEnabled = false; try { if (produExist == null) { //si producto no existe, es nuevo //carga los proveedores a la tabla intermedia foreach (var idPro in idProveedor) { pro = repoPro.obtenerProveedorID(int.Parse(idPro)); cdt.proveedor.Attach(pro); producto.proveedor.Add(pro); } //salva el producto cdt.producto.Add(producto); //carga la tabla intermedia de ubicacion foreach (var idEsta in idEstante) { productoEstante pe = new productoEstante(); pe.idProducto = producto.id; pe.idEstante = int.Parse(idEsta); pe.cantidad = producto.totalStock; producto.productoEstante.Add(pe); } cdt.SaveChanges(); } else { //actualiza el producto cdt.producto.Add(producto); cdt.Entry(producto).State = EntityState.Modified; //actualiza los proveedores a la tabla intermedia var proveedoresLista = new HashSet <string>(idProveedor); cdt.Entry(producto).Collection(p => p.proveedor).Load(); var nuevoProveedorLista = cdt.proveedor.Where(x => proveedoresLista.Contains(x.id.ToString())).Include(x => x.pais).Include(x => x.contactos).Include(x => x.detalleFactura).ToList(); producto.proveedor = nuevoProveedorLista; cdt.Entry(producto).State = EntityState.Modified; //actualizar tabla intermedia de ubicacion usando muchos a muchos //idEstante arreglo de los identificadores de las ubicaciones o estantes if (idEstante != null) { //Obtener los estantes registrados del producto a modificar List <productoEstante> estantesdelProducto = cdt.productoEstante.Where(x => x.idProducto == producto.id).ToList(); // Borrar los estantes existentes del producto foreach (var item in estantesdelProducto) { producto.productoEstante.Remove(item); } //Registrar los estantes especificados foreach (var estante in idEstante) { productoEstante pe = new productoEstante(); pe.idProducto = producto.id; pe.idEstante = int.Parse(estante); pe.cantidad = 0; cdt.productoEstante.Add(pe); } } cdt.SaveChanges(); } } catch (Exception e) { string mensaje = ""; Log.Error(e, System.Reflection.MethodBase.GetCurrentMethod(), ref mensaje); throw; } } }