public async Task <ActionResult <PharmacyInventoryDto> > Update(PharmacyInventoryDto pharmacyInventory)
        {
            try
            {
                bool exists = await _context.PharmacyInventory.AnyAsync(x => x.PharmacyInventoryId == pharmacyInventory.PharmacyInventoryId);

                if (!exists)
                {
                    return(new NotFoundObjectResult("Id doesn't exist"));
                }

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

                PharmacyInventory updatePharmacyInventory = _mapper.Map <PharmacyInventory>(pharmacyInventory);
                updatePharmacyInventory.ItemNumber            = (await _context.Item.FirstOrDefaultAsync(x => x.ItemId == pharmacyInventory.ItemId)).ItemNumber;
                _context.Entry(updatePharmacyInventory).State = EntityState.Modified;
                _context.PharmacyInventory.Update(updatePharmacyInventory).Property(x => x.ItemNumber).IsModified = false;
                await _context.SaveChangesAsync();

                return(_mapper.Map <PharmacyInventoryDto>(updatePharmacyInventory));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        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;
            }
        }
Beispiel #3
0
 public async Task <ActionResult <PharmacyInventoryDto> > UpdatePharmacyInventory(PharmacyInventoryDto pharmacyInventory)
 {
     try
     {
         return(await _iPharmacyInventoryManager.Update(pharmacyInventory));
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }