public static AssetInventoryModel ToModel(this AssetInventory entity) { var model = new AssetInventoryModel() { Id = entity.Id, Title = entity.Title, Description = entity.Description, CreatedTime = entity.CreatedTime }; if (entity.Status.HasValue) { model.Status = (AssetInventoryStatus)entity.Status.Value; } if (entity.AssetInventoryRecords != null && entity.AssetInventoryRecords.Count > 0) { model.AssetInventoryRecords = new List <AssetInventoryRecordModel>(); foreach (var item in entity.AssetInventoryRecords) { model.AssetInventoryRecords.Add(new AssetInventoryRecordModel() { Id = item.Id, AssetId = item.AssetId, InventoryId = item.InventoryId, ScanCode = item.ScanCode, UserId = item.UserId }); } } return(model); }
public static AssetInventory ToEntity(this AssetInventoryModel model) { var entity = new AssetInventory() { Id = model.Id, Title = model.Title, Description = model.Description, Status = (int)model.Status }; return(entity); }
public async Task <DirectoryTreeNode> GetInventoryFileTreeAsync(AssetInventory inventory, CancellationToken cancellationToken = default) { if (inventory == null) { throw new ArgumentException("AssetInventory cannot be null", nameof(inventory)); } try { var vpkInventory = await Http.GetFromJsonAsync <VpkInventory>(inventory.Url, cancellationToken); return(await GetVpkInventoryFileTreeAsync(vpkInventory, cancellationToken)); } catch (OperationCanceledException canceledException) when(canceledException.CancellationToken == cancellationToken) { return(new DirectoryTreeNode() { Name = "Root" }); } }
private static AssetInventory ComputeInventoryDynamics(AssetInventory startInventory, AssetInventory endInventory) { if (startInventory == null && endInventory == null) { throw new InvalidOperationException("At least one inventory is required"); } decimal usdRate = (endInventory?.Volume ?? 0) != 0 ? endInventory.VolumeInUsd / endInventory.Volume : 0; decimal volume = (endInventory?.Volume ?? 0) - (startInventory?.Volume ?? 0); decimal volumeInUsd = endInventory != null ? volume * usdRate : -startInventory.VolumeInUsd; return(new AssetInventory { Exchange = startInventory?.Exchange ?? endInventory.Exchange, Volume = volume, VolumeInUsd = volumeInUsd, SellVolume = (endInventory?.SellVolume ?? 0) - (startInventory?.SellVolume ?? 0), BuyVolume = (endInventory?.BuyVolume ?? 0) - (startInventory?.BuyVolume ?? 0) }); }
/// <summary> /// Add an entity. /// </summary> /// <param name="model"></param> /// <returns></returns> public AssetInventoryViewModel Add(AssetInventoryViewModel model) { this.ThrowExceptionIfExist(model); var entity = model.ToEntity(); entity = this._AssetInventorysRepository.Add(entity); var entityEn = new AssetInventory { Language = Language.English, Description = model.DescriptionEn, }; entity.ChildTranslatedAssetInventorys.Add(entityEn); this._AssetInventorysRepository.Add(entityEn); var entityAr = new AssetInventory { Language = Language.Arabic, Description = model.DescriptionAr }; entity.ChildTranslatedAssetInventorys.Add(entityAr); this._AssetInventorysRepository.Add(entityAr); var details = entity.AssetInventoryDetails; this._AssetInventoryDetailsRepository.Add(details); #region Commit Changes this._unitOfWork.Commit(); #endregion model = entity.ToModel(); return(model); }