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); }
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)); }
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); }