Exemplo n.º 1
0
        public ResponseView <IList <BasketView> > GetBasket(int userid)
        {
            var data = this._basketRepository.GetBasket(userid);
            var view = BasketView.ToViews(data);

            return(base.OutPutBrokenResponseView(view));
        }
Exemplo n.º 2
0
        public ResponseView <IList <BasketView> > GetBasket(int userId, int[] skuIds)
        {
            var data = _basketRepository.GetBasket(userId, skuIds);
            var view = BasketView.ToViews(data);

            return(base.OutPutBrokenResponseView(view));
        }
Exemplo n.º 3
0
        private async void AnimateOut()
        {
            var rect = new Rectangle(GridLayout.Width, BasketView.Y, BasketView.Width, BasketView.Height);
            await BasketView.LayoutTo(rect, 400, Easing.Linear);

            BasketView.IsVisible = false;
        }
Exemplo n.º 4
0
        private void AnimateIn()
        {
            BasketView.IsVisible = true;
            var rect = new Rectangle(-(GridLayout.Width - BasketView.Width), BasketView.Y, BasketView.Width, BasketView.Height);

            BasketView.LayoutTo(rect, 400, Easing.Linear);
        }
        public async Task <Result <BasketView> > GetAllDishesByUserIdAsync(string userIdFromIdentity, CancellationToken cancellationToken = default)
        {
            UserDB user = await _context.Users.Where(_ => _.IdFromIdentity == userIdFromIdentity).Select(_ => _).AsNoTracking().FirstOrDefaultAsync(cancellationToken);

            AppUser userIdentity = await _userManager.FindByIdAsync(userIdFromIdentity);

            if (user is null || userIdentity is null)
            {
                return(Result <BasketView> .Fail <BasketView>(ExceptionConstants.USER_WAS_NOT_FOUND));
            }
            BasketDB basket = await _context.Baskets.Where(_ => _.Id == user.BasketId).AsNoTracking().FirstOrDefaultAsync(cancellationToken);

            if (basket is null)
            {
                return(Result <BasketView> .Fail <BasketView>(ExceptionConstants.BASKET_WAS_NOT_FOUND));
            }
            try
            {
                var dishList = await _context.BasketDishes.Where(_ => _.BasketId == basket.Id).AsNoTracking().ToListAsync(cancellationToken);

                BasketView view = CollectBasket(basket, dishList, userIdentity).Result.Data;
                return(Result <BasketView> .Ok(_mapper.Map <BasketView>(view)));
            }
            catch (ArgumentNullException ex)
            {
                return(Result <BasketView> .Fail <BasketView>(ExceptionConstants.SOURCE_IS_NULL + ex.Message));
            }
        }
Exemplo n.º 6
0
 public static BasketSummaryView ConvertToSummary(this BasketView basket)
 {
     return(new BasketSummaryView()
     {
         BasketTotal = basket.BasketTotal,
         NumberOfItems = basket.NumberOfItems
     });
 }
        public PartialViewResult Basket()
        {
            BasketView model = new BasketView();

            model.BasketCount = 5;
            model.BasketTotal = "$100";

            return(PartialView(model));
        }
Exemplo n.º 8
0
        public async Task <BasketDto> GenerateEmptyBasket()
        {
            var basket = new BasketView();

            basket.Handle();

            _basketRepository.Add(basket);
            await _unitOfWork.CommitAsync();

            return(new BasketDto(basket.Id));
        }
        public async Task <Result <BasketView> > RemoveDishByIdAsync(string dishId, string userIdFromIdentity, CancellationToken cancellationToken = default)
        {
            UserDB user = await _context.Users.Where(_ => _.IdFromIdentity == userIdFromIdentity).Select(_ => _).AsNoTracking().FirstOrDefaultAsync(cancellationToken);

            AppUser userIdentity = await _userManager.FindByIdAsync(userIdFromIdentity);

            if (user is null || userIdentity is null)
            {
                return(Result <BasketView> .Fail <BasketView>(ExceptionConstants.USER_WAS_NOT_FOUND));
            }
            BasketDB basket = await _context.Baskets.Where(_ => _.UserId == user.Id).AsNoTracking().FirstOrDefaultAsync(cancellationToken);

            if (basket is null)
            {
                return(Result <BasketView> .Fail <BasketView>(ExceptionConstants.BASKET_WAS_NOT_FOUND));
            }
            BasketDishDB connection = await _context.BasketDishes.Where(_ => _.BasketId == basket.Id && _.DishId == Guid.Parse(dishId)).AsNoTracking().FirstOrDefaultAsync(cancellationToken);

            if (connection is null)
            {
                return(Result <BasketView> .Fail <BasketView>(ExceptionConstants.DISHES_IN_BASKET_WAS_NOT_FOUND));
            }
            basket.ModificationTime = DateTime.Now;
            _context.Entry(basket).Property(c => c.ModificationTime).IsModified = true;
            _context.BasketDishes.Remove(connection);
            try
            {
                await _context.SaveChangesAsync(cancellationToken);

                var dishList = await _context.BasketDishes.Where(_ => _.BasketId == basket.Id).AsNoTracking().ToListAsync(cancellationToken);

                BasketView view = CollectBasket(basket, dishList, userIdentity).Result.Data;
                return(Result <BasketView> .Ok(_mapper.Map <BasketView>(view)));
            }
            catch (DbUpdateConcurrencyException ex)
            {
                return(Result <BasketView> .Fail <BasketView>(ExceptionConstants.CANNOT_SAVE_MODEL + ex.Message));
            }
            catch (DbUpdateException ex)
            {
                return(Result <BasketView> .Fail <BasketView>(ExceptionConstants.CANNOT_SAVE_MODEL + ex.Message));
            }
            catch (ArgumentNullException ex)
            {
                return(Result <BasketView> .Fail <BasketView>(ExceptionConstants.SOURCE_IS_NULL + ex.Message));
            }
        }
