//metodos para guardar o actualizar un dato CAT_BODEGA asd public bool metodoGuardar(CAT_BODEGA datos) // exijidamente true false //string bool number void { // null - nombre try { // ifiltrar el dato si existe select * from cat bodega where nombrebodega == 'Bodega 1' CAT_BODEGA busqueda = modelBaseDato.CAT_BODEGA.FirstOrDefault( x => x.ID_BODEGA == datos.ID_BODEGA); if (busqueda == null) { // si es nulo no exite por lo tanto mandamos a guardar modelBaseDato.CAT_BODEGA.Add(datos); } else { //CAT_BODEGA busqueda = modelBaseDato.CAT_BODEGA.FirstOrDefault( // x => x.ID_BODEGA == datos.ID_BODEGA); busqueda.NOMBRE_BODEGA = datos.NOMBRE_BODEGA; busqueda.ID_CIUDAD_BODEGA = datos.ID_CIUDAD_BODEGA; } modelBaseDato.SaveChanges(); return(true); } catch (Exception ex) { return(false); } }
//metodos para guardar o actualizar un dato CAT_BODEGA public bool metodoGuardar(CAT_CIUDAD datos) // exijidamente true false //string bool number void { // null - nombre try { // ifiltrar el dato si existe select * from cat bodega where nombrebodega == 'Bodega 1' //comparar el codigo si viene null autogerar si el dato nuevo CAT_CIUDAD busqueda = modelBaseDato.CAT_CIUDAD.FirstOrDefault( x => x.ID_CIUDAD == datos.ID_CIUDAD); if (busqueda == null) { // si es nulo no exite por lo tanto mandamos a guardar modelBaseDato.CAT_CIUDAD.Add(datos); } else { //CAT_CIUDAD busqueda = modelBaseDato.CAT_CIUDAD.FirstOrDefault( // x => x.ID_CIUDAD == datos.ID_CIUDAD); busqueda.NOMBRE_CIUDAD = datos.NOMBRE_CIUDAD; busqueda.ID_DEPARTAMENTO_CIUDAD = datos.ID_DEPARTAMENTO_CIUDAD; } modelBaseDato.SaveChanges(); return(true); } catch (Exception ex) { return(false); } }
//metodos para guardar o actualizar un dato CAT_BODEGA public bool metodoGuardar(CAT_TIPO_PRODUCTO datos) // exijidamente true false //string bool number void { // null - nombre try { // ifiltrar el dato si existe select * from cat bodega where nombrebodega == 'Bodega 1' //comparar el codigo si viene null autogerar si el dato nuevo CAT_TIPO_PRODUCTO busqueda = modelBaseDato.CAT_TIPO_PRODUCTO.FirstOrDefault( x => x.ID_TIPO_PRODUCTO == datos.ID_TIPO_PRODUCTO); if (busqueda == null) { // si es nulo no exite por lo tanto mandamos a guardar modelBaseDato.CAT_TIPO_PRODUCTO.Add(datos); } else { //CAT_TIPO_PRODUCTO busqueda = modelBaseDato.CAT_TIPO_PRODUCTO.FirstOrDefault( // x => x.ID_TIPO_PRODUCTO == datos.ID_TIPO_PRODUCTO); busqueda.TIPO_PRODUCTO = datos.TIPO_PRODUCTO; busqueda.DESCRIPCION_TIPO_PRODUCTO = datos.DESCRIPCION_TIPO_PRODUCTO; } modelBaseDato.SaveChanges(); return(true); } catch (Exception ex) { return(false); } }
//metodos para guardar o actualizar un dato CAT_BODEGA public bool metodoGuardar(TblMarca datos) // exijidamente true false //string bool number void { // null - nombre try { // ifiltrar el dato si existe select * from cat bodega where nombrebodega == 'Bodega 1' //comparar el codigo si viene null autogerar si el dato nuevo TblMarca busqueda = modelBaseDato.TblMarca.FirstOrDefault( x => x.ID_MARCA == datos.ID_MARCA); if (busqueda == null) { // si es nulo no exite por lo tanto mandamos a guardar modelBaseDato.TblMarca.Add(datos); } else { //TblMarca busqueda = modelBaseDato.TblMarca.FirstOrDefault( // x => x.ID_MARCA == datos.ID_MARCA); //comparar el mobre busqueda.NOMBRE_MARCA = datos.NOMBRE_MARCA; } modelBaseDato.SaveChanges(); return(true); } catch (Exception ex) { return(false); } }
//metodos para guardar o actualizar un dato CAT_BODEGA public bool metodoGuardar(CAT_PROVEEDOR datos) // exijidamente true false //string bool number void { // null - nombre try { // ifiltrar el dato si existe select * from cat bodega where nombrebodega == 'Bodega 1' //comparar el codigo si viene null autogerar si el dato nuevo CAT_PROVEEDOR busqueda = modelBaseDato.CAT_PROVEEDOR.FirstOrDefault( x => x.ID_PROVEEDOR == datos.ID_PROVEEDOR); if (busqueda == null) { // si es nulo no exite por lo tanto mandamos a guardar modelBaseDato.CAT_PROVEEDOR.Add(datos); } else { //CAT_PROVEEDOR busqueda = modelBaseDato.CAT_PROVEEDOR.FirstOrDefault( // x => x.ID_PROVEEDOR == datos.ID_PROVEEDOR); //comparar el mobre busqueda.NOMBRE_PROVEEDOR = datos.NOMBRE_PROVEEDOR; busqueda.ENCARGADO = datos.ENCARGADO; busqueda.TELEFONO = datos.TELEFONO; } modelBaseDato.SaveChanges(); return(true); } catch (Exception ex) { return(false); } }
//metodo que realiza proceso transaccion en multiple tabla public int FinalizaTransaccion(ObjetoVenta obj, List <ObjetoVenta> lista) //pasa parametro con todos los datos para las { // diferentes tablas que interactuen en la base de dato //creamos nuestro contexto // using (var db = new DB_MiscelaneaConnyEntities()) // { //creamos el ámbito de la transacción using (TransactionScope scope = new TransactionScope()) { //a partir de aca se ejecuta en cola todas las operaciones a realizar durante una compra try { //proceso N° 1 -> Almacenar datos en tabla Compra //Paso 1 - convertir valores de obj a tabla compra del modelo var tblVenta = new TBL_FACTURA { ID_FACTURA = 0, FECHA_FACTURA = obj.FECHA_FACTURA, CLIENTE_FACTURA = obj.CLIENTE_FACTURA, ID_USUARIO_FACTURA = 1, TOTAL = obj.TOTAL, CANTIDAD_PAGO = obj.CANTIDAD_PAGO, CAMBIO = obj.CAMBIO }; //Paso 2 - guardar en tabla compra db.TBL_FACTURA.Add(tblVenta); db.SaveChanges(); //proceso N° 2 -> Recorrer y obtener la lista de detalle de compra foreach (var item in lista) { //Paso 1 - convertir valores de obj a tabla del modelo var tblDetalle = new TBL_DETALLE_FACT { ID_FACTURA = tblVenta.ID_FACTURA, ID_EXISTENCIA = item.ID_EXISTENCIA, ID_PRODUCTO = item.ID_PRODUCTO, CANTIDAD_PRODUCTOS = item.CANTIDAD_PRODUCTOS, PRECIO_UNIT = item.PRECIO_VENTA, SUBTOTAL = item.SUBTOTAL, //ID_UNIDAD_MEDIDA = (int)item.ID_UNIDAD_MEDIDA, }; //Paso 2 - guardar en tabla db.TBL_DETALLE_FACT.Add(tblDetalle); db.SaveChanges(); //var unidad = db.CAT_UNIDAD_MEDIDA.FirstOrDefault( // x => x.ID_UNIDAD_MEDIDA == item.ID_UNIDAD_MEDIDA); //int? unidades = 0; //if (unidad != null) //{ // unidades = unidad.UNIDADES; //} //proceso N° 3 -> Actualizar o declarar(Agregar) existencia //Paso 1 - Filtrar var busca = db.TBL_EXITENCIA.FirstOrDefault( x => x.ID_EXISTENCIA == item.ID_EXISTENCIA); // 150 exixt === 149 obj client if (busca != null) //si no se encuentra lo agrega a exiustencia como nuevo registro v 2 k == 1500 / v 2 k == 1500 { // c 2 k == 1250 / c 2 k == 1300 //Paso 1 - convertir valores de obj a tabla del modelo busca.CANTIDAD_EXISTENCIA = (busca.CANTIDAD_EXISTENCIA - item.CANTIDAD_PRODUCTOS); } db.SaveChanges(); }//fin de recorrido de lista detalle scope.Complete();///proceso de finalizacion de la transaccion return(tblVenta.ID_FACTURA); } catch (Exception ex) { //si algo en los procesos falla, tan solo 1 operacion todo se deshace scope.Dispose(); return(0); } } // } }
public int FinalizaTransaccion(ObjetoCompra obj, List <ObjetoCompra> lista) //pasa parametro con todos los datos para las { // diferentes tablas que interactuen en la base de dato //creamos nuestro contexto //creamos el ámbito de la transacción using (TransactionScope scope = new TransactionScope()) { // se ejecuta en cola todas las operaciones a realizar durante una compra try { //Almacenar datos en tabla Compra //convertir valores de obj a tabla compra del modelo var tblCompra = new TBL_COMPRA { ID_COMPRA = 0, FECHA_COMPRA = obj.FECHA_COMPRA, TOTAL = obj.TOTAL, CANTIDAD_PAGO = obj.CANTIDAD_PAGO, CAMBIO = obj.CAMBIO, ID_USUARIO = 1 }; //Paso 2 - guardar en tabla compra db.TBL_COMPRA.Add(tblCompra); db.SaveChanges(); // Recorrer y obtener la lista de detalle de compra foreach (var item in lista) { // convertir valores de obj a tabla del modelo var tblDetalle = new TBL_DETALLE_COMPRA { ID_COMPRA = tblCompra.ID_COMPRA, ID_PRODUCTO = item.ID_PRODUCTO, CANTIDAD_PRODUCTOS = item.CANTIDAD_PRODUCTOS, PRECIO_COMPRA = item.PRECIO_COMPRA, PRECIO_VENTA = item.PRECIO_VENTA, SUBTOTAL = item.SUBTOTAL, ID_UNIDAD_MEDIDA = (int)item.ID_UNIDAD_MEDIDA, ID_UNIDAD_ENVASE = item.ID_UNIDAD_ENVASE }; // guardar en tabla db.TBL_DETALLE_COMPRA.Add(tblDetalle); db.SaveChanges(); var unidad = db.CAT_UNIDAD_MEDIDA.FirstOrDefault(x => x.ID_UNIDAD_MEDIDA == item.ID_UNIDAD_MEDIDA); int?unidades = 0; if (unidad != null) { unidades = unidad.UNIDADES; } // Actualizar o declarar(Agregar) existencia // Filtrar var busca = db.TBL_EXITENCIA.FirstOrDefault(x => x.ID_PRODUCTO == item.ID_PRODUCTO && x.PRECIO_VENTA == item.PRECIO_VENTA && x.FECHA_VENCIMIENTO_PRODUCTO == item.FECHA_VENCIMIENTO_PRODUCTO); if (busca == null) { // convertir valores de obj a tabla del modelo var tblExistencia = new TBL_EXITENCIA { ID_BODEGA = item.ID_BODEGA, ID_PRODUCTO = item.ID_PRODUCTO, CANTIDAD_DEVOLUCION = 0, CANTIDAD_EXISTENCIA = item.CANTIDAD_PRODUCTOS * unidades, FECHA_ELABORACION_PRODUCTO = item.FECHA_ELABORACION_PRODUCTO, FECHA_VENCIMIENTO_PRODUCTO = item.FECHA_VENCIMIENTO_PRODUCTO, PRECIO_VENTA = item.PRECIO_VENTA, ID_UNIDAD_ENVASE = item.ID_UNIDAD_ENVASE }; //Paso 2 - guardar en tabla db.TBL_EXITENCIA.Add(tblExistencia); } else { busca.CANTIDAD_EXISTENCIA = (item.CANTIDAD_PRODUCTOS * unidades) + busca.CANTIDAD_EXISTENCIA; } db.SaveChanges(); var buscaProvedorProducto = db.PRODUCTO_PROVEEDOR.FirstOrDefault(x => x.ID_PRODUCTO == item.ID_PRODUCTO && x.ID_PROVEEDOR == item.ID_PROVEEDOR); if (busca == null) { // convertir valores de obj a tabla del modelo var tblProveeProducto = new PRODUCTO_PROVEEDOR { ID_PROVEEDOR = item.ID_PROVEEDOR, ID_PRODUCTO = item.ID_PRODUCTO, }; db.PRODUCTO_PROVEEDOR.Add(tblProveeProducto); db.SaveChanges(); } } //fin de recorrido de lista detalle scope.Complete(); ///proceso de finalizacion de la transaccion return(tblCompra.ID_COMPRA); } catch (Exception ex) { //si algo en los procesos falla, todo se deshace scope.Dispose(); return(0); } } // } }