/// <summary>
        /// Загрузка окна, инициализация контроллеров, загрузка в listview данных и сброс управления.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private async void MetroWindow_Loaded(object sender, RoutedEventArgs e)
        {
            Firts_Start = true;

            DBConnection oDBConnection = new DBConnection();

            await oDBConnection.InitializeDatabase();


            oOrdersRepository = new OrdersRepository(oDBConnection);

            oClientsRepository = new ClientsRepository(oDBConnection);
            oCardsRepository   = new CardsRepository(oDBConnection);

            oBouquetsRepository = new BouquetsRepository(oDBConnection);
            oContentsRepository = new ContentsRepository(oDBConnection);

            oCartsRepository = new CartsRepository(oDBConnection);

            oAccessoriesRepository = new AccessoriesRepository(oDBConnection);
            oFlowersRepository     = new FlowersRepository(oDBConnection);

            oSpecialDealsRepository = new SpecialDealsRepository(oDBConnection);
            oDiscountRepository     = new DiscountsRepository(oDBConnection);

            conn = oDBConnection.GetAsyncConnection();

            lCart_Bouquet = new List <Cart_Bouquet>();

            await Update_ListView_Clients();
            await Update_ListView_Bouquets();

            Clear_Control_All();
        }
Example #2
0
        private async Task Initialize_Database()
        {
            DBConnection oDBConnection = new DBConnection();

            await oDBConnection.InitializeDatabase();

            oOrdersRepository   = new OrdersRepository(oDBConnection);
            oCartsRepository    = new CartsRepository(oDBConnection);
            oBouquetsRepository = new BouquetsRepository(oDBConnection);

            conn = oDBConnection.GetAsyncConnection();
        }
Example #3
0
        Clients_Orders oClients_Orders;         //  Выделенные в списках объекты
        //Carts_Bouquets oCarts_Bouquets; //

        /// <summary>
        /// Загрузка окна, инициализация контроллеров, загрузка в listview данных и сброс управления.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private async void MetroWindow_Loaded(object sender, RoutedEventArgs e)
        {
            DBConnection oDBConnection = new DBConnection();

            await oDBConnection.InitializeDatabase();

            oClientsRepository  = new ClientsRepository(oDBConnection);
            oOrdersRepository   = new OrdersRepository(oDBConnection);
            oCartsRepository    = new CartsRepository(oDBConnection);
            oBouquetsRepository = new BouquetsRepository(oDBConnection);
            oCardsRepository    = new CardsRepository(oDBConnection);
            oPaymentsRepository = new PaymentsRepository(oDBConnection);

            conn = oDBConnection.GetAsyncConnection();

            await Update_ListView_Orders();

            Clear_Control();
        }
Example #4
0
        public async Task <ActionResult> Index()
        {
            CartsRepository context     = new CartsRepository();
            var             currentUser = CheckCurrentUser();

            if (currentUser is null)
            {
                return(Redirect("Account/Login"));
            }
            else
            {
                Cart cart = await context.GetCart(currentUser.CartId);

                if (cart is null)
                {
                    cart = new Cart {
                    };
                }
                return(View(cart.CartItems));
            }
        }
 public CartsController()
 {
     _validator      = new CartRequestValidator();
     _cartRepository = new CartsRepository();
 }
Example #6
0
        public async Task <ActionResult> AddToCart(int id)
        {
            // TODO: Code duplicate form CartController
            CartsRepository     cartRepository      = new CartsRepository();
            CartItemsRepository cartItemsRepository = new CartItemsRepository();
            string currentUserId = User.Identity.GetUserId();
            UserManager <ApplicationUser> manager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(db));
            ApplicationUser currentUser           = manager.FindById(currentUserId);

            if (currentUser is null)
            {
                return(Redirect("../../Account/Login"));
            }

            Cart cart = await db.Carts.Where(o => o.Id == currentUser.CartId).SingleOrDefaultAsync();

            if (cart == null)
            {
                cart = new Cart();
                db.Entry(cart).State = EntityState.Added;
                cart.Id                     = db.Users.Max(o => o.CartId) + 1;
                currentUser.CartId          = cart.Id;
                db.Entry(currentUser).State = EntityState.Modified;
            }
            Product  product = db.Products.Where(o => o.Id == id).Single();
            CartItem item    = await db.CartItems.Where(o => o.Product.Id == product.Id).SingleOrDefaultAsync();

            if (item != default(CartItem))
            {
                item.Amount++;
                db.Entry(item).State = EntityState.Modified;
            }
            else
            {
                item = new CartItem();
                db.Entry(item).State = EntityState.Added;
                item.Product         = product;
                item.CartId          = cart.Id;
                cart.CartItems.Add(item);
                item.Cart = cart;
                if (db.Entry(cart).State != EntityState.Added)
                {
                    db.Entry(cart).State = EntityState.Modified;
                }
            }


            try
            {
                await db.SaveChangesAsync();
            }
            catch (DbEntityValidationException e)
            {
                foreach (var eve in e.EntityValidationErrors)
                {
                    Debug.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
                                    eve.Entry.Entity.GetType().Name, eve.Entry.State);
                    foreach (var ve in eve.ValidationErrors)
                    {
                        Debug.WriteLine("- Property: \"{0}\", Error: \"{1}\"",
                                        ve.PropertyName, ve.ErrorMessage);
                    }
                }
                throw;
            }

            return(RedirectToAction("Index"));
        }
 public CartsService(CartsRepository repo)
 {
     _repo = repo;
 }
Example #8
0
 public CartsService(CartsRepository cartsRepository)
 {
     this.cartsRepository = cartsRepository;
 }
 public CartResolver(CartsRepository repository)
 {
     _repository = repository;
 }
 public CartsController(CartsRepository repo, UsersRepository userRepo)
 {
     _cartRepo = repo;
     _userRepo = userRepo;
     _userAuth = new UserAuthorization();
 }