Ejemplo n.º 1
0
        /// <summary>
        /// Obtiene la todos los productos por categoria
        /// </summary>
        /// <param name="IdCategoria"></param>
        /// <returns></returns>
        public List <Producto> ObtenerProductosXCategoria(int IdCategoria)
        {
            List <Producto> listaProductos = new List <Producto>();

            try
            {
                using (CarritoDataContext Carrito = new CarritoDataContext())
                {
                    List <sp_ObtieneProductosPorCategoriaResult> list = Carrito.sp_ObtieneProductosPorCategoria(IdCategoria).ToList();


                    foreach (var item in list)
                    {
                        Producto objProducto = new Producto();
                        objProducto.IdProducto          = item.IdProducto;
                        objProducto.NombreProducto      = item.NombreProducto;
                        objProducto.PrecioProducto      = item.PrecioProducto;
                        objProducto.DescripcionProducto = item.DescripcionProducto;
                        objProducto.IdCategoria         = item.IdCategoria;
                        objProducto.ImagenProducto      = item.ImagenProducto;

                        listaProductos.Add(objProducto);
                    }
                    return(listaProductos);
                }
            }

            catch (Exception ex)
            {
                GuardaErrores ErroresLog   = new GuardaErrores();
                string        NombreMetodo = System.Reflection.MethodBase.GetCurrentMethod().Name;
                ErroresLog.InsertarErrores(NombreMetodo, "AccesoDatosProducto", ex.Message, ex.StackTrace);
                return(listaProductos);
            }
        }
        /// <summary>
        /// Obtener Datos Cliente
        /// </summary>
        /// <param name="IdCliente"></param>
        /// <returns></returns>
        public List <Cliente> ObtenerDatosCliente(int IdCliente)
        {
            List <Cliente> listaCarrito = new List <Cliente>();

            try
            {
                using (CarritoDataContext CarritoBD = new CarritoDataContext())
                {
                    List <sp_ObtieneDatosClientePorClienteResult> list = CarritoBD.sp_ObtieneDatosClientePorCliente(IdCliente).ToList();

                    foreach (var item in list)
                    {
                        Cliente objCarrito = new Cliente();
                        objCarrito.IdCliente  = item.IdCliente;
                        objCarrito.Nombre     = item.Nombre;
                        objCarrito.Email      = item.Email;
                        objCarrito.Apellido   = item.Apellido;
                        objCarrito.Telefono   = item.Telefono;
                        objCarrito.Direccion  = item.Direccion;
                        objCarrito.Contrasena = item.Contrasena;

                        listaCarrito.Add(objCarrito);
                    }
                    return(listaCarrito);
                }
            }
            catch (Exception ex)
            {
                GuardaErrores ErroresLog   = new GuardaErrores();
                string        NombreMetodo = System.Reflection.MethodBase.GetCurrentMethod().Name;
                ErroresLog.InsertarErrores(NombreMetodo, "DatosCliente", ex.Message, ex.StackTrace);
                return(listaCarrito);
            }
        }
        /// <summary>
        /// Obtiene los metodos de pago
        /// </summary>
        /// <returns></returns>
        public List <MetodoPago> ObtieneMetodosPago()
        {
            List <MetodoPago> listaMetodosPago = new List <MetodoPago>();

            try
            {
                using (CarritoDataContext MetodoPagoDB = new CarritoDataContext())
                {
                    //List<sp_ObtieneMetodosPagoResult> list = MetodoPagoDB.sp_ObtieneMetodosPago().ToList();

                    //foreach (var item in list)
                    //{
                    //    MetodoPago objCarrito = new MetodoPago();
                    //    objCarrito.IdMetodoPago = item.IdMetodoPago;
                    //    objCarrito.NombreMetodoPAgo = item.NombreMetodoPAgo;

                    //    listaMetodosPago.Add(objCarrito);
                    //}
                    return(listaMetodosPago);
                }
            }
            catch (Exception ex)
            {
                GuardaErrores ErroresLog   = new GuardaErrores();
                string        NombreMetodo = System.Reflection.MethodBase.GetCurrentMethod().Name;
                ErroresLog.InsertarErrores(NombreMetodo, "DatosFactura", ex.Message, ex.StackTrace);
                return(listaMetodosPago);
            }
        }
        /// <summary>
        /// Login Cliente
        /// </summary>
        /// <param name="Email"></param>
        /// <param name="Contrasena"></param>
        /// <returns></returns>
        public Cliente Login(string Email, string Contrasena)
        {
            Cliente cliente = new Cliente();

            try
            {
                using (CarritoDataContext CarritoBD = new CarritoDataContext())
                {
                    sp_LoginClienteResult result = CarritoBD.sp_LoginCliente(Email, Contrasena).FirstOrDefault();

                    cliente.IdCliente = result.IdCliente;
                    cliente.Nombre    = result.Nombre;
                    cliente.Apellido  = result.Apellido;
                    cliente.Email     = result.Email;
                    cliente.Telefono  = result.Telefono;
                    return(cliente);
                }
            }
            catch (Exception ex)
            {
                GuardaErrores ErroresLog   = new GuardaErrores();
                string        NombreMetodo = System.Reflection.MethodBase.GetCurrentMethod().Name;
                ErroresLog.InsertarErrores(NombreMetodo, "DatosCliente", ex.Message, ex.StackTrace);
                return(cliente);
            }
        }
        /// <summary>
        /// Logica para la insercion del carrito
        /// </summary>
        /// <param name="IdUsuario"></param>
        /// <param name="IdProducto"></param>
        /// <param name="Cantidad"></param>
        /// <returns></returns>
        public int InsertarCarrito(int IdUsuario, int IdProducto, int Cantidad, int IdCarrito)
        {
            int ResultadoOperacion = 0;

            try
            {
                DatosCarrito CarritoDatos = new DatosCarrito();
                List <Capa.Entidades.Carrito> objCarrito = new List <Capa.Entidades.Carrito>();
                objCarrito = CarritoDatos.ObtenerCarritoPorCliente(IdUsuario);
                Capa.AccesoDatos.AccesoDatos Producto = new Capa.AccesoDatos.AccesoDatos();


                int CantidadDisponible = Producto.ObtieneCantidadProductos(IdProducto);

                //Filtramos la consulta oir id de prodcuto asi obtenemos el producto que deseamos aumentar de cantidad
                var item = objCarrito.FirstOrDefault(i => i.IdProducto == IdProducto);

                if (CantidadDisponible > Cantidad)
                {
                    if (objCarrito.Count != 0)
                    {
                        if (item != null)
                        {
                            if (item.IdProducto == IdProducto)
                            {
                                int nuevaCantidad = (int)(item.Cantidad + Cantidad);
                                CarritoDatos.ActualizarCarritoPorCliente(item.IdCarrito, IdProducto, nuevaCantidad);
                                ResultadoOperacion = (int)EnumResultadoOperacion.Exito;
                            }
                        }
                        else
                        {
                            ResultadoOperacion = CarritoDatos.InsertarCarritoPorCliente(IdUsuario, IdProducto, Cantidad);
                            ResultadoOperacion = (int)EnumResultadoOperacion.Exito;
                        }
                    }
                    else
                    {
                        ResultadoOperacion = CarritoDatos.InsertarCarritoPorCliente(IdUsuario, IdProducto, Cantidad);
                        ResultadoOperacion = (int)EnumResultadoOperacion.Exito;
                    }
                }
                else
                {
                    return((int)EnumResultadoOperacion.NoDisponibles);
                }

                return(ResultadoOperacion);
            }
            catch (Exception ex)
            {
                GuardaErrores ErroresLog   = new GuardaErrores();
                string        NombreMetodo = System.Reflection.MethodBase.GetCurrentMethod().Name;
                ErroresLog.InsertarErrores(NombreMetodo, "LogicaDatosCarrito", ex.Message, ex.StackTrace);
                return(ResultadoOperacion);
            }
        }
 /// <summary>
 /// Obtiene los productos por nombre
 /// </summary>
 /// <param name="Nombre"></param>
 /// <returns></returns>
 public List <Producto> ObtieneProductosXNombre(string Nombre)
 {
     try
     {
         Capa.AccesoDatos.AccesoDatos Producto = new Capa.AccesoDatos.AccesoDatos();
         objProduc = Producto.ObtenerProductosXNombre(Nombre);
         return(objProduc);
     }
     catch (Exception ex)
     {
         GuardaErrores ErroresLog   = new GuardaErrores();
         string        NombreMetodo = System.Reflection.MethodBase.GetCurrentMethod().Name;
         ErroresLog.InsertarErrores(NombreMetodo, "LogicaProducto", ex.Message, ex.StackTrace);
         return(null);
     }
 }
 /// <summary>
 /// Obtiene los datos de los clientes
 /// </summary>
 /// <param name="IdCliente"></param>
 /// <returns></returns>
 public List <Entidades.Cliente> ObtenerClientePorIdCliente(int IdCliente)
 {
     try
     {
         List <Entidades.Cliente> objCarrito   = new List <Entidades.Cliente>();
         AccesoDatosCliente       CarritoDatos = new AccesoDatosCliente();
         objCarrito = CarritoDatos.ObtenerDatosCliente(IdCliente);
         return(objCarrito);
     }
     catch (Exception ex)
     {
         GuardaErrores ErroresLog   = new GuardaErrores();
         string        NombreMetodo = System.Reflection.MethodBase.GetCurrentMethod().Name;
         ErroresLog.InsertarErrores(NombreMetodo, "LogicaDatosCarrito", ex.Message, ex.StackTrace);
         return(null);
     }
 }
        /// <summary>
        /// Reliza login de cliente
        /// </summary>
        /// <param name="Email"></param>
        /// <param name="Contrasena"></param>
        /// <returns>Entidades.Cliente</returns>

        public Entidades.Cliente LoginCliente(string Email, string Contrasena)
        {
            try
            {
                Entidades.Cliente  cliente         = new Entidades.Cliente();
                AccesoDatosCliente accionesCliente = new AccesoDatosCliente();
                cliente = accionesCliente.Login(Email, Contrasena);
                return(cliente);
            }
            catch (Exception ex)
            {
                GuardaErrores ErroresLog   = new GuardaErrores();
                string        NombreMetodo = System.Reflection.MethodBase.GetCurrentMethod().Name;
                ErroresLog.InsertarErrores(NombreMetodo, "LogicaDatosCarrito", ex.Message, ex.StackTrace);
                return(null);
            }
        }
        public sp_ObtieneFacturaIdResult ObtenerFacturaCliente(int IdFactura)
        {
            sp_ObtieneFacturaIdResult factura = new sp_ObtieneFacturaIdResult();

            try
            {
                AccesoDatosFactura accionesFactura = new AccesoDatosFactura();
                factura = accionesFactura.ObtieneFactura(IdFactura);
                return(factura);
            }
            catch (Exception ex)
            {
                GuardaErrores ErroresLog   = new GuardaErrores();
                string        NombreMetodo = System.Reflection.MethodBase.GetCurrentMethod().Name;
                ErroresLog.InsertarErrores(NombreMetodo, "LogicaFactura", ex.Message, ex.StackTrace);
                return(factura);
            }
        }
        public List <sp_ObtieneItemsFacturaIdResult> ObtenerItemsFactura(int IdFactura)
        {
            List <sp_ObtieneItemsFacturaIdResult> itemsLista = new List <sp_ObtieneItemsFacturaIdResult>();

            try
            {
                AccesoDatosFactura accionesFactura = new AccesoDatosFactura();
                itemsLista = accionesFactura.ObtieneItemsFactura(IdFactura);
                return(itemsLista);
            }
            catch (Exception ex)
            {
                GuardaErrores ErroresLog   = new GuardaErrores();
                string        NombreMetodo = System.Reflection.MethodBase.GetCurrentMethod().Name;
                ErroresLog.InsertarErrores(NombreMetodo, "LogicaFactura", ex.Message, ex.StackTrace);
                return(itemsLista);
            }
        }
        /// <summary>
        /// Obtiene los metodos de pago
        /// </summary>
        /// <returns></returns>
        public List <MetodoPago> ObtenerMetodoPago()
        {
            List <MetodoPago> objMetodoPago = new List <MetodoPago>();

            try
            {
                AccesoDatosFactura MetodoPagoDatos = new AccesoDatosFactura();
                objMetodoPago = MetodoPagoDatos.ObtieneMetodosPago();
                return(objMetodoPago);
            }
            catch (Exception ex)
            {
                GuardaErrores ErroresLog   = new GuardaErrores();
                string        NombreMetodo = System.Reflection.MethodBase.GetCurrentMethod().Name;
                ErroresLog.InsertarErrores(NombreMetodo, "LogicaFactura", ex.Message, ex.StackTrace);
                return(objMetodoPago);
            }
        }
        /// <summary>
        /// Obtiene y retorna la cantidad disponible de productos
        /// </summary>
        /// <param name="IdProducto"></param>
        /// <returns></returns>
        public int ObtieneCantidadSisponibleProductos(int IdProducto)
        {
            int CantidadDisponible = 0;

            try
            {
                Capa.AccesoDatos.AccesoDatos Producto = new Capa.AccesoDatos.AccesoDatos();
                CantidadDisponible = Producto.ObtieneCantidadProductos(IdProducto);
                return(CantidadDisponible);
            }
            catch (Exception ex)
            {
                GuardaErrores ErroresLog   = new GuardaErrores();
                string        NombreMetodo = System.Reflection.MethodBase.GetCurrentMethod().Name;
                ErroresLog.InsertarErrores(NombreMetodo, "LogicaProducto", ex.Message, ex.StackTrace);
                return(CantidadDisponible);
            }
        }
        /// <summary>
        /// Logica para actualizar el Carrito
        /// </summary>
        /// <param name="IdCarrito"></param>
        /// <param name="IdProducto"></param>
        /// <param name="Cantidad"></param>
        /// <returns></returns>
        public int ActualizarCarritoPorCliente(int IdCarrito, int IdProducto, int Cantidad)
        {
            int ResultadoOperacion = 0;

            try
            {
                DatosCarrito CarritoDatos = new DatosCarrito();
                ResultadoOperacion = CarritoDatos.ActualizarCarritoPorCliente(IdCarrito, IdProducto, Cantidad);
                return((int)EnumResultadoOperacion.Exito);
            }
            catch (Exception ex)
            {
                GuardaErrores ErroresLog   = new GuardaErrores();
                string        NombreMetodo = System.Reflection.MethodBase.GetCurrentMethod().Name;
                ErroresLog.InsertarErrores(NombreMetodo, "LogicaDatosCarrito", ex.Message, ex.StackTrace);
                return((int)EnumResultadoOperacion.Error);
            }
        }
        public List <Capa.Entidades.Carrito> ObtenerCarritoPorCliente(int IdUsuario)
        {
            List <Capa.Entidades.Carrito> objCarrito = new List <Capa.Entidades.Carrito>();

            try
            {
                DatosCarrito CarritoDatos = new DatosCarrito();
                objCarrito = CarritoDatos.ObtenerCarritoPorCliente(IdUsuario);
                return(objCarrito);
            }
            catch (Exception ex)
            {
                GuardaErrores ErroresLog   = new GuardaErrores();
                string        NombreMetodo = System.Reflection.MethodBase.GetCurrentMethod().Name;
                ErroresLog.InsertarErrores(NombreMetodo, "LogicaDatosCarrito", ex.Message, ex.StackTrace);
                return(objCarrito);
            }
        }
 public int CrearFactura(int IdCliente, decimal total)
 {
     try
     {
         using (CarritoDataContext FacturaDB = new CarritoDataContext())
         {
             DateTime fechaFactura         = DateTime.Now;
             sp_CrearFacturaResult factura = FacturaDB.sp_CrearFactura(IdCliente, fechaFactura, total).FirstOrDefault();
             return((int)factura.ID);
         }
     }
     catch (Exception ex)
     {
         GuardaErrores ErroresLog   = new GuardaErrores();
         string        NombreMetodo = System.Reflection.MethodBase.GetCurrentMethod().Name;
         ErroresLog.InsertarErrores(NombreMetodo, "DatosFactura", ex.Message, ex.StackTrace);
         return(0);
     }
 }
        /// <summary>
        /// Actualiza los datos del cliente
        /// </summary>
        /// <param name="objCliente"></param>
        /// <returns></returns>
        public int ActualizarDatosCliente(Entidades.Cliente objCliente)
        {
            int resultado = 0;

            try
            {
                List <Entidades.Cliente> objCarrito   = new List <Entidades.Cliente>();
                AccesoDatosCliente       CarritoDatos = new AccesoDatosCliente();
                resultado = CarritoDatos.InsertarDatosCliente(objCliente);
                return(resultado);
            }
            catch (Exception ex)
            {
                GuardaErrores ErroresLog   = new GuardaErrores();
                string        NombreMetodo = System.Reflection.MethodBase.GetCurrentMethod().Name;
                ErroresLog.InsertarErrores(NombreMetodo, "LogicaDatosCarrito", ex.Message, ex.StackTrace);
                return(resultado);
            }
        }
        public bool VaciarCarrito(int IdCliente)
        {
            try
            {
                using (CarritoDataContext FacturaDB = new CarritoDataContext())
                {
                    FacturaDB.sp_VaciarCarrito(IdCliente);

                    return(true);
                }
            }
            catch (Exception ex)
            {
                GuardaErrores ErroresLog   = new GuardaErrores();
                string        NombreMetodo = System.Reflection.MethodBase.GetCurrentMethod().Name;
                ErroresLog.InsertarErrores(NombreMetodo, "DatosFactura", ex.Message, ex.StackTrace);
                return(false);
            }
        }
        public List <sp_ObtieneItemsFacturaIdResult> ObtieneItemsFactura(int IdFactura)
        {
            List <sp_ObtieneItemsFacturaIdResult> listaItems = null;

            try
            {
                using (CarritoDataContext FacturaDB = new CarritoDataContext())
                {
                    listaItems = FacturaDB.sp_ObtieneItemsFacturaId(IdFactura).ToList();
                    return(listaItems);
                }
            }
            catch (Exception ex)
            {
                GuardaErrores ErroresLog   = new GuardaErrores();
                string        NombreMetodo = System.Reflection.MethodBase.GetCurrentMethod().Name;
                ErroresLog.InsertarErrores(NombreMetodo, "DatosFactura", ex.Message, ex.StackTrace);
                return(listaItems);
            }
        }
        public sp_ObtieneFacturaIdResult ObtieneFactura(int IdFactura)
        {
            sp_ObtieneFacturaIdResult factura = null;

            try
            {
                using (CarritoDataContext FacturaDB = new CarritoDataContext())
                {
                    factura = FacturaDB.sp_ObtieneFacturaId(IdFactura).FirstOrDefault();
                    return(factura);
                }
            }
            catch (Exception ex)
            {
                GuardaErrores ErroresLog   = new GuardaErrores();
                string        NombreMetodo = System.Reflection.MethodBase.GetCurrentMethod().Name;
                ErroresLog.InsertarErrores(NombreMetodo, "DatosFactura", ex.Message, ex.StackTrace);
                return(factura);
            }
        }
        /// <summary>
        /// Inserta los datos del cliente
        /// </summary>
        /// <param name="objCliente"></param>
        /// <returns></returns>
        public int InsertarDatosCliente(Cliente objCliente)
        {
            int resultado = 0;

            try
            {
                using (CarritoDataContext CarritoBD = new CarritoDataContext())
                {
                    CarritoBD.sp_InsertarDatosCliente(objCliente.Nombre, objCliente.Apellido, objCliente.Email, objCliente.Telefono, objCliente.Direccion, objCliente.Contrasena);
                    resultado = 1;
                    return(resultado);
                }
            }
            catch (Exception ex)
            {
                GuardaErrores ErroresLog   = new GuardaErrores();
                string        NombreMetodo = System.Reflection.MethodBase.GetCurrentMethod().Name;
                ErroresLog.InsertarErrores(NombreMetodo, "DatosCliente", ex.Message, ex.StackTrace);
                return(resultado);
            }
        }
