public void ListenerAfterExecuteDependentTask(object sender) { if (sender.GetType().Equals(typeof(mz.erp.businessrules.SeleccionItemsPendientes))) { SeleccionItemsPendientes sip = (SeleccionItemsPendientes)sender; if (_processParent.Process.ProcessName.Equals("ProcesoVenderDevolver") || _processParent.Process.ProcessName.Equals("ProcesoPrestarDevolver") || _processParent.Process.ProcessName.Equals("ProcesoVenderDevolverManual") || _processParent.Process.ProcessName.Equals("ProcesoVenderDevolverBienDeUso") ) { LoadFromSeleccionarItemsPendientesPorItem(sip); } else { LoadFromSeleccionarItemsPendientes(sip); } } }
private void LoadFromSeleccionarItemsPendientes(SeleccionItemsPendientes sip) { if (_analizarCaminosPorItem) { foreach (RelacionComprobanteOrigenDestino crod in sip.RelacionesComprobanteOrigenDestino) { string IdTipoDeComprobanteOrigen = crod.IdTipoDeComprobante; string IdComprobante = crod.IdComprobante; /*Falta Implementar este metodo*/ //ObtenerCaminos(IdComprobante, IdTipoDeComprobanteOrigen, crod.OrdinalOrigen); } } else { string IdTipoDeComprobanteOrigen = sip.RelacionesComprobanteOrigenDestino.Get(0).IdTipoDeComprobante; string IdComprobante = sip.RelacionesComprobanteOrigenDestino.Get(0).IdComprobante; ObtenerCaminos(IdComprobante, IdTipoDeComprobanteOrigen); } }
public void ListenerAfterExecuteDependentTask(object sender) { if (sender.GetType().Equals(typeof(mz.erp.businessrules.comprobantes.ComprobanteDeVenta))) { _procesoCambiarMercaderiaVisualizaVentana = true; ITask taskInfo = (ITask)sender; if (!taskInfo.GetTaskName().Equals("AnularPrevender") && !taskInfo.GetTaskName().Equals("AnularPreprestar") //German 20111202 - Tarea 0000232 && !(this.GetProcessManagerParent().Process.ProcessName.Equals("ProcesoPrevenderReserva") && taskInfo.GetTaskName().Equals("Vender")) //Fin German 20111202 - Tarea 0000232 ) { ComprobanteDeVenta comprobanteDeVenta = (ComprobanteDeVenta)sender; bool _condicionDeVentaChanged = this._idCondicionDeVenta != comprobanteDeVenta.CondicionDeVenta.IdCondicionDeVenta; _idComprobanteDeVentaOrigen = comprobanteDeVenta.IdComprobanteOrigen; _idCondicionDeVenta = comprobanteDeVenta.CondicionDeVenta.IdCondicionDeVenta; this._condicionDeVenta = comprobanteDeVenta.CondicionDeVenta; if (!(this._processParent.Process.ProcessName.Equals("ProcesoCambiarMercaderiaVentas") || this._processParent.Process.ProcessName.Equals("ProcesoCambiarMercaderiaVentasDV"))) { this._totalNetoComprobanteDeVenta = comprobanteDeVenta.TotalNeto; this._totalConImpuestosSinRecargosComprobanteDeVenta = comprobanteDeVenta.TotalConImpuestosSinRecargos; this._totalConImpuestoComprobanteDeVenta = comprobanteDeVenta.TotalConImpuestos; } else { if ((this._processParent.Process.ProcessName.Equals("ProcesoCambiarMercaderiaVentas") || this._processParent.Process.ProcessName.Equals("ProcesoCambiarMercaderiaVentasDV"))) { if (taskInfo.GetTaskName().Equals("Devolver")) { this._totalConImpuestoComprobanteDeVentaOrigen = comprobanteDeVenta.TotalConImpuestos; this._totalNetoComprobanteDeVentaOrigen = comprobanteDeVenta.TotalNeto; this._totalConImpuestosSinRecargosComprobanteDeVentaOrigen = comprobanteDeVenta.TotalConImpuestosSinRecargos; this._totalComprobantedDeVentaOrigen = comprobanteDeVenta.Total; this._condicionDeVentaOrigen = comprobanteDeVenta.CondicionDeVenta; } else { if (taskInfo.GetTaskName().Equals("Vender") || taskInfo.GetTaskName().Equals("Prestar")) { this._totalConImpuestoComprobanteDeVentaDestino = comprobanteDeVenta.TotalConImpuestos; this._totalNetoComprobanteDeVentaDestino = comprobanteDeVenta.TotalNeto; this._totalConImpuestosSinRecargosComprobanteDeVentaDestino = comprobanteDeVenta.TotalConImpuestosSinRecargos; this._totalComprobantedDeVentaDestino = comprobanteDeVenta.Total; this._condicionDeVentaDestino = comprobanteDeVenta.CondicionDeVenta; this._totalConImpuestoComprobanteDeVenta = _totalConImpuestoComprobanteDeVentaDestino - _totalConImpuestoComprobanteDeVentaOrigen; this._totalNetoComprobanteDeVenta = _totalNetoComprobanteDeVentaDestino - _totalNetoComprobanteDeVentaOrigen; this._totalConImpuestosSinRecargosComprobanteDeVenta = _totalConImpuestosSinRecargosComprobanteDeVentaDestino - _totalConImpuestosSinRecargosComprobanteDeVentaOrigen; this._totalComprobantedDeVenta = _totalComprobantedDeVentaDestino - _totalComprobantedDeVentaOrigen; //Significa que el cliente acredita mas de lo que debita, por ende no hay que mostrar la ventana de formas de pagos if (_totalComprobantedDeVenta < 0) { _procesoCambiarMercaderiaVisualizaVentana = false; } } } } } bool _idCuentaChanged = comprobanteDeVenta.Cuenta.IdCuenta != null && comprobanteDeVenta.Cuenta.IdCuenta != string.Empty && comprobanteDeVenta.Cuenta.IdCuenta != _idCuenta; bool _idTipoDeComprobanteChanged = comprobanteDeVenta.TipoComprobanteDestino != null && comprobanteDeVenta.TipoComprobanteDestino != string.Empty && comprobanteDeVenta.TipoComprobanteDestino != _idTipoDeComprobante; this._idCuenta = comprobanteDeVenta.Cuenta.IdCuenta; this._idTipoDeComprobante = comprobanteDeVenta.TipoComprobanteDestino; if (_condicionDeVentaChanged || _idCuentaChanged || _idTipoDeComprobanteChanged) { _formasDePagos = mz.erp.businessrules.tfi_FormasDePagoEx.GetFormasDePago(_condicionDeVenta.IdCondicionDeVenta, this._idCuenta, this._idTipoDeComprobante); } AddFormaDePagoDefault(); if (_condicionDeVentaChanged && !IsStep() && !_totalNetoComprobanteDeVentaChanged) { if (MustResetRecargos()) { ResetRecargos(); } } else { if (!IsStep() && _totalNetoComprobanteDeVentaChanged) { if (MustResetRecargos()) { ResetRecargos(); } } else { if (IsStep() && ((_idCondicionDeVentaStep == null || _idCondicionDeVentaStep.Equals(_idCondicionDeVenta)) && (_totalNetoComprobanteDeVentaStep == decimal.MinValue || _totalNetoComprobanteDeVentaStep.Equals(_totalNetoComprobanteDeVenta)) && (_idComprobanteDeVentaStep == null || _idComprobanteDeVentaStep.Equals(_idComprobanteDeVentaOrigen)) ) ) { this._totalNetoComprobanteDeVentaStep = this._totalNetoComprobanteDeVenta; this._idCondicionDeVentaStep = this._idCondicionDeVenta; this._idComprobanteDeVentaStep = _idComprobanteDeVentaOrigen; this._totalComprobantedDeVenta = comprobanteDeVenta.Total; this.Step(); } else { if (IsStep() && (!_idCondicionDeVentaStep.Equals(_idCondicionDeVenta) || !_totalNetoComprobanteDeVentaStep.Equals(_totalNetoComprobanteDeVenta) ) && _idComprobanteDeVentaStep.Equals(_idComprobanteDeVentaOrigen)) { this._idCondicionDeVentaStep = this._idCondicionDeVenta; this._totalComprobantedDeVenta = comprobanteDeVenta.Total; if (MustResetRecargos()) { ResetRecargos(); } } else { if (IsStep() && !_idComprobanteDeVentaStep.Equals(_idComprobanteDeVentaOrigen)) { this._modified = false; ResetRecargos(); this._idComprobanteDeVentaStep = _idComprobanteDeVentaOrigen; this._totalNetoComprobanteDeVentaStep = this._totalNetoComprobanteDeVenta; this._idCondicionDeVentaStep = this._idCondicionDeVenta; this._totalComprobantedDeVenta = comprobanteDeVenta.Total; this.Step(); } } } } } _allowShow = _formasDePagos.Count > 0; //!(_formasDePagos.Count == 0 || (_formasDePagos.Count == 1 && _recargos.Count == 1 )); if (ObjectHasChanged != null) { ObjectHasChanged(this, new EventArgs()); } } } if (sender.GetType().Equals(typeof(mz.erp.businessrules.SeleccionItemsPendientes))) { SeleccionItemsPendientes ItemsPendientes = (SeleccionItemsPendientes)sender; if (ItemsPendientes.RelacionesComprobanteOrigenDestino != null && ItemsPendientes.RelacionesComprobanteOrigenDestino.Count > 0) { this._relacionesComprobanteOrigenDestino = ItemsPendientes.RelacionesComprobanteOrigenDestino; } } }
private void LoadFromSeleccionarItemsPendientesPorItem(SeleccionItemsPendientes sip) { _relaciones = new RelacionesComprobanteOrigenDestino(); _relaciones.IdCuenta = sip.RelacionesComprobanteOrigenDestino.IdCuenta; _relaciones.Observaciones = sip.RelacionesComprobanteOrigenDestino.Observaciones; foreach (RelacionComprobanteOrigenDestino crod in sip.RelacionesComprobanteOrigenDestino) { string IdTipoDeComprobanteOrigen = crod.IdTipoDeComprobante; string IdComprobante = crod.IdComprobante; long ordinal = crod.OrdinalOrigen; string TipoComprobanteDestino = string.Empty; if (_tableHaciaAdelante.ContainsKey(IdTipoDeComprobanteOrigen)) { //German 20090520 if (crod.CantidadDestino > 0) { //Fin German 20090520 ArrayList TipoComprobanteDestinoList = (ArrayList)_tableHaciaAdelante[IdTipoDeComprobanteOrigen]; TipoComprobanteDestino = mz.erp.systemframework.Util.PackString(TipoComprobanteDestinoList); DataSet data = Workflow.GetCaminoComprobantesOrdinalTopDown(IdComprobante, ordinal, TipoComprobanteDestino); decimal cantIntemerdios = 0; decimal cantFinales = 0; string IdComprobantePreparado = string.Empty; string IdTipoDeComprobantePreparado = string.Empty; long OrdinalPreparado = -1; foreach (DataRow row in data.Tables[0].Rows) { string ITDC = Convert.ToString(row["IdTipoDeComprobante"]); decimal cant = Convert.ToDecimal(row["Cantidad"]); long ord = Convert.ToInt64(row["Ordinal"]); if (_comprobantesIntermedios.Contains(ITDC)) { IdComprobantePreparado = Convert.ToString(row["IdComprobante"]); IdTipoDeComprobantePreparado = ITDC; OrdinalPreparado = ord; cantIntemerdios = cant; } if (TipoComprobanteDestinoList.Contains(ITDC)) { cantFinales = cantFinales + cant; } } //Se debe anular el comprobante de preparado pues no fue entregada if ((cantIntemerdios - cantFinales) > 0) { RelacionComprobanteOrigenDestino rcod = new RelacionComprobanteOrigenDestino( IdComprobantePreparado, IdTipoDeComprobantePreparado, string.Empty, OrdinalPreparado, cantIntemerdios, crod.CantidadDestino, crod.IdProducto, crod.Descripcion, crod.Precio, crod.IdCondicionDeVenta, crod.PrecioNetoActual, string.Empty, string.Empty, string.Empty, crod.IdListaDePrecios, crod.CoeficienteListaDePrecios, crod.ModoDeAplicacionListaDePrecios, crod.IdListaDePreciosDefault); _relaciones.Add(rcod); } } //German 20090520 } //Fin German 20090520 } }