예제 #1
0
            public async Task <Unit> Handle(SessionCartRequest request, CancellationToken cancellationToken)
            {
                SessionCart sessionCart = new SessionCart
                {
                    CreateAt = request.CreateAt
                };

                await _context.SessionCarts.AddAsync(sessionCart);

                var result = await _context.SaveChangesAsync();

                if (result == 0)
                {
                    throw new Exception("Error en la creacion de la session");
                }


                foreach (var item in request.SelecctedItems)
                {
                    SessionCartDetail sessionCartDetail = new SessionCartDetail
                    {
                        CreateAt        = DateTime.Now,
                        SessionCartID   = sessionCart.SessionCartID,
                        SelecctedItemID = item
                    };

                    await _context.SessionCartDetails.AddAsync(sessionCartDetail);
                }

                var result1 = await _context.SaveChangesAsync();

                if (result1 > 0)
                {
                    return(Unit.Value);
                }

                throw new Exception("No se pudo agregar los produtos a la session");
            }
예제 #2
0
            public async Task <Unit> Handle(Execute request, CancellationToken cancellationToken)
            {
                var sesionCart = new SessionCart
                {
                    CreationDate = request.CreationDate,
                };

                _context.SessionCart.Add(sesionCart);
                var value = await _context.SaveChangesAsync();

                if (value == 0)
                {
                    throw new Exception("la sesion del carrito no se pudo insertar");
                }

                int id = sesionCart.SesionCartId;

                foreach (var obj  in request.ListProduct)
                {
                    var detailSesion = new SessionCartDetail
                    {
                        CreationDate    = DateTime.Now,
                        SesionCartId    = id,
                        SelectedProduct = obj,
                    };

                    _context.SessionCartDetail.Add(detailSesion);
                }
                value = await _context.SaveChangesAsync();

                if (value > 0)
                {
                    return(Unit.Value);
                }
                throw new Exception("No se pudo insetar el detalle del carrito compras");
            }