Ejemplo n.º 21
0
        /// <summary>
        /// Elimina el carrito por cliente
        /// </summary>
        /// <param name="IDCarrito"></param>
        /// <returns></returns>
        public int EliminarCarritoPorCliente(int IdCarrito)
        {
            int resultado = 0;

            try
            {
                using (CarritoDataContext CarritoBD = new CarritoDataContext())
                {
                    CarritoBD.sp_EliminarCarritoPorCliente(IdCarrito);
                    resultado = (int)EnumResultadoOperacion.Exito;
                    return(resultado);
                }
            }
            catch (Exception ex)
            {
                GuardaErrores ErroresLog   = new GuardaErrores();
                string        NombreMetodo = System.Reflection.MethodBase.GetCurrentMethod().Name;
                ErroresLog.InsertarErrores(NombreMetodo, "DatosCarrito", ex.Message, ex.StackTrace);
                return(resultado = (int)EnumResultadoOperacion.Error);
            }
        }
Ejemplo n.º 22
0
        /// <summary>
        /// Obtiene el carrito por cliente
        /// </summary>
        /// <param name="IdUsuario"></param>
        /// <returns></returns>
        public List <Carrito> ObtenerCarritoPorCliente(int IdUsuario)
        {
            List <Carrito> listaCarrito = new List <Carrito>();

            try
            {
                using (CarritoDataContext CarritoBD = new CarritoDataContext())
                {
                    List <sp_ObtieneCarritoPorClienteResult> list = CarritoBD.sp_ObtieneCarritoPorCliente(IdUsuario).ToList();


                    foreach (var item in list)
                    {
                        Carrito objCarrito = new Carrito();
                        objCarrito.IdCarrito           = item.IdCarrito;
                        objCarrito.IdUsuario           = item.IdCliente;
                        objCarrito.NombreCliente       = item.Nombre;
                        objCarrito.ApellidoCliente     = item.Apellido;
                        objCarrito.IdProducto          = item.IdProducto;
                        objCarrito.NombreProducto      = item.NombreProducto;
                        objCarrito.ImagenProducto      = item.ImagenProducto;
                        objCarrito.DescripcionProducto = item.DescripcionProducto;
                        objCarrito.IdCategoria         = item.IdCategoria;
                        objCarrito.Cantidad            = item.Cantidad;
                        objCarrito.CantidadDisponible  = item.CantidadDisponibles;
                        objCarrito.PrecioProducto      = item.PrecioProducto;

                        listaCarrito.Add(objCarrito);
                    }
                    return(listaCarrito);
                }
            }
            catch (Exception ex)
            {
                GuardaErrores ErroresLog   = new GuardaErrores();
                string        NombreMetodo = System.Reflection.MethodBase.GetCurrentMethod().Name;
                ErroresLog.InsertarErrores(NombreMetodo, "DatosCarrito", ex.Message, ex.StackTrace);
                return(listaCarrito);
            }
        }
 public bool InsertarItemsFactura(List <Carrito> Carrito, int IdFactura)
 {
     try
     {
         using (CarritoDataContext FacturaDB = new CarritoDataContext())
         {
             foreach (var item in Carrito)
             {
                 decimal subTotal = 0;
                 subTotal = (decimal)(subTotal + (item.PrecioProducto * item.Cantidad));
                 FacturaDB.sp_AgregarItemsFactura(item.IdProducto, IdFactura, item.Cantidad, subTotal);
             }
             return(true);
         }
     }
     catch (Exception ex)
     {
         GuardaErrores ErroresLog   = new GuardaErrores();
         string        NombreMetodo = System.Reflection.MethodBase.GetCurrentMethod().Name;
         ErroresLog.InsertarErrores(NombreMetodo, "DatosFactura", ex.Message, ex.StackTrace);
         return(false);
     }
 }
Ejemplo n.º 24
0
        /// <summary>
        /// Obtiene la cantidad de productos disponibles por Id
        /// </summary>
        /// <param name="IdProducto"></param>
        /// <returns></returns>
        public int ObtieneCantidadProductos(int IdProducto)
        {
            int CantidadDisponible = 0;

            try
            {
                List <Producto> ProductoDisponible = new List <Producto>();

                using (CarritoDataContext Carrito = new CarritoDataContext())
                {
                    List <sp_ObtieneCantidadProductosResult> list = Carrito.sp_ObtieneCantidadProductos(IdProducto).ToList();
                    CantidadDisponible = list[0].CantidadDisponibles;
                    return(CantidadDisponible);
                }
            }
            catch (Exception ex)
            {
                GuardaErrores ErroresLog   = new GuardaErrores();
                string        NombreMetodo = System.Reflection.MethodBase.GetCurrentMethod().Name;
                ErroresLog.InsertarErrores(NombreMetodo, "AccesoDatosProducto", ex.Message, ex.StackTrace);
                return(CantidadDisponible);
            }
        }