private EntityStateValue UpdateEntityStateEH(int entityId, string stateName, string state, string quantityExp, int retries) { if (entityId == 0) { return(null); } using (var w = WorkspaceFactory.Create()) { var stateValue = w.Single <EntityStateValue>(x => x.EntityId == entityId); if (stateValue == null) { stateValue = new EntityStateValue { EntityId = entityId }; w.Add(stateValue); } stateValue.SetStateValue(stateName, state, quantityExp); try { w.CommitChanges(); } catch (DbUpdateException) { if (retries > 3) { throw; } return(UpdateEntityStateEH(entityId, stateName, state, quantityExp, ++retries)); } return(stateValue); } }
private void ImportTableResources(EntityType tableTemplate, TicketType ticketType) { var fileName = string.Format("{0}/Imports/table{1}.txt", LocalSettings.AppPath, "_" + LocalSettings.CurrentLanguage); if (!File.Exists(fileName)) { fileName = string.Format("{0}/Imports/table.txt", LocalSettings.AppPath); } if (!File.Exists(fileName)) { return; } var lines = File.ReadAllLines(fileName); var items = BatchCreateEntitiesWithTemplate(lines, _workspace, tableTemplate).ToList(); items.ForEach(_workspace.Add); _workspace.CommitChanges(); var screen = new EntityScreen { Name = Resources.All_Tables, DisplayState = "Status", TicketTypeId = ticketType.Id, ColumnCount = 7, EntityTypeId = tableTemplate.Id, FontSize = 50 }; screen.EntityScreenMaps.Add(new EntityScreenMap()); _workspace.Add(screen); foreach (var resource in items) { resource.EntityTypeId = tableTemplate.Id; screen.AddScreenItem(new EntityScreenItem { Name = resource.Name, EntityId = resource.Id }); var state = new EntityStateValue { EntityId = resource.Id }; state.SetStateValue("Status", Resources.Available, ""); _workspace.Add(state); } _workspace.CommitChanges(); }
public void UpdateEntityState(int entityId, string stateName, string state) { if (entityId == 0) { return; } using (var w = WorkspaceFactory.Create()) { var stateValue = w.Single <EntityStateValue>(x => x.EntityId == entityId); if (stateValue == null) { stateValue = new EntityStateValue { EntityId = entityId }; w.Add(stateValue); } stateValue.SetStateValue(stateName, state); w.CommitChanges(); } }