Пример #1
0
 private void TextBox6_TextChanged(object sender, EventArgs e)    // búsqueda por id de la nota de envío para agregar a pedido
 {
     if (textBox6.Text != "")
     {
         try { long.Parse(textBox6.Text); } catch { return; };
         long        id   = long.Parse(textBox6.Text);
         NotaDeEnvio nota = _lstNotaDeEnvios.Find(x => x.Id == id);
         if (nota != null)
         {
             label16.Text = nota.Cliente.Direccion;
             if (comboBox5.Text != "")
             {
                 button6.Enabled = true;
             }
             else
             {
                 button6.Enabled = false;
             }
         }
         else
         {
             label16.Text    = "No encontrado";
             button6.Enabled = false;
         }
     }
     else
     {
         label16.Text    = "";
         button6.Enabled = false;
     }
 }
Пример #2
0
        private static void DeleteNotaDeEnvio(NotaDeEnvio notaDeEnvio)
        {
            bool response = _service.Delete(notaDeEnvio);

            if (!response)
            {
                Console.WriteLine("Algo falló al eliminar Nota de Envío de la base de datos");
            }
        }
Пример #3
0
        private static void AddNotaDeEnvio(NotaDeEnvio notaDeEnvio)
        {
            bool response = _service.Add(notaDeEnvio);

            if (!response)
            {
                Console.WriteLine("Algo falló al agregar Nota de Envío a base de datos");
            }
        }
Пример #4
0
        private static bool EditNotaDeEnvio(NotaDeEnvio notaDeEnvio)
        {
            bool response = _service.Edit(notaDeEnvio);

            if (!response)
            {
                Console.WriteLine("Algo falló al editar Nota de Envío en base de datos");
            }
            return(response);
        }
Пример #5
0
        private static long AddNotaDeEnvioReturnId(NotaDeEnvio notaDeEnvio)
        {
            long response = AddAndGetId(notaDeEnvio);

            if (response == 0)
            {
                Console.WriteLine("Algo falló al agregar Nota de Envío a base de datos");
            }
            return(response);
        }
Пример #6
0
 private static long AddAndGetId(NotaDeEnvio notaDeEnvio)
 {
     try
     {
         _service.Add(notaDeEnvio);
         List <NotaDeEnvio> lst = getNotaDeEnvios();
         return(lst.Last().Id);
     }
     catch { return(0); }
 }
Пример #7
0
        private void AgregarProductoVendido_btn9_Click(object sender, EventArgs e)
        {
            try { long.Parse(textBox7.Text); } catch { return; };
            Producto productoNuevo = getProductoPorNombreExacto(label25.Text);

            if (productoNuevo == null)
            {
                return;
            }
            try { long.Parse(textBox7.Text); } catch { return; };
            NotaDeEnvio notaDeEnvio = getNotaDeEnvio(long.Parse(textBox7.Text));

            try { int.Parse(textBox10.Text); } catch { return; };

            ProdVendido nuevoProdVendido = new ProdVendido()
            {
                Cantidad      = int.Parse(textBox10.Text),
                Precio        = productoNuevo.Precio,
                ProductoId    = productoNuevo.Id,
                NotaDeEnvioId = getNotaDeEnvio(long.Parse(textBox7.Text)).Id,
                Descripcion   = productoNuevo.Nombre
            };

            if (productoNuevo.Tipo == TipoProducto.Saldo.ToString() &&
                (productoNuevo.SubTipo == TipoSaldo.Bonificacion.ToString() || productoNuevo.SubTipo == TipoSaldo.Devolucion.ToString()))
            {
                nuevoProdVendido.Precio *= -1;
            }

            _lstProdVendidos.Add(nuevoProdVendido);

            editNotaDeEnvioAgregar(notaDeEnvio, new List <ProdVendido>()
            {
                nuevoProdVendido
            });
            ActualizarNotas();
            ActualizarGrid1(_lstNotaDeEnvios);
            ActualizarGrid2(_lstProdVendidos);
            decimal impTotal = 0;

            foreach (ProdVendido prodVend in _lstProdVendidos)
            {
                impTotal += prodVend.Cantidad * prodVend.Precio;
            }
            label20.Text      = impTotal.ToString();
            label25.Text      = "";
            label26.Text      = "";
            textBox9.Text     = "";
            textBox10.Text    = "";
            textBox11.Text    = "";
            textBox11.Visible = false;
            button9.Enabled   = false;
        }
