예제 #1
0
 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);
     }
 }
예제 #2
0
        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();
        }
예제 #3
0
 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();
     }
 }