/// <summary> /// Create a new <see cref="Altask.www.Models.TaskInstance"/>. /// </summary> /// <param name="task"></param> /// <param name="asset"></param> /// <param name="user"></param> /// <param name="date"></param> /// <returns></returns> private static TaskInstance Create(Data.Dto.Task task, Data.Dto.Asset asset, Data.Dto.User user, DateTime date) { var instance = new TaskInstance() { Description = task.Description, Date = date, IdleTimeout = task.IdleTimeout, FormModel = task.Form.PublishedModel, TaskId = task.Id, Metadata = task.Metadata, Name = task.Name, Category = task.Category, Type = task.Type, }; if (asset != null) { instance.AssetId = asset.Id; instance.Asset = asset; } if (user != null) { instance.UserId = user.Id; instance.User = user; } return(instance); }
internal override void BeforeUpdate(Data.Model.Asset entity, Data.Dto.Asset dto) { ThrowIfDisposed(); var currentGroups = entity.Groups.ToList(); for (var index = currentGroups.Count - 1; index >= 0; index--) { var group = currentGroups[index]; if (!dto.Groups.Any(ag => ag.AssetGroupId == group.AssetGroupId)) { Context.AssetGroupings.Remove(group); } } foreach (var group in dto.Groups) { var existingGroup = Context.AssetGroups.FirstOrDefault(ag => ag.Id == group.AssetGroupId); if (existingGroup != null) { if (!entity.Groups.Any(ag => ag.AssetGroupId == group.AssetGroupId)) { entity.Groups.Add(new Data.Model.AssetGrouping() { AssetGroupId = existingGroup.Id }); } } } }
internal override void BeforeCreate(Data.Model.Asset entity, Data.Dto.Asset dto) { ThrowIfDisposed(); foreach (var item in dto.Groups) { entity.Groups.Add(new Data.Model.AssetGrouping() { AssetGroupId = item.AssetGroupId }); } }
/// <summary> /// Create a new <see cref="Altask.www.Models.TaskInstance"/>. /// </summary> /// <param name="task"></param> /// <param name="asset"></param> /// <param name="date"></param> /// <returns></returns> private static TaskInstance Create(Data.Dto.Task task, Data.Dto.Asset asset, DateTime date) { return(Create(task, asset, null, date)); }