private void button1_Click(object sender, EventArgs e)
        {
            //para mostrar todos
            string [] Criterios = new string[3];
            ClienteBL objClienteBL = new ClienteBL();
            Criterios[0]= "";
            Criterios[0]=this.txtNombre.Text;
            Criterios[1] = "Todos";
            Criterios[1] = cmbTipoDoc.SelectedItem.ToString();
            Criterios [2] = "";
            Criterios[2] = this.txtNroDoc.Text;

            clientesBuscados = objClienteBL.BuscarCriterios(Criterios);
            dtgAdmCliente.Rows.Clear();
            foreach(Cliente cliente in clientesBuscados){
                object[] row = {cliente.Nombre,cliente.TipoDocumento,cliente.NroDocumento, cliente.Direccion,cliente.Telefono };
                dtgAdmCliente.Rows.Add(row);
            }
        }
Beispiel #2
0
        private void btnRegistrar_Click(object sender, EventArgs e)
        {
            if (validaMontos())
            {

                documento.Caja = new RegistroCajaBL().DameCaja(empleado);
                documento.Cliente = cliente;
                documento.FechaAnulacion = new DateTime(1979, 1, 1);
                documento.FechaEmision = DateTime.Now;
                documento.NroDocumentoVenta = empleado.Local.Id;
                documento.Subtotal = float.Parse(txtSubtotal.Text);
                documento.TipoCambio = tipoCambio;
                documento.Total = float.Parse(txtTotal.Text);
                documentoVenta.Documento = documento;
                documentoVenta.DescuentoArticulo = 0;
                documentoVenta.DescuentoCliente = 0;
                documentoVenta.DescuentoPacks = 0;
                if (cliente != null)
                {
                    /*$$$$$$$$$$ INICIO DE LOS PUNTOS $$$$$$$$$$$$$*/

                    //para lo de los puntos, despues de cada compra el cliente estara en una nueva categoria

                    Single Tn = (Single)ObtenerDias(DateTime.Now, (DateTime)cliente.FechaUltimaCompra);//como sacar en enteros esta diferencia o singe
                    cliente.FechaUltimaCompra = DateTime.Now;//ultima fecha de compra
                    Single Sn = cliente.Frecuencia * cliente.Cantidad;//la suma de todos los intervalos
                    cliente.Cantidad++; //actualizo la cantidad de compras
                    cliente.Frecuencia = (Single)(Sn + Tn) / (cliente.Cantidad); //la nueva frecuencia
                    //reduccion del parametro para q salga chv xD
                    if (cliente.Frecuencia <= 0)
                        cliente.Frecuencia = (Single)1.0;
                    else if (cliente.Frecuencia >= 10.0)
                        cliente.Frecuencia = (Single)10.0;

                    cliente.Puntos += (Int32)documento.Subtotal; //actualizo en funcion a la compra
                    //10 dias sera mi frecuencia normal
                    Single fraccion = ((Single)11.0 - cliente.Frecuencia) / (Single)10.0;
                    cliente.Ratio = (Single)fraccion * ((Single)cliente.Puntos);
                    //segun el ratio actualizo la categoria

                    //obtengo la lista de categorias
                    IList<CategoriaCliente> CategoriasActuales = new List<CategoriaCliente>();
                    CategoriaClienteBL objCategoriaBL = new CategoriaClienteBL();
                    CategoriasActuales = objCategoriaBL.GetAll();
                    foreach (CategoriaCliente Cat in CategoriasActuales)
                    {
                        if (Cat.PuntosMaximo >= (Int32)cliente.Ratio && Cat.PuntosMinimo <= (Int32)cliente.Ratio)
                            cliente.CategoriaCliente = Cat;
                    }
                    //falta grabar esa modificacion del cliente
                    //le asigno la categoria
                    ClienteBL objclibl = new ClienteBL();
                    objclibl.Grabar(cliente);
                    /*$$$$$$$$$$ FIN DE LOS PUNTOS $$$$$$$$$$$$$*/
                }

                new DocVentaBL().Vender(documento, documentoVenta, lineasDocumento, lineasMedioPago);
                Utils.Utils.OK(Utils.Utils.REGISTRO_OK);

                if (Utils.Utils.ContinuarOperacion("Desea exportar el documento?"))
                {
                    NotaCreditoDatos ds = new NotaCreditoBL().exportarDocumento(documento.NroDocumentoVenta.ToString());//, notaCred, lineasNotaCredito);

                    new frmDocumentoNotaCredito(ds).ShowDialog(this);
                }

                this.Dispose();
            }
            else
            {
                Utils.Utils.Error(null, "El monto total pagado es diferente al de la venta");
            }
        }
        private void button5_Click(object sender, EventArgs e)
        {
            if (ValidarCampos())
            {
                //datos generales
                objCliente.Nombre = this.txtNombre.Text;
                objCliente.TipoDocumento = cmbTipoDoc.SelectedItem.ToString();
                objCliente.NroDocumento = this.txtNroDocumento.Text;
                objCliente.Direccion = this.txtDireccion.Text;
                //objCliente.CategoriaCliente = ;
                //medios de comunicacion
                objCliente.Telefono = this.txtTelf.Text;
                objCliente.Celular = this.txtCelular.Text;
                objCliente.Email = this.txtEmail.Text;
                objCliente.Contacto = this.txtContacto.Text;
                //datos del sistema
                objCliente.FechaRegistro = System.DateTime.Today;
                objCliente.FechaUltimaCompra = System.DateTime.Today;
                objCliente.Frecuencia = 1;
                objCliente.Ratio = 1;
                objCliente.Puntos = 1;
                CategoriaCliente objCateCliente = new CategoriaCliente();
                if (!modificando)
                {
                    objCateCliente = new CategoriaCliente();
                    objCateCliente.Id = 1;
                    objCateCliente.Descripcion = "Bueno";
                    objCliente.CategoriaCliente = objCateCliente;
                }

                objClienteBL = new ClienteBL();
                objClienteBL.Grabar(objCliente);
                Utils.Utils.OK(Utils.Utils.REGISTRO_OK);
                this.Close();
            }
            else MessageBox.Show("Debe completar todos los campos");
        }