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);
 }
Exemplo n.º 3
0
 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);
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 7
0
        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);
        }
Exemplo n.º 8
0
 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);
 }
Exemplo n.º 10
0
 private void MethodClear()
 {
     CollectionESGR_PedidoDetalle.Clear();
     CollectionESGR_VentaDetalle.Clear();
 }