public void RemoveResource(int objectId) { if (objectIdToResourceMap.ContainsKey(objectId)) { objectIdToResourceMap.Remove(objectId); ResourceRemoved?.Invoke(this, new ResourceRemoveEventArgs(objectId)); } }
public void Clear() { if (ResourceRemoved != null) { ResourceRemoveEventArgs m = new ResourceRemoveEventArgs(-1); foreach (System.EventHandler <ResourceRemoveEventArgs> e in ResourceRemoved?.GetInvocationList()) { e.BeginInvoke(this, m, e.EndInvoke, null); } } objectIdToResourceMap.Clear(); }
public void Clear() { if (ResourceRemoved != null) { ResourceRemoveEventArgs m = new ResourceRemoveEventArgs(-1); foreach (System.EventHandler <ResourceRemoveEventArgs> e in ResourceRemoved?.GetInvocationList()) { Task.Run(() => e.Invoke(this, m)); } } objectIdToResourceMap.Clear(); }
public void RemoveResource(int objectId) { if (objectIdToResourceMap.ContainsKey(objectId)) { objectIdToResourceMap.Remove(objectId); if (ResourceRemoved != null) { ResourceRemoveEventArgs m = new ResourceRemoveEventArgs(objectId); foreach (System.EventHandler <ResourceRemoveEventArgs> e in ResourceRemoved?.GetInvocationList()) { e.BeginInvoke(this, m, e.EndInvoke, null); } } } }
public bool Remove(IResource resource) { var objectId = resource.Instance.Variables["objectId"].ToString(); var filter = Builders <BsonDocument> .Filter.Eq("_id", new BsonObjectId(new ObjectId(objectId))); this.database.DropCollection("record_" + objectId); resourcesCollection.DeleteOne(filter); count--; ResourceRemoved?.Invoke(resource); Instance.Modified("Count"); return(true); }
private void OnResourceRemoved(object sender, IPublicResource publicResource) { ResourceRemoved?.Invoke(this, publicResource.Proxify(TypeController)); }
private void RaiseResourceRemoved(IPublicResource newResource) { ResourceRemoved?.Invoke(this, newResource); }
public void Clear() { ResourceRemoved?.Invoke(this, new ResourceRemoveEventArgs(-1)); objectIdToResourceMap.Clear(); }
public async Task SaveResources(IEnumerable <ExtraResource> saveItems) { var removedList = new List <ExtraResource>(); var modifiedList = new List <ExtraResource>(); var addedList = new List <ExtraResource>(); var existIds = new List <Guid>(); foreach (var saveItem in saveItems) { var resource = _Resources.FirstOrDefault(r => r.Id == saveItem.Id); if (resource == null) { // 추가 대상 addedList.Add(saveItem); } else { existIds.Add(saveItem.Id); // 수정 대상 if (resource.Name != saveItem.Name || resource.Type != saveItem.Type || resource.Price != saveItem.Price) { // 수정 resource.Name = saveItem.Name; resource.Type = (ResourceType)saveItem.Type; resource.Price = (double)saveItem.Price; modifiedList.Add(resource); } } } // 삭제 대상 removedList.AddRange(_Resources.Where(r => existIds.Contains(r.Id) == false)); // 추가 foreach (var addItem in addedList) { addItem.Id = Guid.NewGuid(); _Resources.Add(addItem); } // 삭제 _Resources.RemoveAll(r => removedList.Contains(r)); await _ResourceRepo.SaveResources(_Resources); if (addedList.Count > 0) { Debug.WriteLine($"추가: {string.Join(" ", addedList.Select(d => $"{d.Id}_{d.Name}"))}"); } if (modifiedList.Count > 0) { Debug.WriteLine($"수정: {string.Join(" ", modifiedList.Select(d => $"{d.Id}_{d.Name}"))}"); // modify to packing template if (_PackingTemplates != null && _PackingTemplates.Count > 0) { foreach (var packingTemplate in _PackingTemplates) { foreach (var packResource in packingTemplate.Resources) { var modifiedResource = modifiedList.FirstOrDefault(d => d.Id.Equals(packResource.Resource.Id)); if (modifiedResource != null) { packResource.Resource.Name = modifiedResource.Name; packResource.Resource.Price = modifiedResource.Price; packResource.Resource.Type = modifiedResource.Type; } } } await _PackingTempalteRepo.Save(_PackingTemplates); } ResourceModified?.Invoke(this, modifiedList); } if (removedList.Count > 0) { Debug.WriteLine($"삭제: {string.Join(" ", removedList.Select(d => $"{d.Id}_{d.Name}"))}"); // remove to packing template if (_PackingTemplates != null && _PackingTemplates.Count > 0) { var removedResourceIds = removedList.Select(n => n.Id).ToList(); foreach (var packingTemplate in _PackingTemplates.ToList()) { foreach (var packResource in packingTemplate.Resources.ToList()) { if (removedResourceIds.Contains(packResource.Resource.Id)) { packingTemplate.Resources.Remove(packResource); } } if (packingTemplate.Resources.Count < 1) { _PackingTemplates.Remove(packingTemplate); } } await _PackingTempalteRepo.Save(_PackingTemplates); } ResourceRemoved?.Invoke(this, removedList); } }
private void OnResourceRemoved(IResource resource) => ResourceRemoved?.Invoke(this, new ResourceEventArgs(resource));