Пример #8
0
        public List <NotaDeEnvio> ObtenerListaAImprimir()
        {
            List <NotaDeEnvio> listaAImprimir = new List <NotaDeEnvio>();

            if (comboBox2.SelectedItem.ToString() == "No impresas")
            {
                foreach (NotaDeEnvio nota in _lstNotaDeEnvios)
                {
                    if (nota.Impresa == 0)
                    {
                        listaAImprimir.Add(nota);
                    }
                }
            }
            if (comboBox2.SelectedItem.ToString() == "Hoy")
            {
                foreach (NotaDeEnvio nota in _lstNotaDeEnvios)
                {
                    if (nota.Fecha == DateTime.UtcNow.ToString(Constants.FormatoDeFecha))
                    {
                        listaAImprimir.Add(nota);
                    }
                }
            }
            if (
                comboBox2.SelectedItem.ToString() == "Establecer rango" &&
                textBox2.Text != "" &&
                textBox3.Text != ""
                )
            {
                try
                {
                    int j = int.Parse(textBox3.Text);
                    for (int i = int.Parse(textBox2.Text); i <= j; i++)
                    {
                        NotaDeEnvio nota = _lstNotaDeEnvios.Find(x => x.Id == i);
                        if (nota != null)
                        {
                            listaAImprimir.Add(nota);
                        }
                    }
                }
                catch { MessageBox.Show("Rango establecido incorrecto"); }
            }
            return(listaAImprimir);
        }
Пример #9
0
        private void AgregarPedidoDesdeNota_Click(object sender, EventArgs e)
        {
            try { long.Parse(textBox6.Text); } catch { return; };
            string      diaDeReparto  = comboBox4.Text;
            string      nombreReparto = comboBox5.Text;
            NotaDeEnvio notaDeEnvio   = getNotaDeEnvio(long.Parse(textBox6.Text));
            Reparto     reparto       = getRepartoPorDiaYNombre(diaDeReparto, nombreReparto);

            if (notaDeEnvio == null || reparto == null)
            {
                return;
            }
            addOrEditPedidoEnReparto(reparto, notaDeEnvio.Cliente, notaDeEnvio.ProdVendidos.ToList());
            comboBox5.Text  = "";
            comboBox4.Text  = "";
            textBox6.Text   = "";
            button6.Enabled = false;
            label16.Text    = "";
        }
Пример #10
0
        private static NotaDeEnvio EditNotaDeEnvioQuitar(NotaDeEnvio notaDeEnvio, ProdVendido prodVendidoAEliminar)
        {
            DProdVendido.deleteProdVendido(prodVendidoAEliminar);
            List <ProdVendido> lstAuxiliar = new List <ProdVendido>();

            foreach (ProdVendido prodVendido in notaDeEnvio.ProdVendidos)
            {
                if (prodVendido.ProductoId != prodVendidoAEliminar.ProductoId)
                {
                    lstAuxiliar.Add(prodVendido);
                }
            }
            notaDeEnvio.ProdVendidos = lstAuxiliar;
            notaDeEnvio.ImporteTotal = ExtraerImporteDeNotaDeEnvio(lstAuxiliar);
            notaDeEnvio.Detalle      = ExtraerDetalleDeNotaDeEnvio(lstAuxiliar);
            editNotaDeEnvio(notaDeEnvio);
            // falta eliminar producto vendido
            return(notaDeEnvio);
        }
Пример #11
0
 // Agregar o Quitar producto vendido de nota de envio
 private void TextBox7_TextChanged(object sender, EventArgs e)
 {
     if (textBox7.Text != "")
     {
         try { long.Parse(textBox7.Text); } catch { return; };
         NotaDeEnvio notaDeEnvio = getNotaDeEnvio(long.Parse(textBox7.Text));
         if (notaDeEnvio != null)
         {
             if (notaDeEnvio.ProdVendidos == null)
             {
                 return;
             }
             _lstProdVendidos = notaDeEnvio.ProdVendidos.ToList();
             ActualizarGrid2(_lstProdVendidos);
             decimal impTotal = 0;
             foreach (ProdVendido nota in _lstProdVendidos)
             {
                 impTotal += nota.Cantidad * nota.Precio;
             }
             label20.Text = impTotal.ToString();
             if (notaDeEnvio.Cliente != null && notaDeEnvio.Cliente.Direccion != null)
             {
                 label18.Text = notaDeEnvio.Cliente.Direccion.ToString() +
                                " - " + notaDeEnvio.ClienteId.ToString();
             }
         }
         else
         {
             label18.Text = "No encontrado";
             label20.Text = "0";
             _lstProdVendidos.Clear();
             ActualizarGrid2(_lstProdVendidos);
         }
     }
     else
     {
         label18.Text = "";
         label20.Text = "0";
         _lstProdVendidos.Clear();
         ActualizarGrid2(_lstProdVendidos);
     }
 }
