// POST api/<controller>
    public void Post(int[] idProductos, int[] cantidades)
    {
        En.Factura fact = new En.Factura();
        fact.FechaFactura = System.DateTime.Today;
        fact.descuento    = 5; //descuento porque estamos en prueba

        int j     = idProductos.Length;
        int monto = 0;

        for (int i = 0; i < j; i++)
        {
            //Monto total
            monto += ctProductos.GetProducto(idProductos[i], true).Precio *cantidades[i];
            //Disminuir el stock
            ctProductos.changeStock(idProductos[i], ctProductos.GetProducto(idProductos[i], true).stock - cantidades[i]);
        }

        fact.montoFinal = monto;
        ctFactura.Crear(fact);
        //Obtener el id de la facura

        int idFactura = ctFactura.getIdFactura(fact.FechaFactura);

        //ingresamos los productos uno por uno a detalle factura
        for (int i = 0; i < j; i++)
        {
            En.DetalleFactura dfact = new En.DetalleFactura();
            dfact.idFactura      = idFactura;
            dfact.precioUnitario = ctProductos.GetProducto(idProductos[i], true).Precio;
            dfact.nombres        = ctProductos.getNameProducto(idProductos[i]);
            dfact.cantidad       = cantidades[i];
            ctDetalleFactura.Crear(dfact);
        }
    }
Beispiel #2
0
        public static Resultado InsertarHistorial(Entidades.Factura historial)
        {
            try
            {
                var db = BDConn.Connector();

                var result = db.Insert(historial);

                if (result > 0)
                {
                    return(new Resultado
                    {
                        Codigo = 1,
                        Mensaje = "Insertado correctamente"
                    });
                }
                else
                {
                    return(new Resultado
                    {
                        Codigo = 99,
                        Mensaje = "Problemas al insertar"
                    });
                }
            }

            catch (Exception)
            {
                throw;
            }
        }
Beispiel #3
0
 public frmTicket(List<Producto> lista, int num, Cliente cliente,Factura tipo)
 {
     InitializeComponent();
     lpr = lista;
     this.cliente = cliente;
     numeroBoleta = num;
     factura = tipo;
     
 }
Beispiel #4
0
        public static Resultado InsertarHistorial(Entidades.Factura historial)
        {
            try
            {
                return(HistorialDAL.InsertarHistorial(historial));
            }

            catch (Exception)
            {
                throw;
            }
        }
Beispiel #5
0
 public iEntidad buscaPorId(int id)
 {
     DataRow i = manejador.ConsultarId("Select * from Facturas WHERE `IdFactura`='" + id + "';");
     ManejaCliente manejaCliente = new ManejaCliente();
     ManejaVenta manejaVenta = new ManejaVenta();
     Factura auxEva = new Factura();
     auxEva.Id = Convert.ToInt32(i["IdContacto"]);
     auxEva.Venta = (Venta)manejaVenta.buscaPorId(Convert.ToInt32(i["IdVenta"].ToString()));
     auxEva.Cliente = (Cliente)manejaCliente.buscaPorId(Convert.ToInt32(i["IdCliente"].ToString()));
     auxEva.Iva = (float)i["IVA"];
     return auxEva;
 }
Beispiel #6
0
 public EN.Factura GetFactura(int id)
 {
     try
     {
         BR.Factura fac = db.Factura.Where(x => x.idFactura == id).FirstOrDefault();
         AutoMapper.Mapper.CreateMap <BR.Factura, EN.Factura>();
         EN.Factura fact = AutoMapper.Mapper.Map <EN.Factura>(fac);
         return(fact);
     }
     catch (Exception)
     {
         throw;
     }
 }
Beispiel #7
0
        public bool Crear(EN.Factura other)
        {
            bool resultado = false;

            try
            {
                BR.Factura fact = new BR.Factura();
                fact.idCliente    = 789012;
                fact.descuento    = other.descuento;
                fact.FechaFactura = other.FechaFactura;
                fact.montoFinal   = other.montoFinal;
                db.Factura.Add(fact);
                db.SaveChanges();

                //Al annaidr una factura debemos annadir un detalleFactura y disminuir el Stock
                //Consulta del id de la factura asociada al cliente
                //var consulta = from fac in db.Factura
                //               where (fac.Cliente == fact.Cliente && fac.FechaFactura == fact.FechaFactura)
                //               select new { fac.idFactura };

                //foreach (var item in consulta)
                //{
                //    factura.idFactura = item.idFactura;
                //}

                //for (int i = 0; i < factura.DetallesFactura.Count; i++)
                //{
                //    BR.DetalleFactura detalleFactura = new BR.DetalleFactura();
                //    detalleFactura.idFactura = factura.idFactura;
                //    detalleFactura.idProducto = factura.DetallesFactura[i].idProducto;
                //    detalleFactura.cantidad = factura.DetallesFactura[i].cantidad;

                //    BR.Productos producto = db.Productos.Find(factura.DetallesFactura[i].idProducto);
                //    producto.stock = producto.stock - factura.DetallesFactura[i].cantidad;

                //    db.DetalleFactura.Add(detalleFactura);
                //    db.SaveChanges();
                //}


                resultado = true;
            }
            catch (Exception)
            {
                throw;
            }
            return(resultado);
        }
 public List<iEntidad> Todo()
 {
     DataTable aux = manejador.Consultar("Select * from factura_a;");
     ManejaCliente manejaCliente = new ManejaCliente();
     ManejaVenta manejaVenta = new ManejaVenta();
     List<iEntidad> res = new List<iEntidad>();
     foreach (DataRow i in aux.Rows)
     {
         Factura auxEva = new Factura();
         auxEva.Id = Convert.ToInt32(i["IdContacto"]);
         auxEva.Venta = (Venta)manejaVenta.buscaPorId(Convert.ToInt32(i["IdVenta"].ToString()));
         auxEva.Cliente = (Cliente)manejaCliente.buscaPorId(Convert.ToInt32(i["IdCliente"].ToString()));
         auxEva.Iva = (float)i["IVA"];
         res.Add(auxEva);
     }
     return res;
 }
        protected void btn_confirmar_Click(object sender, EventArgs e)
        {
            Factura f = new Factura();
            f.deportista = GestorDeportista.getDeportistaBuscado();

            f.fecha = DateTime.Parse(txt_fecha.Text);

            f.montoTotal = int.Parse(txt_total.Text);
            f.numero = int.Parse(txt_nroFactura.Text);
            f.tipo = txt_tipoFactura.Text;
            List<DtoProductoVenta> lista = (List<DtoProductoVenta>)Session["MiCarro"];
            String resultado = GestorFacturas.comprar(f, lista);
            this.resultad.Visible = true;
            this.resultad.Text = resultado;

            txt_tipoFactura.Enabled = false;
            cmb_tipoDoc.Enabled = false;
            txt_nroDoc.Enabled = false;
            btn_confirmar.Enabled = false;

            Session["MiCarro"] = new List<DtoProductoVenta>();
        }
