private async Task UpdateAsync(ItemPriceDto input)
        {
            if (input.Id != null)
            {
                var itemPrice = await _itemPriceRepository.FirstOrDefaultAsync((int)input.Id);

                ObjectMapper.Map(input, itemPrice);
            }
        }
 public async Task CreateOrUpdateItemPrice(ItemPriceDto input)
 {
     if (input.Id == null)
     {
         await CreateAsync(input);
     }
     else
     {
         await UpdateAsync(input);
     }
 }
        private async Task CreateAsync(ItemPriceDto input)
        {
            var itemPrice = ObjectMapper.Map <ItemPrice>(input);

            itemPrice.TenantId = AbpSession.TenantId;
            await _itemPriceRepository.InsertAsync(itemPrice);

            if (input.ItemId > 0)
            {
                var lastItem = await _itemPriceRepository.GetAll().AsNoTracking().Where(b => b.ItemId == input.ItemId).OrderByDescending(c => c.CreationTime).FirstOrDefaultAsync();

                if (lastItem != null)
                {
                    lastItem.DateTo = input.DateFrom;
                    await _itemPriceRepository.UpdateAsync(lastItem);
                }
            }
        }