Пример #12
0
        public void Rellenar_Datos(NotaDeEnvio notaDeEnvio)
        {
            _notaDeEnvio = notaDeEnvio;
            try
            {
                lFecha.Text = invertirFecha(_notaDeEnvio.Fecha);
                string elcodigo = _notaDeEnvio.Id.ToString();
                for (int i = elcodigo.Length; i < 5; i++)
                {
                    elcodigo = "0" + elcodigo;
                }
                lCodigo.Text = elcodigo;
                //int separador = _notaDeEnvio.Client.Direccion.IndexOf('-');
                //lCalle.Text = _notaDeEnvio.Client.Direccion.Substring(0, separador);
                lCalle.Text = _notaDeEnvio.Cliente.Direccion;
                //lLocalidad.Text = nota_notaDeEnvioDeEnvio.Client.Direccion.Substring(separador + 1);
                lLocalidad.Text = " ";
                lTotal.Text     = "$ " + _notaDeEnvio.ImporteTotal.ToString(".00");

                foreach (ProdVendido pvActual in _notaDeEnvio.ProdVendidos)
                {
                    if (pvActual.Producto.Tipo == TipoProducto.Saldo.ToString())
                    {
                        label1.Text += Environment.NewLine;
                    }
                    else
                    {
                        label1.Text += pvActual.Cantidad.ToString() + Environment.NewLine;
                    }
                    //label2.Text = label2.Text + pvActual.Descripcion + " ($" + pvActual.Precio.ToString(".00") + " c/u)" + Environment.NewLine;
                    label2.Text = label2.Text + pvActual.Descripcion + Environment.NewLine;
                    label3.Text = label3.Text + (pvActual.Precio * pvActual.Cantidad).ToString(".00") + Environment.NewLine;
                }
            }
            catch (Exception exc)
            {
                MessageBox.Show("Error rellenando los datos: " + exc.Message);
            }
        }
Пример #13
0
        private static NotaDeEnvio EditNotaDeEnvioAgregar(NotaDeEnvio notaDeEnvio, List <ProdVendido> lstProdVendidos)
        {
            if (notaDeEnvio.ProdVendidos == null || notaDeEnvio.ProdVendidos.Count == 0)
            {
                notaDeEnvio.ProdVendidos = new List <ProdVendido>();
                notaDeEnvio.ProdVendidos.ToList().AddRange(lstProdVendidos);
                notaDeEnvio.ImporteTotal = ExtraerImporteDeNotaDeEnvio(lstProdVendidos);
                notaDeEnvio.Detalle      = ExtraerDetalleDeNotaDeEnvio(lstProdVendidos);
            }
            else
            {
                foreach (ProdVendido prodVendidoNuevo in lstProdVendidos)
                {
                    bool exists = false;
                    foreach (ProdVendido prodVendidoNDC in notaDeEnvio.ProdVendidos)
                    {
                        if (prodVendidoNDC.Id == prodVendidoNuevo.ProductoId)
                        {
                            exists = true;
                            prodVendidoNDC.Cantidad += prodVendidoNuevo.Cantidad;
                        }
                    }
                    if (!exists)
                    {
                        notaDeEnvio.ProdVendidos.Add(prodVendidoNuevo);
                    }
                    notaDeEnvio.ImporteTotal += prodVendidoNuevo.Precio * prodVendidoNuevo.Cantidad;
                    string descripcion = DProdVendido.editDescripcion(prodVendidoNuevo.Descripcion);
                    notaDeEnvio.Detalle += prodVendidoNuevo.Cantidad.ToString() + "x " + descripcion + ". ";
                }
            }
            bool success = editNotaDeEnvio(notaDeEnvio);

            if (!success)
            {
                return(null);
            }
            return(notaDeEnvio);
        }