Exemplo n.º 10
0
        public void SwitchView(string viewName = "")
        {
            switch (viewName)
            {
            case "":
                startUsingViewModel         = new StartUsingViewModel(diaryLogic);
                DiaryStartUsing             = new StartUsingThisDiaryView();
                DiaryStartUsing.DataContext = startUsingViewModel;
                WaitingAsync();
                break;

            case "Пароль":
                passwordInputViewModel      = new PasswordInputViewModel(diaryLogic);
                DiaryStartUsing             = new PasswordInputView();
                DiaryStartUsing.DataContext = passwordInputViewModel;
                WaitingDonePassword();
                break;

            case "Главная":
                StopProcess();
                DiaryOperation             = new MainPageView();
                DiaryOperation.DataContext = new MainPageViewModel((importantDatesLogic, timetableForTheDaysLogic, habitsTrackerLogic, goalsLogic));
                break;

            case "Органайзер":
                StopProcess();
                organizerViewModel         = new OrganizerViewModel((notesLogic, importantDatesLogic, timetableForTheDaysLogic, habitsTrackerLogic, goalsLogic, basketLogic));
                DiaryOperation             = new OrganizerView();
                DiaryOperation.DataContext = organizerViewModel;
                break;

            case "Настройки":
                StopProcess();
                settingsViewModel          = new SettingsViewModel(diaryLogic);
                DiaryOperation             = new SettingsView();
                DiaryOperation.DataContext = settingsViewModel;
                break;

            case "Корзина":
                StopProcess();
                DiaryOperation             = new BasketView();
                DiaryOperation.DataContext = new BasketViewModel(notesLogic, basketLogic);
                break;
            }
        }
Exemplo n.º 11
0
        public GetBasketResponse GetBasket(GetBasketRequest basketRequest)
        {
            GetBasketResponse response   = new GetBasketResponse();
            Basket            basket     = _basketRepository.FindBy(basketRequest.BasketId);
            BasketView        basketView = null;

            if (basket != null)
            {
                basketView = _mapper.Map <Basket, BasketView>(basket);
            }
            else
            {
                basketView = new BasketView();
            }

            response.Basket = basketView;

            return(response);
        }
        public GetBasketResponse GetBasket(GetBasketRequest request)
        {
            GetBasketResponse response = new GetBasketResponse();

            Basket     basket = _basketRepository.FindBy(request.BasketId);
            BasketView basketView;

            if (basket != null)
            {
                basketView = basket.ConvertToBasketView();
            }
            else
            {
                basketView = new BasketView();
            }

            response.Basket = basketView;

            return(response);
        }
        public async Task <Result> RemoveAllByUserIdAsync(string userIdFromIdentity, CancellationToken cancellationToken = default)
        {
            UserDB user = await _context.Users.Where(_ => _.IdFromIdentity == userIdFromIdentity).Select(_ => _).AsNoTracking().FirstOrDefaultAsync(cancellationToken);

            if (user is null)
            {
                return(Result <BasketView> .Fail <BasketView>(ExceptionConstants.USER_WAS_NOT_FOUND));
            }
            BasketDB basket = await _context.Baskets.Where(_ => _.UserId == user.Id).AsNoTracking().FirstOrDefaultAsync(cancellationToken);

            if (basket is null)
            {
                return(Result <BasketView> .Fail <BasketView>(ExceptionConstants.BASKET_WAS_NOT_FOUND));
            }
            var connections = await _context.BasketDishes.Where(_ => _.BasketId == basket.Id).AsNoTracking().ToListAsync(cancellationToken);

            if (!connections.Any())
            {
                return(Result <BasketView> .Fail <BasketView>(ExceptionConstants.DISHES_IN_BASKET_WAS_NOT_FOUND));
            }
            basket.ModificationTime = DateTime.Now;
            _context.Entry(basket).Property(c => c.ModificationTime).IsModified = true;
            _context.BasketDishes.RemoveRange(connections);

            try
            {
                await _context.SaveChangesAsync(cancellationToken);

                BasketView view = _mapper.Map <BasketView>(basket);
                return(Result <BasketView> .Ok(_mapper.Map <BasketView>(view)));
            }
            catch (DbUpdateConcurrencyException ex)
            {
                return(await Task.FromResult(Result.Fail(ExceptionConstants.CANNOT_DELETE_DISHES + ex.Message)));
            }
            catch (DbUpdateException ex)
            {
                return(await Task.FromResult(Result.Fail(ExceptionConstants.CANNOT_DELETE_DISHES + ex.Message)));
            }
        }
