Quantcast
Channel: Caja de ventas Generica
Viewing all articles
Browse latest Browse all 5

Caja de ventas Generica

$
0
0

Hola a todos

Expongo esta duda por una simple razón tengo alrededor de 3 años y medio trabajando como desarrollador.net me muevo por medio de consultorias asi que me han asignado a diferentes clientes algunos grandes otros pequeños, pero en todos los proyectos en los que he trabajado realmente nunca he usado la poo increiblemente en todos los proyectos se trabaja asi,

haces un store procedure para sql y toda la logica la metes hay que si sumas que si restas multiplicas buscas, todo lo hacemos en sql, y al c# solo lo usamos para llamar a ese store y para la presentacion ya sea asp.net windows form mvc etc, pero nunca programamos logica de negocio en c# esa parte nos la brincamos, y peor con los proyectos web, ya que toda la validacion la haces con javascript en el cliente, executas un metodo con ajax ese metodo hace la conexion y te retorna la lista la lista la pasas json y la imprimes en control, quiero decir a c# solo lo usamos para que haga la conexion a los datos, todos las empresas en las que he estado trabajan asi y muchas han sido grandes empresas, entonces a mi me da el interes de querer crear algo yo en c# y tratar de seguir buenas practicas y usar el c# para la logica,

asi que empece dije que programo que programo??? me pregunte dije algo simple un punto de venta, ahora me doy cuenta que de simple no tiene nada jejejjee,

entonces me pregunte que hace una caja de ventas que hace una caja registradora

1.- crea una preventa que son la lista de preductos y precios

2.- aplica los impuestos

3.- aplica los descuentos y promociones

4.-  cobra la venta y te regresa el cambio

5.- registra la venta

6.- modifica ventas

7.- cancela ventas

8.- crea el corte de toda la actividad del dia

9.- presenta el informe del corte 

10.- imprime tickets

ya con esas funciones son suficientes jejejeje

pero lo mas importante en esta caja de ventas que quiero crear es que debe ser generica como las clasicas cajas registradoras, no importa si vendo hamburguesas, carros, dulces etc esta caja debe poder hacer todas esas funciones sin verse afectada por la logica del negocio y debe funcionar para cualquier negocio, pss en la torre empece

tengo un componente llama tipos base donde tengo estas clases

public class LlavePrimaria
    {
        private int id;

        public int Id
        {
            get
            {
                return this.id;
            }
            set
            {
                this.id = value;
            }
        }
    }


public class Registro : LlavePrimaria
    {
        private string descripcion;

        public string Descripcion
        {
            get { return this.descripcion; }
            set { this.descripcion = value; }
        }
    }


es que como en todas las clases que uso siempre tengo una propiedad id y una descripcion pss como que ya no queria hacerlas.

y tengo estas otras clases ya dentro del proyecto de caja

public class Producto : Registro
    {
    }


pss el producto es lo que se va a vender pensé sin importar que producto sea lo recibo así y puedo lograrlo

public class ProductoCodigo : Producto
    {
        private string codigo;

        public string Codigo
        {
            get { return this.codigo; }
            set { this.codigo = value; }
        }
    }


despues pense si mi producto que voy a vender es un producto fabricado tiene un codigo hay que agregar esa propiedad

public class ProductoCodigo : Producto
    {
        private string codigo;

        public string Codigo
        {
            get { return this.codigo; }
            set { this.codigo = value; }
        }
    }

entonces dije voy a crear una clase que tenga el precio y el producto

public class Precio : LlavePrimaria
    {
        private decimal valor;
        private Producto producto;
    }

olvide pegar los metodos publicos pero si me entienden jejeje

esa clase tiene el valor y el producto

mi caja debe aplicar los impuesto y dije cada precio puede tener diferentes impuestos por ejemplo en mexico al los medicamentos no llevan impuestos, pero el alimento para mascotas si lleva impuestos pobres animalitos verdad jejeje

los carros llevan dos impuestos las bebidas alcoholicas llevan mas impuestos entonces dije ya la estoy regando la logica de impuestos puede cambiar dependiendo de la secretaria de hacienda y de los productos pero es totalmente una logica externa a mi caja de ventas, si quiero que sea generica no debe entrar en esos detalles y con los descuentos y promociones pasa lo mismo dependiendo el tipo de negocio y su estrategia de ventas son sus promociones y son un mundo de logicas de negocio que mi caja no debe saber por que es generica pero debe hacer el trabajo, entiendo el concepto esa implementacion de logica no va en la caja

mi caja solo debe saber

el precio = valor - impuesto + descuento 

y una promocion lo cambia todo imaginencen que es una tienda de conveniencia y dice en la compra de cereal te regalo una leche. pss hay que onda verdad mi caja debe poder cobrar y aplicar la promocion pero no implementarla la logica por que dejaria de ser generica

entre las promociones y los impuestos me di cuenta que estaba mal

como logro separar esa implementacion tanto de impuesto y de promociones a la casa pero que la caja lo haga bien??



Viewing all articles
Browse latest Browse all 5

Latest Images

Vimeo 10.7.0 by Vimeo.com, Inc.

Vimeo 10.7.0 by Vimeo.com, Inc.

HANGAD

HANGAD

MAKAKAALAM

MAKAKAALAM

Doodle Jump 3.11.30 by Lima Sky LLC

Doodle Jump 3.11.30 by Lima Sky LLC

Doodle Jump 3.11.30 by Lima Sky LLC

Doodle Jump 3.11.30 by Lima Sky LLC

Vimeo 10.6.2 by Vimeo.com, Inc.

Vimeo 10.6.2 by Vimeo.com, Inc.

Vimeo 10.6.1 by Vimeo.com, Inc.

Vimeo 10.6.1 by Vimeo.com, Inc.

Trending Articles


Libros para colorear


Mandalas de flores para colorear


Dromedario para colorear


Dear Ex Quotes, Sakit Quotes


Long Distance Relationship Tagalog Love Quotes


Tagalog Love Quotes


RE: Mutton Pies (mely)


Ang Nobela sa “From Darna to ZsaZsa Zaturnnah: Desire and Fantasy, Essays on...


El Vibora (1971) by Francisco V. Coching and Federico C. Javinal


Version 0.8.5 – Peb txhawb tus Lao heev





Latest Images

Vimeo 10.7.0 by Vimeo.com, Inc.

Vimeo 10.7.0 by Vimeo.com, Inc.

HANGAD

HANGAD

MAKAKAALAM

MAKAKAALAM

Doodle Jump 3.11.30 by Lima Sky LLC

Doodle Jump 3.11.30 by Lima Sky LLC

Doodle Jump 3.11.30 by Lima Sky LLC

Doodle Jump 3.11.30 by Lima Sky LLC

Vimeo 10.6.1 by Vimeo.com, Inc.

Vimeo 10.6.1 by Vimeo.com, Inc.