private async void MethodLoadDetalle() { await Task.Factory.StartNew(() => { try { var vrCollectionESGR_VentaCuenta = new BSGR_VentaCuenta().GetCollectionESGR_VentaCuenta(ESGR_Venta.IdVenta); Application.Current.Dispatcher.Invoke(() => { vrCollectionESGR_VentaCuenta.ToList().ForEach(x => { var vrCollectionVentaDetalle = new BSGR_VentaDetalle().GetCollectionVentaDetalle(ESGR_Venta.IdVenta); x.JsonDetalle = JsonConvert.SerializeObject(vrCollectionVentaDetalle); decimal dmlImporte = vrCollectionVentaDetalle.Where(z => z.ESGR_VentaCuenta.IdCuenta == x.IdCuenta).Sum(y => y.Precio *y.CantidadPagar); dmlImporte = (dmlImporte + x.Adicional - x.Descuento); CollectionESGR_VentaDetalle.Add(new ESGR_VentaDetalle() { ESGR_VentaCuenta = x, Importe = dmlImporte }); }); MethodCalcular(); }); } catch (Exception ex) { CmpMessageBox.Show(SGRMessage.AdministratorVenta, ex.Message, CmpButton.Aceptar); } }); }
private bool MethodValidaDatos() { if (CollectionESGR_VentaDetalle.Count() == 0) { CmpMessageBox.Show(SGRMessage.AdministratorVenta, "No hay detalle que guardar.", CmpButton.Aceptar); return(true); } else if (CollectionESGR_PedidoDetalle.Count(x => x.Cantidad > 0) > 0) { CmpMessageBox.Show(SGRMessage.AdministratorVenta, "Aun hay platos pendientes de pago.", CmpButton.Aceptar); return(true); } return(false); }
private void MethodCalcularTotales() { try { decimal IGV = 0; IGV = SGRVariables.ESGR_Retencion.IGV / 100; var ImporteTemp = CollectionESGR_VentaDetalle.Sum(x => x.Importe); ESGR_VentaCuenta.ImporteIGV = Convert.ToDecimal(ImporteTemp * IGV); ESGR_VentaCuenta.Gravada = Convert.ToDecimal(ImporteTemp - ESGR_VentaCuenta.ImporteIGV); Importe = Convert.ToDecimal(ESGR_VentaCuenta.Adicional - ESGR_VentaCuenta.Descuento + ESGR_VentaCuenta.ImporteIGV + ESGR_VentaCuenta.Gravada); } catch (Exception ex) { CmpMessageBox.Show(SGRMessage.AdministratorVenta, ex.Message, CmpButton.Aceptar); } }
private string MethodCuentasXML() { string strCadena = "<ROOT>", strDocIdentidad = string.Empty; CollectionESGR_VentaDetalle.ToList().ForEach(x => { switch (x.ESGR_VentaCuenta.ESGR_Cliente.NroDocIdentidad.Trim().Length) { #region casos DocIdentidad case 8: strDocIdentidad = "DNI"; break; case 11: strDocIdentidad = "RUC"; break; #endregion } strCadena += "<Listar "; strCadena += "xIdEmpSucursal = \'" + SGRVariables.ESGR_Usuario.ESGR_Empresa.IdEmpresa; strCadena += "\' xIdCuenta = \'" + x.ESGR_VentaCuenta.IdCuenta; strCadena += "\' xIdCliente = \'" + x.ESGR_VentaCuenta.ESGR_Cliente.IdCliente; strCadena += "\' xDocIdentidad = \'" + strDocIdentidad; strCadena += "\' xNroIdentidad = \'" + x.ESGR_VentaCuenta.ESGR_Cliente.NroDocIdentidad; strCadena += "\' xCliente = \'" + x.ESGR_VentaCuenta.ESGR_Cliente.Cliente; strCadena += "\' xDireccion = \'" + x.ESGR_VentaCuenta.ESGR_Cliente.Direccion; strCadena += "\' xIdMedioPago = \'" + x.ESGR_VentaCuenta.ESGR_MedioPago.IdMedioPago; strCadena += "\' xCodMoneda = \'" + x.ESGR_VentaCuenta.ESGR_Moneda.CodMoneda; strCadena += "\' xCodDocumento = \'" + x.ESGR_VentaCuenta.ESGR_Documento.CodDocumento; strCadena += "\' xSerie = \'" + x.ESGR_VentaCuenta.Serie; strCadena += "\' xNumero = \'" + x.ESGR_VentaCuenta.Numero; strCadena += "\' xFecha = \'" + x.ESGR_VentaCuenta.Fecha.ToString("yyyyMMdd"); strCadena += "\' xGravada = \'" + x.ESGR_VentaCuenta.Gravada; strCadena += "\' xIGV = \'" + x.ESGR_VentaCuenta.IGV; strCadena += "\' xImporteIGV = \'" + x.ESGR_VentaCuenta.ImporteIGV; strCadena += "\' xAdicional = \'" + x.ESGR_VentaCuenta.Adicional; strCadena += "\' xDescuento = \'" + x.ESGR_VentaCuenta.Descuento; strCadena += "\' xImporteDscto = \'" + x.ESGR_VentaCuenta.ImporteDscto; strCadena += "\'></Listar>"; }); strCadena += "</ROOT>"; return(strCadena); }
private void MethodSetParameter(object value) { if (value is object[]) { object[] Arreglo = (object[])value; #region REINICIO CALCULO Importe = 0; ImporteDscto = 0; Efectivo = 0; Vuelto = 0; #endregion if (Arreglo[0] is ESGR_Venta) { ESGR_VentaCuenta.ESGR_Venta = (ESGR_Venta)Arreglo[0]; } if (Arreglo[2] is CmpObservableCollection <ESGR_VentaDetalle> ) { ESGR_VentaCuenta.Opcion = "I"; CollectionESGR_PedidoDetalle.Source = (CmpObservableCollection <ESGR_PedidoDetalle>)Arreglo[1]; CollectionESGR_DetalleVenta.Source = (CmpObservableCollection <ESGR_VentaDetalle>)Arreglo[2]; ESGR_VentaCuenta.IdCuenta = (CollectionESGR_DetalleVenta.Count == 0) ? 1 : CollectionESGR_DetalleVenta.LastOrDefault().ESGR_VentaCuenta.IdCuenta + 1; ESGR_VentaCuenta.Adicional = 0; ESGR_VentaCuenta.Descuento = 0; PropertyEnableUpdate = true; PropertyEnableUpdateAddOneCount = true; PropertyEnabledColumnCantidadAPagar = true; } else { CollectionESGR_VentaDetalle.Source = (CmpObservableCollection <ESGR_VentaDetalle>)Arreglo[1]; CollectionESGR_VentaDetalle.OrderByDescending(x => x.Cantidad); ESGR_VentaCuenta = (ESGR_VentaCuenta)Arreglo[2]; PropertyEnableUpdate = (ESGR_VentaCuenta.Opcion != "U"); PropertyEnableUpdateAddOneCount = false; PropertyEnabledColumnCantidadAPagar = (ESGR_VentaCuenta.Opcion != "U"); } MethodLoadHeader(); } }
private string MethodDetalleXML() { string strCadena = "<ROOT>"; CollectionESGR_VentaDetalle.ToList().ForEach(y => { var vrCollectionVentaDetalle = JsonConvert.DeserializeObject <CmpObservableCollection <ESGR_VentaDetalle> >(y.ESGR_VentaCuenta.JsonDetalle); vrCollectionVentaDetalle.ToList().ForEach(x => { strCadena += "<Listar "; strCadena += "xIdCuenta = \'" + y.ESGR_VentaCuenta.IdCuenta; strCadena += "\' xIdProducto = \'" + x.ESGR_Producto.IdProducto; strCadena += "\' xCantidad = \'" + x.CantidadPagar; strCadena += "\' xPrecio = \'" + x.ESGR_Producto.Precio; strCadena += "\' xDescuento = \'" + x.Descuento; strCadena += "\' xImporte = \'" + x.Importe; strCadena += "\'></Listar>"; }); }); strCadena += "</ROOT>"; return(strCadena); }
private bool MethodValidaDatos() { if (CollectionESGR_VentaDetalle.Count(x => x.CantidadPagar == 0) == CollectionESGR_VentaDetalle.Count) { CmpMessageBox.Show(SGRMessage.AdministratorVenta, "No ha ingresado cantidad a pagar", CmpButton.Aceptar); return(true); } #region VALIDA POR DOCUMENTO else if (SelectedESGR_Documento.CodDocumento == "FAC") { if (ESGR_VentaCuenta.ESGR_Cliente == null) { CmpMessageBox.Show(SGRMessage.AdministratorVenta, "Seleccione un Cliente", CmpButton.Aceptar); return(true); } else if (NroDocIdentidad.Trim().Length != 11) { CmpMessageBox.Show(SGRMessage.AdministratorVenta, "Ingrese Nro de Documento válido", CmpButton.Aceptar); return(true); } } else if (SelectedESGR_Documento.CodDocumento == "BOL") { if (NroDocIdentidad.Trim().Length != 0 && NroDocIdentidad.Trim().Length != 8) { CmpMessageBox.Show(SGRMessage.AdministratorVenta, "Ingrese Nro de Documento válido", CmpButton.Aceptar); return(true); } } #endregion return(false); }
private async void MethodLoadPedido(ESGR_Pedido ESGR_Pedido) { await Task.Factory.StartNew(() => { try { ESGR_VentaCuenta.ESGR_Venta.ESGR_Pedido = ESGR_Pedido; if (CollectionESGR_PedidoDetalle.Count == 0) { PropertyFiltroPedido = string.Empty; } Application.Current.Dispatcher.Invoke(() => { if (ESGR_VentaCuenta.Opcion == "I") { CollectionESGR_VentaDetalle.Clear(); CollectionESGR_PedidoDetalle.ToList().ForEach(x => { CollectionESGR_VentaDetalle.Add(new ESGR_VentaDetalle() { Cantidad = x.Cantidad, ESGR_Producto = x.ESGR_Producto, ESGR_VentaCuenta = this.ESGR_VentaCuenta, Importe = 0 }); }); } }); MethodCalcularTotales(); } catch (Exception ex) { CmpMessageBox.Show(SGRMessage.AdministratorVenta, ex.Message, CmpButton.Aceptar); } }); }
private void MethodCalcular() { SumaTotalPedido = CollectionESGR_PedidoDetalle.Sum(x => x.ESGR_Producto.Precio * x.Cantidad); SumaTotalDetalle = CollectionESGR_VentaDetalle.Sum(x => x.Importe); }
private void MethodClear() { CollectionESGR_PedidoDetalle.Clear(); CollectionESGR_VentaDetalle.Clear(); }