Exemplo n.º 14
0
        private void InitCommands()
        {
            Search = new RelayCommand(x =>
            {
                var SV = new SearchView();
                (SV.DataContext as SearchViewModel).SearchText = SearchText;
                (SV.DataContext as SearchViewModel).Search.Execute(this);
                CurrentView = SV;
            });

            Catalog = new RelayCommand(x =>
            {
                CurrentView = new CatalogView();
            });
            Basket = new RelayCommand(x =>
            {
                CurrentView = new BasketView();
            });
            Wishlist = new RelayCommand(x =>
            {
                CurrentView = new WishlistView();
            });
        }
        public async Task <Result <BasketView> > CollectBasket(BasketDB basket, List <BasketDishDB> dishList, AppUser userIdentity)
        {
            BasketView view = _mapper.Map <BasketView>(basket);

            view.Dishes = new HashSet <DishView>();
            foreach (var dishListItem in dishList)
            {
                var dish = await _dishService.GetByIdAsync(dishListItem.DishId.ToString());

                if (dish.IsError)
                {
                    return(Result <BasketView> .Fail <BasketView>(ExceptionConstants.UNABLE_TO_RETRIEVE_DATA));
                }
                dish.Data.Quantity = dishListItem.Quantity.GetValueOrDefault();
                if (dish.Data.Sale > 0)
                {
                    view.BasketCost += dish.Data.Price * (1 - dish.Data.Sale / 100) * dish.Data.Quantity;
                }
                else
                {
                    view.BasketCost += dish.Data.Price * dish.Data.Quantity;
                }
                view.Dishes.Add(dish.Data);
            }
            view.BasketCost *= 1 - userIdentity.PersonalDiscount / 100;
            view.BasketCost  = Math.Round(view.BasketCost, 2);
            if (view.BasketCost < NumberСonstants.FREE_DELIVERY_BORDER)
            {
                view.DeliveryCost = NumberСonstants.DELIVERY_PRICE;
            }
            else
            {
                view.DeliveryCost = 0;
            }

            return(Result <BasketView> .Ok(_mapper.Map <BasketView>(view)));
        }
Exemplo n.º 16
0
 protected internal override Basket toObject(BasketView v) => new BasketViewFactory().Create(v);
Exemplo n.º 17
0
        private void AddIncomeToBasket(SpareInSpareIncomeView income)
        {
            int SpareID = income.SpareID.Value;

            // если такой товар в корзине есть
            if (BasketItems.Where(x => x.SpareID == SpareID).Count() > 0)
            {
                if ((decimal)SpareContainer.Instance.Remains.FirstOrDefault(i => i.id == SpareID).QRest.Value >
                    BasketItems.FirstOrDefault(x => x.SpareID == SpareID).Q)
                {
                    BasketItems.FirstOrDefault(x => x.SpareID == SpareID).Q++;
                }
            }
            else
            {
                // если такого товара в корзине нет
                BasketView item = new BasketView();
                item.ID = BasketItems.Count + 1;

                // [CreatedOn]
                item.CreatedOn = DateTime.Now;

                // [SpareID]
                item.SpareID = SpareID;

                // [Q]
                item.Q = 1;

                // [OfferingID] = income
                //item.OfferingInID = (dgIncomes.SelectedItem as SpareInSpareIncomeView).id;
                // [OfferingID] = outgo
                //TODO item.OfferingOutID
                decimal    POutBasic = income.POutBasic.Value;
                DataAccess db        = new DataAccess();

                spare_outgo outgo = db.SpareOutgoOpened();
                if (outgo == null)
                {
                    MessageBox.Show("Сначала укажите текущую открытую накладную!");
                    return;
                }
                if (outgo.currency == null)
                {
                    outgo.currencyReference.Load();
                }
                if (outgo.currency.code == CurrencyHelper.BasicCurrencyCode)
                {
                    POutBasic = income.POut.Value;
                }

                // [Pusd]
                item.Pusd = CurrencyHelper.GetPrice("USD", POutBasic);

                // [Peur]
                item.Peur = CurrencyHelper.GetPrice("EUR", POutBasic);

                // [Pbyr]
                item.Pbyr = CurrencyHelper.GetPrice("BYR", POutBasic);

                // [Prur]
                item.Prur = CurrencyHelper.GetPrice("RUR", POutBasic);

                // [SpareName]
                item.SpareName = income.SpareName;

                // [UnitID]
                item.UnitID = 1;

                // [SpareCode]
                item.SpareCode = income.SpareCode;

                // [SpareCodeShatem]
                item.SpareCodeShatem = income.SpareCodeShatem;
                BasketItems.Add(item);
            }

            // обновим грид
            LoadBasket();
        }