Пример #14
0
 private void Quitar_btn8_Click(object sender, EventArgs e)
 {
     if (label18.Text != "" && label18.Text != "No encontrado" && textBox7.Text != "")
     {
         try { long.Parse(textBox7.Text); } catch { return; };
         NotaDeEnvio notaDeEnvio = getNotaDeEnvio(long.Parse(textBox7.Text));
         ProdVendido prodVendido = getProdVendidoPorNombre(label22.Text);
         if (notaDeEnvio == null || prodVendido == null)
         {
             return;
         }
         if (_lstProdVendidos.Count < 2)
         {
             MessageBox.Show("No se puede quitar el único producto que tiene una nota, hay que eliminarla");
             return;
         }
         notaDeEnvio = editNotaDeEnvioQuitar(notaDeEnvio, prodVendido);
         prodVendido.NotaDeEnvioId = null;
         editProdVendido(prodVendido);
         ActualizarNotas();
         ActualizarGrid1(_lstNotaDeEnvios);
         var aux = new List <ProdVendido>();
         aux.AddRange(_lstProdVendidos);
         _lstProdVendidos.Clear();
         aux.ForEach(prodVend =>
         {
             if (prodVend.Id != prodVendido.Id)
             {
                 _lstProdVendidos.Add(prodVend);
             }
         });
         ActualizarGrid2(_lstProdVendidos);
         label20.Text    = notaDeEnvio.ImporteTotal.ToString();
         textBox8.Text   = "";
         label22.Text    = "";
         button8.Enabled = false;
     }
 }
Пример #15
0
 public FormImprimirNota()
 {
     InitializeComponent();
     _notaDeEnvio = new NotaDeEnvio();
 }
Пример #16
0
        private void ConfirmarCrearNota_Click(object sender, EventArgs e)
        {
            if (labelClienteId.Text != "" && labelClienteId.Text != "No encontrado")
            {
                var cliente = getClientePorDireccionExacta(label36.Text);
                if (cliente == null)
                {
                    return;
                }

                NotaDeEnvio nuevaNota = new NotaDeEnvio
                {
                    ClienteId    = cliente.Id,
                    Fecha        = DateTime.Now.ToString(Constants.FormatoDeFecha),
                    Impresa      = 0,
                    Detalle      = extraerDetalleDeNotaDeEnvio(_lstProdVendidos),
                    ImporteTotal = extraerImporteDeNotaDeEnvio(_lstProdVendidos)
                };
                long notaId = addNotaDeEnvioReturnId(nuevaNota);
                if (notaId == 0)
                {
                    MessageBox.Show("Falló al procesar Nota nueva");
                    return;
                }
                foreach (ProdVendido prodVendido in _lstProdVendidos)
                {
                    prodVendido.NotaDeEnvioId = notaId;
                    addProdVendido(prodVendido);
                }
                if (checkBox4.Checked)      // agregar productos vendidos a lista de registros y a lista de ventas
                {
                    RegistroVenta nuevoRegistro = new RegistroVenta
                    {
                        ClienteId     = cliente.Id,
                        Cliente       = cliente,
                        Fecha         = DateTime.Now.ToString(Constants.FormatoDeFecha),
                        NombreCliente = cliente.Direccion
                    };
                    long registroId = addRegistroVentaReturnId(nuevoRegistro);
                    foreach (var prodVendido in _lstProdVendidos)
                    {
                        prodVendido.RegistroVentaId = registroId;
                        if (esProducto(prodVendido.Producto))
                        {
                            List <Venta> lstVentas = getVentas();
                            bool         exists    = false;
                            foreach (var venta in lstVentas)
                            {
                                if (venta.ProductoId == prodVendido.ProductoId)
                                {
                                    exists          = true;
                                    venta.Cantidad += prodVendido.Cantidad;
                                    editVenta(venta);
                                }
                            }
                            if (!exists)
                            {
                                Venta nuevaVenta = new Venta
                                {
                                    ProductoId = prodVendido.ProductoId,
                                    Cantidad   = prodVendido.Cantidad,
                                    Producto   = getProducto(prodVendido.ProductoId)
                                };
                                addVenta(nuevaVenta);
                            }
                        }
                    }
                }
                if (checkBox1.Checked)      // imprimir checkbox
                {
                    var form = Program.GetConfig().GetRequiredService <FormImprimirNota>();
                    form.Rellenar_Datos(nuevaNota);
                    form.Show();
                }
                if (checkBox3.Checked)     // enviar a hoja de reparto como pedido nuevo para X reparto
                {
                    Reparto reparto = getRepartoPorDiaYNombre(comboBox4.Text, comboBox3.Text);
                    Pedido  pedido  = reparto.Pedidos.ToList().Find(x => x.ClienteId != cliente.Id);
                    if (reparto == null || pedido == null)
                    {
                        return;
                    }
                    addOrEditPedidoEnReparto(reparto, cliente, _lstProdVendidos);
                    foreach (ProdVendido prodVendido in _lstProdVendidos)
                    {
                        prodVendido.PedidoId = pedido.Id;
                        editProdVendido(prodVendido);
                    }
                }
                Close();
            }
            else
            {
                MessageBox.Show("Verifique los campos");
            }
        }