public void Alta(TEMPORAL_STOCK objeto) { using (SIST_SUPERMERCADOEntities ctx = SIST_SUPERMERCADOEntities.ObtenerInstancia()) { ctx.TEMPORAL_STOCK.AddObject(objeto); ctx.SaveChanges(); } }
public void Modificacion(TEMPORAL_STOCK objeto) { using (SIST_SUPERMERCADOEntities ctx = SIST_SUPERMERCADOEntities.ObtenerInstancia()) { ctx.TEMPORAL_STOCK.Attach(objeto); ctx.ObjectStateManager.ChangeObjectState(objeto, System.Data.EntityState.Modified); ctx.SaveChanges(); } }
public TEMPORAL_STOCK AltaConRetorno(TEMPORAL_STOCK objeto) { using (SIST_SUPERMERCADOEntities ctx = SIST_SUPERMERCADOEntities.ObtenerInstancia()) { ctx.TEMPORAL_STOCK.AddObject(objeto); ctx.SaveChanges(); return ObtenerPorID(objeto.TEMP_ID); } }
public void ModificacionStock(TEMPORAL_STOCK entidad) { mTEMPORAL_STOCK.Modificacion(entidad); }
public void BajaFisicaStock(TEMPORAL_STOCK entidad) { mTEMPORAL_STOCK.Baja(entidad); }
public void AltaStock(TEMPORAL_STOCK entidad) { mTEMPORAL_STOCK.Alta(entidad); }
public TEMPORAL_STOCK AltaConRetorno(TEMPORAL_STOCK entidad) { return mTEMPORAL_STOCK.AltaConRetorno(entidad); }
public bool ValidacionBajaStock(TEMPORAL_STOCK entidad) { //VALIDAR QUE EL CLIENTE NO TENGA ASIGNADA NINGUNA CTA CTE NI NOTA DE PEDIDO // var cta = entidad.Cta_Ctes; // mCTACTES_CLI_FABS.ObtenerCtaCteCliente(eTEMPORALSTOCK); // if (cta != null) // { // return false; // } // else // { return true; // } }
private void btnGUARDAR_Click(object sender, EventArgs e) { try { //validar todo //que la suma de la cantidad devuelta y a devolver no supere a la catidad de la venta.que si es de balanza que meta la misma cantidad if (!ValidacionCantidades()) { return; } EsValido = true; if (!ValidateChildren() || !EsValido) { DialogResult = DialogResult.None; return; } using (TransactionScope TRANSACCION = new TransactionScope()) { switch (modo) { case "A": eDEVOLUCION = new DEVOLUCION(); if (eVta.CLIENTE != null) eDEVOLUCION.CLI_ID = eVta.CLIENTE.CLI_ID; eDEVOLUCION.VTA_ID = eVta.VTA_ID; eDEVOLUCION.EMP_ID = eEmpleado.EMP_ID; eDEVOLUCION.DEV_FECHA = DateTime.Now; eDEVOLUCION.DEV_TOTAL = Convert.ToDecimal(lblTotalNC.Text); //eDEVOLUCION.PRE_DESCUENTO = Convert.ToDecimal(lblDESCUENTO.Text); eDEVOLUCION = cDEVOLUCION.AltaConRetorno(eDEVOLUCION); foreach (DETALLE_DEVOLUCION LineaEnGrilla in LineasEnGrilla) { //quito las entidades LineaEnGrilla.PRODUCTO = null; LineaEnGrilla.CATEGORIA_PRODUCTO = null; LineaEnGrilla.ENVASE = null; LineaEnGrilla.DDEV_CANTIDADDEVUELTA = LineaEnGrilla.DDEV_CANTIDADADEVOLVER; LineaEnGrilla.DDEV_CANTIDADADEVOLVER = Convert.ToDecimal(0.ToString("0.000")); LineaEnGrilla.DEV_ID = eDEVOLUCION.DEV_ID; cDETALLE_DEVOLUCION.Alta(LineaEnGrilla); } break; case "M": //actualizar la devolucion eDEVOLUCION.EMP_ID = eEmpleado.EMP_ID; eDEVOLUCION.DEV_FECHA = DateTime.Now; eDEVOLUCION.DEV_TOTAL = Convert.ToDecimal(lblTotalNC.Text) + eDEVOLUCION.DEV_TOTAL; //eDEVOLUCION.PRE_DESCUENTO = Convert.ToDecimal(lblDESCUENTO.Text); cDEVOLUCION.Modificacion(eDEVOLUCION); foreach (var LineaEnGrilla in LineasEnGrilla) { //quito las entidades LineaEnGrilla.PRODUCTO = null; LineaEnGrilla.CATEGORIA_PRODUCTO = null; LineaEnGrilla.ENVASE = null; var cantDev = LineaEnGrilla.DDEV_CANTIDADDEVUELTA + LineaEnGrilla.DDEV_CANTIDADADEVOLVER; LineaEnGrilla.DDEV_CANTIDADDEVUELTA = cantDev; LineaEnGrilla.DDEV_CANTIDADADEVOLVER = Convert.ToDecimal(0.ToString("0.000")); cDETALLE_DEVOLUCION.Modificacion(LineaEnGrilla); } break; } //Actualiza Stock foreach (var item in LineasEnGrilla) { //actualiza el stock desde la tabla temporal if (item.PRO_ID != null) { var tempStock = new TEMPORAL_STOCK { PRO_CANTIDAD = item.DDEV_CANTIDAD, PRO_ID = (int)item.PRO_ID, TEMP_FECHA = DateTime.Now }; cTEMPORAL.AltaStock(tempStock); } if (item.ENV_ID != null) //es envase { item.ENVASE.ENV_STOCKACTUAL += (int)item.DDEV_CANTIDAD; cENVASE.Modificacion(item.ENVASE); } } MostrarMensajeInformativo("Se generara una nota de credito para la Devolucion nro: " + eDEVOLUCION.DEV_ID + "."); //CREAR UNA NOTA DE CREDITO E IMPRIMIRLA //DESCRIPCION TOTAL Y VENTA NOTA_CREDITO eNOTA_CREDITO = new NOTA_CREDITO(); eNOTA_CREDITO.NOT_DESCRIPCION = txtDescripcion.Text.ToUpper(); eNOTA_CREDITO.NOT_TOTAL = Convert.ToDecimal(lblTotalNC.Text); eNOTA_CREDITO.VTA_ID = eVta.VTA_ID; cNOTA_CREDITO.Alta(eNOTA_CREDITO); //MOVIMIENTO_CAJA eMOVIMIENTO_CAJA = new MOVIMIENTO_CAJA(); //eMOVIMIENTO_CAJA.MOVC_FECHA = dtpFecha.Value; //eMOVIMIENTO_CAJA.MOVC_VALOR = Convert.ToDecimal(txtImporte.Text); //eMOVIMIENTO_CAJA.TIPM_ID = (int)cmbTipoDocumento.SelectedValue; //eMOVIMIENTO_CAJA.TMOV_ID = (int)cmbTipoMovimiento.SelectedValue; //eMOVIMIENTO_CAJA.TIPM_NUMERO = Convert.ToInt32(txtNroDocumento.Text); //eMOVIMIENTO_CAJA.MOVC_DESCRIPCION = txtDescripcion.Text; //eMOVIMIENTO_CAJA.CAJ_ID = CajaPerteneciente.CAJ_ID; //cMOVIMIENTO_CAJA.Alta(eMOVIMIENTO_CAJA); TRANSACCION.Complete(); } ImprimirDEVOLUCION(eDEVOLUCION);//Nota de Credito Y ACTUALIZAR LA NOT_NUMERO XQ LO DEVUELVE LA IMPRESORA this.Dispose(); } catch (Exception ex) { ProcesarExcepcion(ex); DialogResult = DialogResult.None; } }
private void btnOK_Click(object sender, EventArgs e) { try { if (!Validar()) return; ReiniciarValidacionControl(txtNroDocumento); if (string.IsNullOrEmpty(txtNroDocumento.Text)) { ValidarTextboxObligatorio(txtNroDocumento, lblNroDocumento.Text); return; } using (TransactionScope transaccion = new TransactionScope()) { var oMOV_CTA_CTE_PROV_FACTURA = new MOVIMIENTO_CTACTE_PROVEEDOR(); //1ro TENGO QUE DAR DE ALTA EL MOVIMIENTO DE LA CTA CTE O SEA LA FACTURA A LA CTA DEL PROVEEDOR oMOV_CTA_CTE_PROV_FACTURA.MCCP_VALORMOVIMIENTO = Convert.ToDecimal(txtTotal.Text); oMOV_CTA_CTE_PROV_FACTURA.MCCP_SALDOMOVIMIENTO = Convert.ToDecimal(txtTotal.Text); oMOV_CTA_CTE_PROV_FACTURA.MCCP_SUBTOTAL = Convert.ToDecimal(txtSubTotal.Text); oMOV_CTA_CTE_PROV_FACTURA.MCCP_PORCENTAJEDESCUENTO = Convert.ToDecimal(txtDescuentoPorcTotal.Text); oMOV_CTA_CTE_PROV_FACTURA.TIPM_ID = (int)cmbComprobante.SelectedValue; oMOV_CTA_CTE_PROV_FACTURA.MCCP_CONCEPTO = ((TIPO_MOVIMIENTO)cmbComprobante.SelectedItem).TIPM_CONCEPTO; oMOV_CTA_CTE_PROV_FACTURA.MCCP_FECHAMOVIMIENTO = dtpFecha.Value; oMOV_CTA_CTE_PROV_FACTURA.MCCP_NROFACTURA = txtNroDocumento.Text; oMOV_CTA_CTE_PROV_FACTURA.FOR_ID = (int)cmbFormaPago.SelectedValue; oMOV_CTA_CTE_PROV_FACTURA.CCP_ID = eCTA.CCP_ID; oMOV_CTA_CTE_PROV_FACTURA = cMOVIMIENTO_CTACTE_PROVEEDORES.AltaConRetorno(oMOV_CTA_CTE_PROV_FACTURA); //SI FORMA DE PAGO ES EFECTIVO GENERA RECIBO PARA QUE EL SALDO QUEDE SALDADO if (((FORMA_PAGO)cmbFormaPago.SelectedItem).FOR_DESCRIPCION.Contains("EFECTIVO")) { var oMOV_CTA_CTE_PROV_RECIBO = new MOVIMIENTO_CTACTE_PROVEEDOR(); oMOV_CTA_CTE_PROV_RECIBO.MCCP_VALORMOVIMIENTO = Convert.ToDecimal(txtTotal.Text); oMOV_CTA_CTE_PROV_RECIBO.MCCP_SALDOMOVIMIENTO = Convert.ToDecimal(txtTotal.Text); var tipoMov = cTIPO_MOVIMIENTO.ObtenerTipoRecibo(); oMOV_CTA_CTE_PROV_RECIBO.TIPM_ID = tipoMov.TIPM_ID; oMOV_CTA_CTE_PROV_RECIBO.MCCP_CONCEPTO = tipoMov.TIPM_CONCEPTO; oMOV_CTA_CTE_PROV_RECIBO.MCCP_FECHAMOVIMIENTO = dtpFecha.Value; oMOV_CTA_CTE_PROV_RECIBO.MCCP_NROCOMPROBANTE = 0; //CERO INDICA FACTURA PAGA EN EFECTIVO //agrego a la cta cte el movimiento var cta = cPROVEEDOR.ObtenerCtaCteProveedor(ePROVEEDOR); oMOV_CTA_CTE_PROV_RECIBO.CCP_ID = cta.CCP_ID; cMOVIMIENTO_CTACTE_PROVEEDORES.Modificacion(oMOV_CTA_CTE_PROV_FACTURA); oMOV_CTA_CTE_PROV_RECIBO = cMOVIMIENTO_CTACTE_PROVEEDORES.AltaConRetorno(oMOV_CTA_CTE_PROV_RECIBO); oMOV_CTA_CTE_PROV_FACTURA.MCCP_NROCOMPROBANTE = oMOV_CTA_CTE_PROV_RECIBO.MCCP_ID; cMOVIMIENTO_CTACTE_PROVEEDORES.Modificacion(oMOV_CTA_CTE_PROV_FACTURA); } //agrego a la cta cte el movimiento //var ctaCte = cPROVEEDOR.ObtenerCtaCteProveedor(ePROVEEDOR); //ctaCte.MOVIMIENTOS_CTACTE_PROVEEDOR.Add(oMOV_CTA_CTE_PROV_FACTURA); //2do TENGO QUE DAR DE ALTA CADA UNA DE LAS LINES DE FACTURA DataTable tblGrilla; tblGrilla = dsDatos.Tables["GrillaFactura"]; foreach (DataRow lineaVtaGrilla in tblGrilla.Rows) { LINEA_FACTURA nuevaLinea = new LINEA_FACTURA(); nuevaLinea.PRO_ID = Convert.ToInt32(lineaVtaGrilla["PRO_ID"]); nuevaLinea.LIN_CANTIDAD = Convert.ToDecimal(lineaVtaGrilla["CANTIDAD_TOTAL"]); nuevaLinea.LIN_COSTO = Convert.ToDecimal(lineaVtaGrilla["PRECIOCOSTO_SINIVA"]); nuevaLinea.LIN_PORCENTAJEDESCUENTO = Convert.ToInt32(lineaVtaGrilla["PORCENTAJEDESCUENTO"]); nuevaLinea.TIVA_ID = Convert.ToInt32(lineaVtaGrilla["TIVA_ID"]); nuevaLinea.MCCP_ID = oMOV_CTA_CTE_PROV_FACTURA.MCCP_ID; nuevaLinea = cLINEA_FACTURA.AltaConRetorno(nuevaLinea); //doy de alta el producto temporal para actualizar el stock var tempStock = new TEMPORAL_STOCK { PRO_CANTIDAD = Convert.ToDecimal(lineaVtaGrilla["CANTIDAD_TOTAL"]), PRO_ID = nuevaLinea.PRO_ID, TEMP_FECHA = DateTime.Now }; cTEMPORAL.AltaStock(tempStock); //doy de alta el producto temporal para actualizar el precio si EL COSTO CAMBIA o IVA CAMBIA if (nuevaLinea.PRODUCTO.PRO_COSTO != Convert.ToDecimal(lineaVtaGrilla["PRECIOCOSTO_SINIVA"]) || nuevaLinea.TIVA_ID != Convert.ToInt32(lineaVtaGrilla["TIVA_ID"])) { //busca producto para obtener la ganancia PRODUCTO oPRODUCTO = cPRODUCTO.ObtenerPorID(Convert.ToInt32(lineaVtaGrilla["PRO_ID"])); TEMPORAL_PRECIO productoEnTemporal = cTEMPORAL.ObtenerPorIDProducto((int)nuevaLinea.PRO_ID); //Calculo de precio y ganancia var impuesto = Convert.ToDecimal(lineaVtaGrilla["PORCENTAJEIVA"]); var costo = Convert.ToDecimal(lineaVtaGrilla["PRECIOCOSTO_SINIVA"]); var precioVta = Convert.ToDecimal(lineaVtaGrilla["PRECIO_VENTA"]); var gananciaReal = Convert.ToDecimal(lineaVtaGrilla["PRO_MARGENGANANCIAREAL"]); var gananciaPromo = Convert.ToDecimal(oPRODUCTO.PRO_MARGENPROMO); var precioVtaPromo = cMetodosComunes.PrecioVentaGenerico(impuesto, gananciaPromo, costo, ePARAMETRO); var margenGananciaPromo = cMetodosComunes.PorcentajeGananciaGenerico(impuesto, precioVta, costo); if (productoEnTemporal != null) { var dr = MostrarMensajePreguntaSI_NO("Existe un registro para actualizar en Actualizacion Precios, \n Precio de Costo = " + productoEnTemporal.PRO_COSTO + "\n Margen de Ganancia: " + productoEnTemporal.PRO_MARGENGANANCIAREAL + "\n Precio Venta: " + productoEnTemporal.PRO_PRECIOVTA); if (dr) { productoEnTemporal.PRO_COSTO = costo; productoEnTemporal.PRO_PRECIOVTA = precioVta; productoEnTemporal.PRO_MARGENGANANCIAREAL = margenGananciaPromo; productoEnTemporal.PRO_PRECIOVTAPROMO = precioVtaPromo; productoEnTemporal.PRO_MARGENGANANCIAPROMO = margenGananciaPromo; productoEnTemporal.TIVA_ID = Convert.ToInt32(lineaVtaGrilla["TIVA_ID"]); productoEnTemporal.TEMP_FECHA = DateTime.Now; cTEMPORAL.ModificacionPrecio(productoEnTemporal); } } else { var tempPrecio = new TEMPORAL_PRECIO { PRO_COSTO = costo, PRO_PRECIOVTA = precioVta, PRO_MARGENGANANCIAREAL = margenGananciaPromo, PRO_PRECIOVTAPROMO = precioVtaPromo, PRO_MARGENGANANCIAPROMO = margenGananciaPromo, PRO_ID = nuevaLinea.PRO_ID, TIVA_ID = nuevaLinea.TIVA_ID, TEMP_FECHA = DateTime.Now }; cTEMPORAL.AltaPrecio(tempPrecio); } } } //3to ACTUALIZAR EL SALDO EN LA CTA CTE DEL PROVEEDOR switch (((TIPO_MOVIMIENTO)cmbComprobante.SelectedItem).TIPM_CONCEPTO) { case "DEBE": eCTA.CCP_SALDO += oMOV_CTA_CTE_PROV_FACTURA.MCCP_VALORMOVIMIENTO; break; case "HABER": eCTA.CCP_SALDO -= oMOV_CTA_CTE_PROV_FACTURA.MCCP_VALORMOVIMIENTO; break; } cCTACTE_PROVEEDOR.Modificacion(eCTA); cMOVIMIENTO_CTACTE_PROVEEDORES.Modificacion(oMOV_CTA_CTE_PROV_FACTURA); //4ro ALTA EL SEGUIMIENTO DE PRODUCTOS foreach (var item in oMOV_CTA_CTE_PROV_FACTURA.LINEAS_FACTURA) { var oSEG_PROD = new SEGUIMIENTO_PRODUCTO { PRO_ID = item.PRODUCTO.PRO_ID, PROV_ID = ePROVEEDOR.PROV_ID, SEG_FECHA = dtpFecha.Value, SEG_PRECIOCOSTO = item.LIN_COSTO, SEG_MARGENGANANCIA = item.PRODUCTO.PRO_MARGENGANANCIAREAL }; cSEGUIMIENTOS_PRODUCTOS.Alta(oSEG_PROD); } transaccion.Complete(); } MostrarMensajeInformativo("La Factura se realizó con éxito"); this.DialogResult = DialogResult.OK; } catch (Exception ex) { ProcesarExcepcion(ex); this.DialogResult = DialogResult.Cancel; } }
/// <summary> /// Crear un nuevo objeto TEMPORAL_STOCK. /// </summary> /// <param name="tEMP_ID">Valor inicial de la propiedad TEMP_ID.</param> /// <param name="pRO_ID">Valor inicial de la propiedad PRO_ID.</param> public static TEMPORAL_STOCK CreateTEMPORAL_STOCK(global::System.Int32 tEMP_ID, global::System.Int32 pRO_ID) { TEMPORAL_STOCK tEMPORAL_STOCK = new TEMPORAL_STOCK(); tEMPORAL_STOCK.TEMP_ID = tEMP_ID; tEMPORAL_STOCK.PRO_ID = pRO_ID; return tEMPORAL_STOCK; }
/// <summary> /// Método desusado para agregar un nuevo objeto al EntitySet TEMPORAL_STOCK. Considere la posibilidad de usar el método .Add de la propiedad ObjectSet<T> asociada. /// </summary> public void AddToTEMPORAL_STOCK(TEMPORAL_STOCK tEMPORAL_STOCK) { base.AddObject("TEMPORAL_STOCK", tEMPORAL_STOCK); }