public async Task <ActionResult <PharmacyInventoryDto> > Create(PharmacyInventoryDto pharmacyInventory) { try { bool itemExists = await _context.Item.AnyAsync(x => x.ItemId == pharmacyInventory.ItemId); if (!itemExists) { return(new NotFoundObjectResult("ItemId doesn't exist")); } bool pharmacyExists = await _context.Pharmacy.AnyAsync(x => x.PharmacyId == pharmacyInventory.PharmacyId); if (!pharmacyExists) { return(new NotFoundObjectResult("PharmacyId doesn't exist")); } if (!pharmacyInventory.QuantityOnHand.HasValue) { return(new NotFoundObjectResult("QuantityOnHand needs a value")); } else { if (pharmacyInventory.QuantityOnHand.Value <= 0) { return(new NotFoundObjectResult("QuantityOnHand must be non-zero value")); } } int itemNumber = (await _context.Item.FirstOrDefaultAsync(x => x.ItemId == pharmacyInventory.ItemId)).ItemNumber; PharmacyInventory newPharmacyInventory = _mapper.Map <PharmacyInventory>(pharmacyInventory); newPharmacyInventory.PharmacyInventoryId = Guid.NewGuid(); newPharmacyInventory.ItemNumber = itemNumber; await _context.PharmacyInventory.AddAsync(newPharmacyInventory); await _context.SaveChangesAsync(); return(_mapper.Map <PharmacyInventoryDto>(newPharmacyInventory)); } catch (Exception ex) { throw ex; } }
public async Task <ActionResult <ItemDto> > Create(ItemDto item) { try { if (string.IsNullOrEmpty(item.Upc)) { return(new NotFoundObjectResult("UPC must have a value")); } else { if (item.Upc.Length != 12) { return(new NotFoundObjectResult("UPC must have 12 digits")); } else { long isNumeric; if (!long.TryParse(item.Upc, out isNumeric)) { return(new NotFoundObjectResult("UPC must contain only numbers")); } } } bool itemVendorExists = await _context.ItemVendor.AnyAsync(x => x.ItemVendorId == item.ItemVendorId); if (!itemVendorExists) { return(new NotFoundObjectResult("ItemVendor doesn't exist")); } Item newItem = _mapper.Map <Item>(item); newItem.ItemId = Guid.NewGuid(); await _context.Item.AddAsync(newItem); await _context.SaveChangesAsync(); return(_mapper.Map <ItemDto>(newItem)); } catch (Exception ex) { throw ex; } }