Пример #1
0
        public async Task <SnackShopPurchase> CreateSnackShopPurchase(int portalId, int sourceId,
                                                                      SnackShopPurchaseSource source,
                                                                      SnackShopPurchaseModel snackShopPurchase)
        {
            SnackShopPurchase newSnackShopPurchase = new SnackShopPurchase
            {
                PortalId        = portalId,
                PurchasedPrice  = snackShopPurchase.PurchasedPrice,
                PurchasedDate   = DateTimeOffset.Now,
                IsActive        = true,
                IsDeleted       = false,
                SnackShopItemId = snackShopPurchase.SnackShopItemId,
                CreatedBy       = snackShopPurchase.CreatedBy,
            };

            switch (source)
            {
            case SnackShopPurchaseSource.Camper:
                newSnackShopPurchase.CamperId = sourceId;
                break;

            case SnackShopPurchaseSource.Counselor:
                newSnackShopPurchase.CounselorId = sourceId;
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(source), source, "The source is required.");
            }

            await Context.SnackShopPurchases.AddAsync(newSnackShopPurchase);

            await Context.SaveChangesAsync();

            return(newSnackShopPurchase);
        }
Пример #2
0
        public async Task <ActionResult <SnackShopPurchase> > CreateSnackShopItem(int portalId, int sourceId,
                                                                                  [FromBody] SnackShopPurchaseModel snackShopPurchase, SnackShopPurchaseSource source)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            SnackShopPurchase newSnackShopPurchase =
                await _snackShopPurchaseRepository.CreateSnackShopPurchase(portalId, sourceId, source,
                                                                           snackShopPurchase);

            return(Ok(newSnackShopPurchase));
        }
Пример #3
0
        public async Task <SnackShopPurchase> UpdateSnackShopPurchase(int portalId, int sourceId,
                                                                      int snackShopPurchaseId,
                                                                      SnackShopPurchaseSource source, SnackShopPurchaseModel snackShopPurchase)
        {
            SnackShopPurchase dbSnackShopPurchase =
                await GetSnackShopPurchaseById(portalId, sourceId, snackShopPurchaseId, source);

            dbSnackShopPurchase.PurchasedDate   = DateTimeOffset.Now;
            dbSnackShopPurchase.PurchasedPrice  = snackShopPurchase.PurchasedPrice;
            dbSnackShopPurchase.SnackShopItemId = snackShopPurchase.SnackShopItemId;

            switch (source)
            {
            case SnackShopPurchaseSource.Camper:
                dbSnackShopPurchase.CamperId = sourceId;
                break;

            case SnackShopPurchaseSource.Counselor:
                dbSnackShopPurchase.CounselorId = sourceId;
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(source), source, "The source is required.");
            }

            await Context.SaveChangesAsync();

            return(dbSnackShopPurchase);
        }