Beispiel #10
0
        public List <EN.Factura> GetFacturas()
        {
            List <BR.Factura> query    = db.Factura.ToList();
            List <EN.Factura> listDest = new List <EN.Factura>();


            //Recorremos la consulta
            foreach (var item in query)
            {
                EN.Factura other = new EN.Factura();
                other.descuento    = item.descuento;
                other.FechaFactura = item.FechaFactura;
                other.idCliente    = item.Cliente.nombre;
                other.idFactura    = item.idFactura;
                other.montoFinal   = item.montoFinal;

                //Annadimos a la lista que retornamos
                listDest.Add(other);
            }


            return(listDest);
        }
Beispiel #11
0
        public static List<Factura> GetByFiltros(int est, int tipDoc, int? nroDoc, double? montoDesde, double? mostoHasta, string nom, string ape, string raSoc, int? cuit, DateTime? fdesde,DateTime? fhasta, char tipoFac, int index)
        {
            Acceso ac = new Acceso();

            List<Factura> facturas = new List<Factura>();

            string sql = "SELECT * from CONSULTAR_FACTURA where 1=1";
            SqlCommand cmd = new SqlCommand();
            SqlConnection conexion = new SqlConnection(ac.getCadenaConexion());

            if (est != -1 && est != 0)
            {
                sql += " and idEstado = @est";
                cmd.Parameters.AddWithValue("@est", est);
            }
            if (tipDoc != -1 && tipDoc != 0)
            {
                sql += " and idTipoDoc = @tipDoc";
                cmd.Parameters.AddWithValue("@tipDoc", tipDoc);
            }
            if (nroDoc.HasValue)
            {
                sql += " and nroDocumento = @nroDoc";
                cmd.Parameters.AddWithValue("@nroDoc", nroDoc);

            }
            if (montoDesde.HasValue)
            {
                sql += " and total >= @montoDesde";
                cmd.Parameters.AddWithValue("@montoDesde", montoDesde);

            }
            if (mostoHasta.HasValue)
            {
                sql += " and total <= @mostoHasta";
                cmd.Parameters.AddWithValue("@mostoHasta", mostoHasta);

            }
            if (!string.IsNullOrEmpty(ape))
            {
                sql += " and apellido like @apellido";
                cmd.Parameters.AddWithValue("@apellido", ape+"%");
            }
            if (!string.IsNullOrEmpty(nom))
            {
                sql += " and nombre like @nombre";
                cmd.Parameters.AddWithValue("@nombre", nom+"%");
            }
            if (!string.IsNullOrEmpty(raSoc))
            {
                sql += " and razonSocial like @raSoc";
                cmd.Parameters.AddWithValue("@raSoc", raSoc+"%");
            }
            if (cuit.HasValue)
            {
                sql += " and CUIT = @cuit";
                cmd.Parameters.AddWithValue("@cuit", cuit);

            }
            if (fdesde.HasValue)
            {
                sql += " and fechaNecesidad >= @fdesde";
                cmd.Parameters.AddWithValue("@fdesde", fdesde.Value);
            }
            if (fhasta.HasValue)
            {
                sql += " and fechaNecesidad <= @fhasta";
                cmd.Parameters.AddWithValue("@fhasta", fhasta.Value);
            }
            if (index != 3)
            {
                sql += " and tipoFactura = @tipo";
                cmd.Parameters.AddWithValue("@tipo", tipoFac);
            }

            try
            {
                conexion.Open();

                cmd.Connection = conexion;
                cmd.CommandText = sql;
                cmd.CommandType = CommandType.Text;

                SqlDataReader dr = cmd.ExecuteReader();

                Factura factura;
                Estado estado;
                Persona cliente;

                while (dr.Read())
                {
                    cliente = new Persona();

                    cliente.RazonSocial = dr["razonSocial"].ToString();
                    cliente.Nombre = dr["nombre"].ToString();
                    cliente.Apellido = dr["apellido"].ToString();

                    estado = new Estado();

                    estado.idEstado = Convert.ToInt32(dr["idEstado"]);
                    estado.Nombre = dr["estado"].ToString();

                    factura = new Factura();

                    factura.cliente = cliente;
                    factura.estado = estado;
                    factura.fechaCreacion = Convert.ToDateTime(dr["fecha"]);
                    factura.fechaPago = Convert.ToDateTime(dr["fechaPago"]);
                    factura.idFactura = Convert.ToInt32(dr["idFactura"]);
                    factura.importeTotal = Convert.ToDouble(dr["importe"]);
                    factura.tipoFactura = Convert.ToChar(dr["tipoFactura"].ToString());
                    factura.totalIVA = Convert.ToDouble(dr["totalIVA"]);

                    facturas.Add(factura);

                }

            }
            catch (InvalidOperationException ex)
            {
                throw new ApplicationException(ex.Message);
            }
            catch (SqlException ex)
            {
                throw new ApplicationException("Error en BD: " + ex.Message);
            }
            finally
            {
                conexion.Close();
            }

            return facturas;
        }
Beispiel #12
0
        public static String insetar(Factura f)
        {
            string resultado;
            string cadenaConexion = ConfigurationManager.ConnectionStrings["ConexionComplejo"].ConnectionString;
            SqlConnection cn = new SqlConnection();
            SqlTransaction tran = null;
            try
            {
                cn.ConnectionString = cadenaConexion;
                cn.Open();
                tran = cn.BeginTransaction();
                List<DetalleFactura> lista = f.ListaDetalles;
                string sql = "INSERT INTO facturas(fecha_fact, monto_total, cli_id, cuit) VALUES (@fecha,@monto,@idCli,@cuit)";
                SqlCommand cmd = new SqlCommand();
                cmd.CommandText = sql;
                cmd.Connection = cn;
                cmd.Transaction = tran;
                cmd.Parameters.AddWithValue("@fecha", f.Fecha);
                cmd.Parameters.AddWithValue("@monto", f.MontoFact);
                cmd.Parameters.AddWithValue("@idCli", f.IDcli1);
                cmd.Parameters.AddWithValue("@cuit", f.Cuit);
                cmd.ExecuteNonQuery();
                string sql3 = "SELECT @@IDENTITY AS 'Identity'";
                cmd.CommandText = sql3;
                cmd.Connection = cn;
                object id = cmd.ExecuteScalar();

                for (int i = 0; i < lista.Count; i++)
                {
                    cmd.Parameters.Clear();
                    string sql2 = "INSERT INTO detalle_factura(fact_id,cab_id,precio,cant_dias,subtotal) VALUES (@idFact, @idCab,@precio,@cantDias,@subtotal)";
                    cmd.CommandText = sql2;
                    cmd.Connection = cn;
                    cmd.Transaction = tran;
                    cmd.Parameters.AddWithValue("@idFact", id);
                    cmd.Parameters.AddWithValue("@idCab", lista[i].Cab);
                    cmd.Parameters.AddWithValue("@precio", lista[i].Precio);
                    cmd.Parameters.AddWithValue("@cantDias", lista[i].CantDias);
                    cmd.Parameters.AddWithValue("@subtotal", lista[i].SubTotal);
                    cmd.ExecuteNonQuery();
                    string sql5 = "UPDATE detalle_reserva SET facturada = 1 WHERE id_det = @id";
                    cmd.CommandText = sql5;
                    cmd.Connection = cn;
                    cmd.Parameters.AddWithValue("@id", lista[i].IdDet);
                    cmd.ExecuteNonQuery();

                }
                tran.Commit();
                resultado = "Facturacion Exitosa";
            }
            catch (SqlException ex)
            {
                if (cn.State == ConnectionState.Open)
                    tran.Rollback(); //Vuelvo atras los cambios
                throw new ApplicationException("Error al insertar cliente." + ex.Message);

            }
            finally
            {
                if (cn.State == ConnectionState.Open)
                    cn.Close();
            }
            return resultado;
        }
        private void button3_Click(object sender, EventArgs e)
        {
            if (lista.Count > 0)
            {
                factura = new Factura();
                venta = new Venta();
                venta.Total = total;
                venta.Fecha = DateTime.Now;
                factura.Venta = venta;
                factura.Cliente = cliente;
                factura.Iva = 0;
                
                    if (cliente.Tipo == 1)
                    {
                        // factura.Estado = true;
                        factura.Iva = (float)Convert.ToDouble(tbIva.Text);
                        if (Agrega.Venta(venta, lista, factura, true))
                        {
                            //imprime
                            frmTicket tic = new frmTicket(lista, venta.Id, cliente, factura);
                            tic.ShowDialog();
                        }
                        else
                        {
                            MessageBox.Show("Stock insuficiente para realizar la venta.", "ALERTA", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        }
                        
                            
                        
                    }
                    else
                    {
                        if (Agrega.Venta(venta, lista, factura, false))
                        {
                            //imprime
                            frmTicket tic = new frmTicket(lista, venta.Id, cliente, factura);
                            tic.ShowDialog();
                        }
                        else
                        {
                            MessageBox.Show("En este momento el Stock es insuficiente\npara realizar la venta.", "ALERTA", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        }
                        
                    }

                    limpia();
                    refrescar();

            }else
                {
                    MessageBox.Show("Debe agregar al menos un producto.", "ALERTA", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            

        }
Beispiel #14
0
 public Compra(Usuario usuarioCompra, EMetodoPago metodoPago, string cuentaPago)
 {
     this.fechaAlta     = DateTime.Now;
     this.idCompra      = idClaseCompra;
     this.facturaCompra = new Factura(metodoPago, cuentaPago, usuarioCompra.CarritoCliente(), usuarioCompra.NombreCompleto, usuarioCompra.DniUsuario);
 }
        protected void btn_facturar_Click(object sender, EventArgs e)
        {
            Factura f = new Factura();
            f.MontoFact = int.Parse(txt_total.Text);
            f.Cuit = txt_cuit.Text;
            f.Fecha = DateTime.Parse(txt_fechaActual.Text);
            f.IDcli1 = int.Parse(txt_numCli.Text);
            List<DetalleFactura> listdet = new List<DetalleFactura>();
            List<DetalleReserva> list = (List<DetalleReserva>)ViewState["view"];
            ArrayList categoryIDList = (ArrayList)Session["CHECKED_ITEMS"];
            for (int i = 0; i < categoryIDList.Count; i++)
            {
                for (int k = 0; k < list.Count; k++)
                {
                    if (categoryIDList[i].Equals(list[k].Id))
                    {

                        DetalleFactura det = new DetalleFactura();
                        det.Fact = int.Parse(txt_nroFactura.Text);
                        det.IdDet = list[k].Id;
                        det.Cab = int.Parse(list[k].Cab.IdCabania.ToString());
                        det.Precio = int.Parse(list[k].Precio.ToString());
                        det.SubTotal = int.Parse(list[k].Subtotal.ToString());
                        det.CantDias = int.Parse(list[k].CantDias.ToString());
                        listdet.Add(det);
                    }
                }

            }
            f.ListaDetalles = listdet;
            string resultado;
            resultado = GestorFactura.insetar(f);
            txt_apellido.Text = "";
            txt_nombre.Text = "";
            txt_fechaNac.Text = "";
            txt_fechaActual.Text = "";
            txt_idReserva.Text = "";
            txt_numCli.Text = "";
            txt_nroFactura.Text = "";
            txt_fechaReserva.Text = "";
            txt_cuit.Text = "";
            txt_total.Text = "";
            dgv_detalles.DataSource = null;
            dgv_detalles.DataBind();
            btn_facturar.Enabled = false;
            lbl_mensaje.Text = resultado;
        }
Beispiel #16
0
 public static string insetar(Factura f)
 {
     string resultado;
     resultado = DAOFactura.insetar(f);
     return resultado;
 }
        public static void Harcodear_lista()
        {
            int length = 30;// no pasar de 30

            string[] auxNombres    = new string[length];
            double[] auxPrecios    = new double[length];
            int[]    auxCantidades = new int[length];
            int[]    auxU_vendidas = new int[length];

            #region valores_harcodeados

            auxNombres[0]  = "Cerveza Duff";
            auxNombres[1]  = "Donas";
            auxNombres[2]  = "Super Barra energetica";
            auxNombres[3]  = "Raspados";
            auxNombres[4]  = "Goma de mascar";
            auxNombres[5]  = "Hot dog";
            auxNombres[6]  = "Chuletas";
            auxNombres[7]  = "Tomaco";
            auxNombres[8]  = "cereales Krusty";
            auxNombres[9]  = "Buzz Cola";
            auxNombres[10] = "Radioctive Man Comics";
            auxNombres[11] = "Boletos de lotería";
            auxNombres[12] = "Patatas fritas";
            auxNombres[13] = "Pan de astronauta";
            auxNombres[14] = "Chupelupes";
            auxNombres[15] = "Teléfonos móviles llenos de caramelos";
            auxNombres[16] = "Alfajor Aguila";
            auxNombres[17] = "Alfajor Fulbito";
            auxNombres[18] = "Cigarrillos laramie";
            auxNombres[19] = "Manaos Cola";
            auxNombres[20] = "Manaos Lima";
            auxNombres[21] = "Manaos Uva";
            auxNombres[22] = "Manaos Naraja";
            auxNombres[23] = "Manaos Cereza";
            auxNombres[24] = "Pitusas Frutilla";
            auxNombres[25] = "Pitusas Chocolate";
            auxNombres[26] = "Coca cola";
            auxNombres[27] = "Caramelos media hora";
            auxNombres[28] = "Cerealitas";
            auxNombres[29] = "Cerveza Duff (Sin alcohol)";



            auxCantidades[0]  = 312;
            auxCantidades[1]  = 252;
            auxCantidades[2]  = 150;
            auxCantidades[3]  = 132;
            auxCantidades[4]  = 60;
            auxCantidades[5]  = 70;
            auxCantidades[6]  = 100;
            auxCantidades[7]  = 110;
            auxCantidades[8]  = 65;
            auxCantidades[9]  = 79;
            auxCantidades[10] = 10;
            auxCantidades[11] = 75;
            auxCantidades[12] = 66;
            auxCantidades[13] = 25;
            auxCantidades[14] = 40;
            auxCantidades[15] = 23;
            auxCantidades[16] = 25;
            auxCantidades[17] = 100;
            auxCantidades[18] = 250;
            auxCantidades[19] = 200;
            auxCantidades[20] = 200;
            auxCantidades[21] = 200;
            auxCantidades[22] = 200;
            auxCantidades[23] = 1;
            auxCantidades[24] = 50;
            auxCantidades[25] = 50;
            auxCantidades[26] = 150;
            auxCantidades[27] = 1500;
            auxCantidades[28] = 46;
            auxCantidades[29] = 500;


            /*
             * auxU_vendidas[0] = 257;
             * auxU_vendidas[1] = 201;
             * auxU_vendidas[2] = 96;
             * auxU_vendidas[3] = 76;
             * auxU_vendidas[4] = 23;
             * auxU_vendidas[5] = 55;
             * auxU_vendidas[6] = 80;
             * auxU_vendidas[7] = 110;
             * auxU_vendidas[8] = 60;
             * auxU_vendidas[9] = 40;
             * auxU_vendidas[10] = 5;
             * auxU_vendidas[11] = 11;
             * auxU_vendidas[12] = 33;
             * auxU_vendidas[13] = 24;
             * auxU_vendidas[14] = 4;
             * auxU_vendidas[15] = 2;
             * auxU_vendidas[16] = 25;
             * auxU_vendidas[17] = 0;
             * auxU_vendidas[18] = 236;
             * auxU_vendidas[19] = 10;
             * auxU_vendidas[20] = 11;
             * auxU_vendidas[21] = 12;
             * auxU_vendidas[22] = 123;
             * auxU_vendidas[23] = 1;
             * auxU_vendidas[24] = 25;
             * auxU_vendidas[25] = 26;
             * auxU_vendidas[26] = 56;
             * auxU_vendidas[27] = 1;
             * auxU_vendidas[28] = 40;
             * auxU_vendidas[29] = 5;
             */


            auxPrecios[0]  = 30;
            auxPrecios[1]  = 25;
            auxPrecios[2]  = 20;
            auxPrecios[3]  = 45;
            auxPrecios[4]  = 5;
            auxPrecios[5]  = 20;
            auxPrecios[6]  = 75;
            auxPrecios[7]  = 28;
            auxPrecios[8]  = 99.99;
            auxPrecios[9]  = 70;
            auxPrecios[10] = 75;
            auxPrecios[11] = 15;
            auxPrecios[12] = 45;
            auxPrecios[13] = 105;
            auxPrecios[14] = 7;
            auxPrecios[15] = 13;
            auxPrecios[16] = 60;
            auxPrecios[17] = 2;
            auxPrecios[18] = 75;
            auxPrecios[19] = 55;
            auxPrecios[20] = 50;
            auxPrecios[21] = 50;
            auxPrecios[22] = 50;
            auxPrecios[23] = 50;
            auxPrecios[24] = 25;
            auxPrecios[25] = 25;
            auxPrecios[26] = 200;
            auxPrecios[27] = 1;
            auxPrecios[28] = 30;
            auxPrecios[29] = 15;



            #endregion

            for (int i = 0; i < length; i++)
            {
                Ultimo_id++;
                lista_productos.Add(new Producto(Ultimo_id, auxNombres[i], auxPrecios[i], auxCantidades[i], auxU_vendidas[i]));
            }


            #region Compras

            List <Factura>      auxLista          = new List <Factura>();
            List <ItemProducto> auxListaProductos = new List <ItemProducto>();
            Factura             auxFactura;

            auxListaProductos.Add(new ItemProducto(lista_productos[2], (auxCantidades[2] - (auxCantidades[2] / 2))));
            auxListaProductos.Add(new ItemProducto(lista_productos[13], (auxCantidades[13] - (auxCantidades[13] / 2))));
            auxListaProductos.Add(new ItemProducto(lista_productos[22], (auxCantidades[22] - (auxCantidades[22] / 2))));
            auxListaProductos.Add(new ItemProducto(lista_productos[11], (auxCantidades[11] - (auxCantidades[11] / 2))));
            auxFactura = new Factura(auxListaProductos, Inventario.Calcular_monto(auxListaProductos), "Apu");
            auxLista.Add(auxFactura);
            Inventario.Lista_empleados[0].Lista_ventas.Add(auxFactura);
            auxListaProductos.RemoveRange(0, auxListaProductos.Count);

            auxListaProductos.Add(new ItemProducto(lista_productos[3], (auxCantidades[3] - (auxCantidades[3] / 2))));
            auxListaProductos.Add(new ItemProducto(lista_productos[14], (auxCantidades[14] - (auxCantidades[14] / 2))));
            auxListaProductos.Add(new ItemProducto(lista_productos[23], (auxCantidades[23] - (auxCantidades[23] / 2))));
            auxListaProductos.Add(new ItemProducto(lista_productos[12], (auxCantidades[12] - (auxCantidades[12] / 2))));
            auxFactura = new Factura(auxListaProductos, Inventario.Calcular_monto(auxListaProductos), "Apu");
            auxLista.Add(auxFactura);
            Inventario.Lista_empleados[0].Lista_ventas.Add(auxFactura);
            auxListaProductos.RemoveRange(0, auxListaProductos.Count);

            auxListaProductos.Add(new ItemProducto(lista_productos[1], (auxCantidades[1] - (auxCantidades[1] / 2))));
            auxListaProductos.Add(new ItemProducto(lista_productos[10], (auxCantidades[10] - (auxCantidades[10] / 2))));
            auxListaProductos.Add(new ItemProducto(lista_productos[9], (auxCantidades[9] - (auxCantidades[9] / 2))));
            auxListaProductos.Add(new ItemProducto(lista_productos[29], (auxCantidades[29] - (auxCantidades[29] / 2))));
            auxFactura = new Factura(auxListaProductos, Inventario.Calcular_monto(auxListaProductos), "Apu");
            auxLista.Add(auxFactura);
            Inventario.Lista_empleados[0].Lista_ventas.Add(auxFactura);
            auxListaProductos.RemoveRange(0, auxListaProductos.Count);

            auxListaProductos.Add(new ItemProducto(lista_productos[5], (auxCantidades[5] - (auxCantidades[5] / 2))));
            auxListaProductos.Add(new ItemProducto(lista_productos[15], (auxCantidades[15] - (auxCantidades[15] / 2))));
            auxListaProductos.Add(new ItemProducto(lista_productos[20], (auxCantidades[20] - (auxCantidades[20] / 2))));
            auxListaProductos.Add(new ItemProducto(lista_productos[21], (auxCantidades[21] - (auxCantidades[21] / 2))));
            auxFactura = new Factura(auxListaProductos, Inventario.Calcular_monto(auxListaProductos), "Sanjay");
            auxLista.Add(auxFactura);
            Inventario.Lista_empleados[1].Lista_ventas.Add(auxFactura);
            auxListaProductos.RemoveRange(0, auxListaProductos.Count);

            auxListaProductos.Add(new ItemProducto(lista_productos[7], (auxCantidades[7] - (auxCantidades[7] / 2))));
            auxListaProductos.Add(new ItemProducto(lista_productos[17], (auxCantidades[17] - (auxCantidades[17] / 2))));
            auxListaProductos.Add(new ItemProducto(lista_productos[27], (auxCantidades[27] - (auxCantidades[27] / 2))));
            auxListaProductos.Add(new ItemProducto(lista_productos[19], (auxCantidades[19] - (auxCantidades[19] / 2))));
            auxFactura = new Factura(auxListaProductos, Inventario.Calcular_monto(auxListaProductos), "Sanjay");
            auxLista.Add(auxFactura);
            Inventario.Lista_empleados[1].Lista_ventas.Add(auxFactura);
            auxListaProductos.RemoveRange(0, auxListaProductos.Count);

            auxListaProductos.Add(new ItemProducto(lista_productos[8], (auxCantidades[8] - (auxCantidades[8] / 2))));
            auxListaProductos.Add(new ItemProducto(lista_productos[20], (auxCantidades[20] - (auxCantidades[20] / 2))));
            auxListaProductos.Add(new ItemProducto(lista_productos[16], (auxCantidades[16] - (auxCantidades[16] / 2))));
            auxListaProductos.Add(new ItemProducto(lista_productos[26], (auxCantidades[26] - (auxCantidades[26] / 2))));
            auxFactura = new Factura(auxListaProductos, Inventario.Calcular_monto(auxListaProductos), "Sanjay");
            auxLista.Add(auxFactura);
            Inventario.Lista_empleados[1].Lista_ventas.Add(auxFactura);
            auxListaProductos.RemoveRange(0, auxListaProductos.Count);

            auxListaProductos.Add(new ItemProducto(lista_productos[1], (auxCantidades[1] - (auxCantidades[1] / 2))));
            auxListaProductos.Add(new ItemProducto(lista_productos[10], (auxCantidades[10] - (auxCantidades[10] / 2))));
            auxListaProductos.Add(new ItemProducto(lista_productos[12], (auxCantidades[12] - (auxCantidades[12] / 2))));
            auxListaProductos.Add(new ItemProducto(lista_productos[14], (auxCantidades[14] - (auxCantidades[14] / 2))));
            auxFactura = new Factura(auxListaProductos, Inventario.Calcular_monto(auxListaProductos), "Apu");
            auxLista.Add(auxFactura);
            Inventario.Lista_empleados[0].Lista_ventas.Add(auxFactura);
            auxListaProductos.RemoveRange(0, auxListaProductos.Count);

            auxListaProductos.Add(new ItemProducto(lista_productos[24], (auxCantidades[24] - (auxCantidades[24] / 2))));
            auxListaProductos.Add(new ItemProducto(lista_productos[25], (auxCantidades[25] - (auxCantidades[25] / 2))));
            auxFactura = new Factura(auxListaProductos, Inventario.Calcular_monto(auxListaProductos), "Sanjay");
            auxLista.Add(auxFactura);
            Inventario.Lista_empleados[1].Lista_ventas.Add(auxFactura);
            auxListaProductos.RemoveRange(0, auxListaProductos.Count);

            #endregion
        }
Beispiel #18
0
        public static List<Factura> GetAll()
        {
            Acceso ac = new Acceso();

            List<Factura> facturas = new List<Factura>();

            string sql = "SELECT * from CONSULTAR_FACTURA order by fecha desc";
            SqlCommand cmd = new SqlCommand();
            SqlConnection conexion = new SqlConnection(ac.getCadenaConexion());

            try
            {
                conexion.Open();

                cmd.Connection = conexion;
                cmd.CommandText = sql;
                cmd.CommandType = CommandType.Text;

                SqlDataReader dr = cmd.ExecuteReader();

                Factura factura;
                Estado estado;
                Persona cliente;

                while (dr.Read())
                {
                    cliente = new Persona();

                    cliente.RazonSocial = dr["razonSocial"].ToString();
                    cliente.Nombre = dr["nombre"].ToString();
                    cliente.Apellido = dr["apellido"].ToString();

                    estado = new Estado();

                    estado.idEstado = Convert.ToInt32(dr["idEstado"]);
                    estado.Nombre = dr["estado"].ToString();

                    factura = new Factura();

                    factura.cliente = cliente;
                    factura.estado = estado;
                    factura.fechaCreacion = Convert.ToDateTime(dr["fecha"]);
                    factura.fechaPago = Convert.ToDateTime(dr["fechaPago"]);
                    factura.idFactura = Convert.ToInt32(dr["idFactura"]);
                    factura.importeTotal = Convert.ToDouble(dr["importe"]);
                    factura.tipoFactura = Convert.ToChar(dr["tipoFactura"].ToString());
                    factura.totalIVA = Convert.ToDouble(dr["totalIVA"]);

                    facturas.Add(factura);

                }

            }
            catch (InvalidOperationException ex)
            {
                throw new ApplicationException(ex.Message);
            }
            catch (SqlException ex)
            {
                throw new ApplicationException("Error en BD: " + ex.Message);
            }
            finally
            {
                conexion.Close();
            }

            return facturas;
        }
Beispiel #19
0
        private void button3_Click(object sender, EventArgs e)
        {
            if (lista.Count > 0)
            {
                    if (rbTipoA.Checked)
                    {
                        if (cbClient.SelectedIndex > -1)
                        {
                            factura = new Factura();
                            venta = new Venta();
                            venta.Total = total;
                            venta.Fecha = DateTime.Now;
                            Agrega.Venta(venta, lista);
                            // factura.Estado = true;
                            factura.Iva = (float)Convert.ToDouble(tbIva.Text);
                            factura.Venta = venta;
                            factura.Cliente = cliente[cbClient.SelectedIndex];
                            Agrega.Factura(factura);
                            if (rbSi.Checked)
                            {
                                //imprime
                                frmTicket tic = new frmTicket(lista, venta.Id, cbClient.Text, "A");
                                tic.ShowDialog();
                            }
                        }
                        else
                        {
                            MessageBox.Show("Debe seleccionar un cliente.", "ALERTA", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        }

                    }
                    else
                    {
                        venta = new Venta();
                        venta.Total = total;
                        venta.Fecha = DateTime.Now;
                        Agrega.Venta(venta, lista);
                        if (rbSi.Checked)
                        {
                            //imprime
                            frmTicket tic = new frmTicket(lista, venta.Id, cbClient.Text, "B");
                            tic.ShowDialog();
                        }
                    }
            }

                else
                {
                    MessageBox.Show("Debe agregar al menos un producto.", "ALERTA", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
        }
Beispiel #20
0
        public static int InsertFacturaDirecta(Factura fac)
        {
            Acceso ac = new Acceso();
            SqlTransaction tran = null;

            SqlConnection conexion = new SqlConnection(ac.getCadenaConexion());

            SqlCommand cmd = new SqlCommand("sp_Insertar_factura", conexion);

            cmd.Parameters.AddWithValue("@fecha", fac.fechaCreacion);
            cmd.Parameters.AddWithValue("@idEstado", fac.estado.idEstado);
            cmd.Parameters.AddWithValue("@idCliente", fac.cliente.idPersona);
            //cmd.Parameters.AddWithValue("@idPedido", fac.pedido.idPedido);
            cmd.Parameters.AddWithValue("@importe", fac.importeTotal);
            //cmd.Parameters.AddWithValue("@fechaPago", fac.fechaPago );
            cmd.Parameters.AddWithValue("@tipoFactura", fac.tipoFactura);
            //cmd.Parameters.AddWithValue("@numeroFactura", fac.numeroFactura);
            cmd.Parameters.AddWithValue("@totalIVA", fac.totalIVA);
            //cmd.Parameters.AddWithValue("@montoSinImpuesto", fac.montoSinImpuesto);
            try
            {
                conexion.Open();
                tran = conexion.BeginTransaction();
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Transaction = tran;
                cmd.ExecuteNonQuery();

                SqlCommand cmdIdentity = new SqlCommand("select @@Identity", conexion, tran);
                fac.idFactura = Convert.ToInt32((cmdIdentity.ExecuteScalar()));

                foreach (DetalleFactura detfac in fac.detalleFactura)
                {
                    //detPed.pedido.idPedido = ped.idPedido;
                    DetalleFacturaDAO.InsertDetalleFacturaDirecta(detfac, conexion, tran, fac.idFactura);
                    ProductoDAO.UpdateStockActualYDisponible(detfac, conexion, tran);
                }
                tran.Commit();
                return fac.idFactura;

            }
            catch (ArgumentException ex)
            {
                if (conexion.State == ConnectionState.Open)
                {
                    tran.Rollback();
                }
                throw new ApplicationException(ex.Message);
            }
            catch (SqlException ex)
            {
                if (conexion.State == ConnectionState.Open)
                {
                    tran.Rollback();
                }
                throw new ApplicationException("Error en BD: " + ex.Message);
            }
            finally
            {

                conexion.Close();
            }
        }
        private void btn_guardar_Click(object sender, EventArgs e)
        {
            if (estadoFormulario == estados.nuevo)
            {
                Factura factura = new Factura();
                List<DetalleFactura> detalle= new List<DetalleFactura>();

                try
                {
                    if (Convert.ToInt32(cmb_iva.SelectedIndex) == 0)
                    {
                        for (int c = 0; c < dgv_detalle.RowCount; c++)
                        {
                            int esSinpedido = (int)dgv_detalle.Rows[c].Cells["add"].Value;
                            DetalleFactura det = new DetalleFactura();

                            det.cantidad = Convert.ToDouble(dgv_detalle.Rows[c].Cells["cantidad"].Value);
                            if (esSinpedido == 0)
                            {
                                det.detPedido = new DetallePedido() { producto = new Producto() { idProducto = Convert.ToInt32(dgv_detalle.Rows[c].Cells["idProductodetalle"].Value) }, pedido = new Pedido() { idPedido = idPedido }, };
                                foreach (DetallePedido detp in ped.detallePedido)
                                {
                                    if(detp.producto.idProducto==Convert.ToInt32(dgv_detalle.Rows[c].Cells["idProductodetalle"].Value))
                                    {
                                        det.detPedido.cantidad = detp.cantidad;
                                    }
                                }
                            }
                            else
                            {
                                det.producto = new Producto() { idProducto = Convert.ToInt32(dgv_detalle.Rows[c].Cells["idProductodetalle"].Value) };
                            }
                            det.subTotal = Convert.ToDouble(dgv_detalle.Rows[c].Cells["preciodetalle"].Value);
                            det.iva = Convert.ToDouble(dgv_detalle.Rows[c].Cells["sinIva"].Value);

                            detalle.Add(det);
                        }

                        factura.detalleFactura = detalle;
                        factura.cliente = ped.cliente;
                        factura.pedido = ped;
                        factura.fechaCreacion = dtp_fecha_factura.Value.Date;
                        factura.importeTotal = Convert.ToDouble(txt_monto_total.Text);
                        if (rbtn_contado.Checked)
                        {
                            factura.estado = new Estado() { idEstado = 28 };
                        }
                        else
                        {
                            factura.estado = new Estado() { idEstado = 27 };
                        }
                        factura.totalIVA = Convert.ToDouble(txt_totalIva.Text);
                        factura.tipoFactura = Convert.ToChar(cmb_tipo_factura.Text);

                    }
                    else
                    {
                        for (int c = 0; c < dgv_detalle.RowCount; c++)
                        {
                            int esSinpedido = (int)dgv_detalle.Rows[c].Cells["add"].Value;
                            DetalleFactura det = new DetalleFactura();

                            det.cantidad = Convert.ToDouble(dgv_detalle.Rows[c].Cells["cantidad"].Value);
                            if (esSinpedido == 0)
                            {
                                det.detPedido = new DetallePedido() { producto = new Producto() { idProducto = Convert.ToInt32(dgv_detalle.Rows[c].Cells["idProductodetalle"].Value) }, pedido = new Pedido() { idPedido = idPedido } };
                                foreach (DetallePedido detp in ped.detallePedido)
                                {
                                    if (detp.producto.idProducto == Convert.ToInt32(dgv_detalle.Rows[c].Cells["idProductodetalle"].Value))
                                    {
                                        det.detPedido.cantidad = detp.cantidad;
                                    }
                                }
                            }
                            else
                            {
                                det.producto = new Producto() { idProducto = Convert.ToInt32(dgv_detalle.Rows[c].Cells["idProductodetalle"].Value) };
                            }
                            det.subTotal = Convert.ToDouble(dgv_detalle.Rows[c].Cells["preciodetalle"].Value);

                            detalle.Add(det);
                        }

                        factura.detalleFactura = detalle;
                        factura.cliente = ped.cliente;
                        factura.fechaCreacion = dtp_fecha_factura.Value.Date;
                        factura.importeTotal = Convert.ToDouble(txt_monto_total.Text);
                        if (rbtn_contado.Checked)
                        {
                            factura.estado = new Estado() { idEstado = 28 };
                        }
                        else
                        {
                            factura.estado = new Estado() { idEstado = 27 };
                        }
                        factura.pedido = ped;
                        factura.tipoFactura = Convert.ToChar(cmb_tipo_factura.Text);
                    }

                    iniciador.idFactura = FacturaDAO.Insert(factura, detalleAgregado);

                    //MessageBox.Show("Registrado con Exito", "Exito", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);
                    _estado = estados.guardado;

                    btn_guardar.Enabled = false;
                    btn_salir_Click(sender, e);

                }
                catch (ApplicationException ex)
                {
                    MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1);
                }

            }
        }
Beispiel #22
0
 public static Factura Factura(int id)
 {
     ManejaFactura manejaTipoEvento = new ManejaFactura();
     Factura res = new Factura();
     res = (Factura)manejaTipoEvento.buscaPorId(id);
     return res;
 }
        private void btn_imprimir_Click(object sender, EventArgs e)
        {
            if (dgv_detalle.Rows.Count >= 1)
            {
                if (res == null && chk_Venta_Rapida.Checked == true || res != null && chk_Venta_Rapida.Checked == false)
                {
                    List<DetalleFactura> detalle = new List<DetalleFactura>();
                    Factura fact = new Factura();
                    Persona per = new Persona();
                    Estado est = new Estado();
                    if (chk_Venta_Rapida.Checked == true)
                    {
                        per.idPersona = 17;
                    }
                    else
                    {
                        per.idPersona = res.idPersona;
                    }
                    fact.cliente = per;
                    fact.fechaCreacion = DateTime.Now.Date;
                    est.idEstado = 27;
                    fact.estado = est;
                    fact.importeTotal = int.Parse(txt_monto_total.Text);
                    fact.tipoFactura = char.Parse(cmb_tipo_factura.Text);
                    fact.totalIVA = double.Parse(txt_totalIva.Text);
                    for (int c = 0; c < dgv_detalle.RowCount; c++)
                    {
                        DetalleFactura de = new DetalleFactura();
                        Producto p = new Producto();

                        p.idProducto = (int)dgv_detalle.Rows[c].Cells["idProductodetalle"].Value;
                        de.subTotal = (double)dgv_detalle.Rows[c].Cells["preciodetalle"].Value;
                        de.cantidad = Convert.ToDouble(dgv_detalle.Rows[c].Cells["cantidad"].Value);
                        de.iva = Convert.ToDouble(dgv_detalle.Rows[c].Cells["iva"].Value);
                        de.producto = p;
                        detalle.Add(de);
                    }
                    fact.detalleFactura = detalle;

                    try
                    {
                        //iniciador.idFactura = FacturaDAO.InsertFacturaDirecta(fact);
                        MessageBox.Show("Registrado con Exito", "Exito", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);
                        btn_guardar.Enabled = false;
                    }
                    catch (ApplicationException ex)
                    {
                        MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1);
                    }
                    Emitir_Factura factura = new Emitir_Factura();
                    factura.ShowDialog();
                    btn_nuevo_Click(sender, e);
                }
            }
            EmitirPresupuesto emitir = new EmitirPresupuesto();
            emitir.ShowDialog();
        }