Beispiel #1
0
        public static void AddResourceEntityOnPosition(
            this GameObject prefab,
            EcsWorld world,
            Vector3 position,
            ResourceTag tag,
            Guid id,
            int resourceCount = -1)
        {
            var newMoneyBagObject = prefab.InstantiateNewObject(new Vector3(position.x, 0, position.z), Quaternion.identity);

            world.NewEntityWith <ResourceComponent>(out var resourceComponent);

            resourceComponent.Object   = newMoneyBagObject;
            resourceComponent.Position = position;
            resourceComponent.Tag      = tag;
            resourceComponent.Guid     = id;
            if (resourceCount == -1)
            {
                resourceComponent.ResourceCount = tag == ResourceTag.Money ? moneyCount : semkiCount;
            }
            else
            {
                resourceComponent.ResourceCount = resourceCount;
            }
        }
        /// <summary>
        /// Get the name of the instances with the given instanceID from EC2
        /// </summary>
        /// <param name="instanceId"></param>
        /// <returns></returns>
        public static string GetInstanceName(string instanceId)
        {
            AmazonEC2 ec2 = CreateClient();

            DescribeTagsRequest rq = new DescribeTagsRequest();

            rq.WithFilter(new Filter()
            {
                Name = "resource-id", Value = new List <string>()
                {
                    instanceId
                }
            });

            DescribeTagsResponse rs = ec2.DescribeTags(rq);

            string name = "";

            ResourceTag tag = rs.DescribeTagsResult.ResourceTag.Find(item => item.Key == "Name");

            if (tag != null)
            {
                name = tag.Value;
            }

            return(name);
        }
Beispiel #3
0
        /// <summary>
        /// Make fake Resource data for unit testing.
        /// </summary>
        /// <returns>Tag collection</returns>
        public static IEnumerable <Resource> GetResources()
        {
            var resources     = new List <Resource>();
            var resourceTagss = new List <ResourceTag>();
            var resourceTag   = new ResourceTag()
            {
                TagId      = Guid.Parse(Id),
                ResourceId = Guid.Parse(Id),
            };

            resourceTagss.Add(resourceTag);
            var resource = new Resource()
            {
                Id          = Guid.Parse(Id),
                Title       = "test",
                CreatedBy   = Guid.Parse(UserID),
                ResourceTag = resourceTagss,
                GradeId     = Guid.Parse(Id),
                SubjectId   = Guid.Parse(Id),
            };

            resources.Add(resource);

            return(resources);
        }
        public async Task PatchAsync_ResourceUpdateWithNonAdminUser_ReturnsUnauthorizedResult()
        {
            // ARRANGE
            var resourceTagss = new List <ResourceTag>();
            var resourceTag   = new ResourceTag()
            {
                TagId      = Guid.Parse(FakeData.Id),
                ResourceId = Guid.Parse(FakeData.Id),
            };

            resourceTagss.Add(resourceTag);
            var resourceModel = new ResourceViewModel
            {
                Id           = Guid.Parse(FakeData.Id),
                Title        = "Test title",
                Description  = "Test description",
                ImageUrl     = "https://test.jpg",
                ResourceType = 1,
                ResourceTag  = resourceTagss,
            };
            var resource = FakeData.GetResource();

            resource.CreatedBy = Guid.NewGuid();

            this.unitOfWork.Setup(uow => uow.ResourceRepository.GetAsync(It.IsAny <Guid>())).ReturnsAsync(resource);
            this.memberValidationService.Setup(validationService => validationService.ValidateMemberAsync(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>())).ReturnsAsync(false);
            this.securityGroupOptions.Value.AdminGroupId = Guid.NewGuid().ToString();

            // ACT
            var result = (ObjectResult)await this.resourceController.PatchAsync(Guid.Parse(FakeData.Id), resourceModel);

            // ASSERT
            Assert.AreEqual(result.StatusCode, StatusCodes.Status401Unauthorized);
        }
        private void buttonEdit_Click(object sender, RoutedEventArgs e)
        {
            ResourceTag rt = new ResourceTag(SelectedTag);

            int index  = 0;
            int brojac = -1;

            foreach (ResourceTag tag in Tags)
            {
                brojac++;
                if (tag.Id.Equals(rt.Id))
                {
                    index = brojac;
                }
            }

            if (SelectedTag != null)
            {
                EditTag editTag = new EditTag(SelectedTag.Id, tw);
                editTag.Show();
            }
            else
            {
                MessageBox.Show("Molimo, odaberite etiketu za ažuriranje", "Ažuriranje etikete");
            }
        }
Beispiel #6
0
 //ovaj konstruktor se koristi kada se pravi prozor za dodavanje nove etikete
 public AddTag()
 {
     this.DataContext = this;
     //ovde se mogu postaviti default vrednosti za polja
     tagObject = new ResourceTag {
         Color = "#FFFFFF"
     };
     InitializeComponent();
 }
Beispiel #7
0
        private void buttonShowTagsDelete_Click(object sender, RoutedEventArgs e)
        {
            ResourceTag t = (ResourceTag)TagsTable.SelectedValue;

            if (t != null)
            {
                Database.getInstance().ResourceTags.Remove(t);
            }
        }
Beispiel #8
0
 private void ButtonUndo_Click(object sender, RoutedEventArgs e)
 {
     if (TagsForUndo.Count() != 0)
     {
         ResourceTag tag = TagsForUndo.ElementAt(TagsForUndo.Count() - 1);
         TagsForUndo.RemoveAt(TagsForUndo.Count() - 1);
         Tags.Add(tag);
         tw.database.SaveTags();
     }
 }
Beispiel #9
0
        private void buttonShowTagsEdit_Click(object sender, RoutedEventArgs e)
        {
            ResourceTag t = (ResourceTag)TagsTable.SelectedValue;

            if (t != null)
            {
                AddTag window = new AddTag(t);
                showNewWindow(window);
            }
        }
        public override void CreateEntry(string name, string type, string data, string[] tags)
        {
            using var ctx = m_quiltContextFactory.Create();

            var dbResourceType = ctx.ResourceTypes.Where(r => r.Name == type).SingleOrDefault();

            if (dbResourceType == null)
            {
                dbResourceType = new ResourceType()
                {
                    Name = type
                };
                _ = ctx.ResourceTypes.Add(dbResourceType);
            }

            var dbResource = new Resource()
            {
                ResourceLibraryId = m_resourceLibraryId,
                Name         = name,
                ResourceType = dbResourceType,
                ResourceData = data,
            };

            _ = ctx.Resources.Add(dbResource);

            if (tags != null)
            {
                foreach (var tag in tags)
                {
                    var dbTag = ctx.Tags.Where(r => r.TagTypeCode == TagTypeCodes.Block && r.Value == tag).FirstOrDefault();
                    if (dbTag == null)
                    {
                        dbTag = new Tag()
                        {
                            TagTypeCode       = TagTypeCodes.Block,
                            Value             = tag,
                            CreateDateTimeUtc = DateTime.UtcNow
                        };
                        _ = ctx.Tags.Add(dbTag);
                    }

                    var dbResourceTag = new ResourceTag()
                    {
                        Resource          = dbResource,
                        Tag               = dbTag,
                        CreateDateTimeUtc = DateTime.UtcNow
                    };
                    _ = ctx.ResourceTags.Add(dbResourceTag);
                }
            }

            _ = ctx.SaveChanges();

            InvalidateCachedEntries();
        }
Beispiel #11
0
        public DeleteTags(TempWindow t)
        {
            tw = t;
            InitializeComponent();
            WindowStartupLocation = System.Windows.WindowStartupLocation.CenterScreen;

            SelectedTag = null;
            DataContext = this;

            tw.database.loadData();
            Tags = tw.database.Tags;
        }
Beispiel #12
0
 //ovaj konstuktor se poziva za uredjivanje postojece etikete
 public AddTag(ResourceTag tag)
 {
     this.DataContext = this;
     //kopira se prosledjena datoteka
     //ni slucajno tagObject = tag, onda kada korisnik menja nesto pa ne sacuva ostanu izmene
     tagObject = new ResourceTag {
         Id = tag.Id, Color = tag.Color, Description = tag.Description
     };
     //cuvamo prosledjeno da kada korisnik klikne sacuvaj mozemo izmeniti original
     originalTag = tag;
     InitializeComponent();
 }
        public override void UpdateEntry(string name, string data, string[] tags)
        {
            using var ctx = m_quiltContextFactory.Create();

            var dbResource = ctx.Resources
                             .Include(r => r.ResourceTags)
                             .ThenInclude(r => r.Tag)
                             .Where(r => r.ResourceLibraryId == m_resourceLibraryId && r.Name == name)
                             .Single();

            dbResource.ResourceData = data;

            if (tags != null)
            {
                foreach (var tag in tags)
                {
                    if (!dbResource.ResourceTags.Any(r => r.Tag.Value == tag))
                    {
                        var dbTag = ctx.Tags.Where(r => r.TagTypeCode == TagTypeCodes.Block && r.Value == tag).FirstOrDefault();
                        if (dbTag == null)
                        {
                            dbTag = new Tag()
                            {
                                TagTypeCode       = TagTypeCodes.Block,
                                Value             = tag,
                                CreateDateTimeUtc = DateTime.UtcNow
                            };
                            _ = ctx.Tags.Add(dbTag);
                        }

                        var dbResourceTag = new ResourceTag()
                        {
                            Resource          = dbResource,
                            Tag               = dbTag,
                            CreateDateTimeUtc = DateTime.UtcNow
                        };
                        _ = ctx.ResourceTags.Add(dbResourceTag);
                    }
                }

                var dbObsoleteResourceTags = dbResource.ResourceTags.Where(r => !tags.Contains(r.Tag.Value)).ToList();
                ctx.RemoveRange(dbObsoleteResourceTags);
            }
            else
            {
                ctx.RemoveRange(dbResource.ResourceTags);
            }

            _ = ctx.SaveChanges();

            InvalidateCachedEntries();
        }
Beispiel #14
0
        private void BuildAndVerifySocketTag(string xml, uint expectedHandle)
        {
            TagBuilder builder = new TagBuilder();
            Event      ev      = EventFactory.CreateFromXml(xml);

            builder.Process(ev);
            Assert.That(ev.Tags.Count, Is.EqualTo(1));
            Assert.That(ev.Tags[0], Is.InstanceOfType(typeof(Socket.SocketResourceTag)));
            Assert.That(ev.Tags[0].Name, Is.EqualTo("Socket"));
            ResourceTag resTag = ev.Tags[0] as ResourceTag;

            Assert.That(resTag.ResourceHandle, Is.EqualTo(expectedHandle));
        }
Beispiel #15
0
        public AddTag(string id, TempWindow t)
        {
            tw = t;
            InitializeComponent();
            WindowStartupLocation = System.Windows.WindowStartupLocation.CenterScreen;

            tag         = new ResourceTag();
            tag.Id      = id;
            DataContext = tag;

            idError          = false;
            descriptionError = false;
        }
        public ShowTags(TempWindow t)
        {
            tw = t;
            InitializeComponent();
            WindowStartupLocation = System.Windows.WindowStartupLocation.CenterScreen;

            SelectedTag = null;
            DataContext = this;
            Console.WriteLine("hejj");
            tw.database.loadData();
            Tags = tw.database.Tags;
            Console.WriteLine(Tags.Count());
        }
Beispiel #17
0
        private void ButtonUndo_Click(object sender, RoutedEventArgs e)
        {
            if (TagsForUndo.Count() != 0)
            {
                int position = IndexesForUndo.Count() - 1;

                ResourceTag type = TagsForUndo.ElementAt(TagsForUndo.Count() - 1);
                TagsForUndo.RemoveAt(TagsForUndo.Count() - 1);
                int positionForInsert = IndexesForUndo.ElementAt(position);
                Tags.Insert(positionForInsert, type);
                Tags.RemoveAt(positionForInsert + 1);
                IndexesForUndo.RemoveAt(position);
                tw.database.SaveTags();
            }
        }
Beispiel #18
0
        public override TemplateObject Handle(TagData data)
        {
            string modif = data.GetModifier(0);

            if (modif.StartsWith("e:"))
            {
                modif = modif.Substring("e:".Length);
            }
            ResourceTag rtag = ResourceTag.For(Utilities.StringToInt(modif));

            if (rtag == null)
            {
                return(new TextTag("&{NULL}").Handle(data.Shrink()));
            }
            return(rtag.Handle(data.Shrink()));
        }
Beispiel #19
0
        public EditTag(string tagId, TempWindow t)
        {
            InitializeComponent();
            temp = t;
            WindowStartupLocation = System.Windows.WindowStartupLocation.CenterScreen;

            oldId = tagId;

            Tagg = new ResourceTag(t.database.GetTag(tagId));
            if (Tagg.Color != null)
            {
                ColorPicker.SelectedColor = (Color)ColorConverter.ConvertFromString(tag.Color);
            }
            DataContext = tag;

            idError          = false;
            descriptionError = false;
        }
Beispiel #20
0
        private void buttonDelete_Click(object sender, RoutedEventArgs e)
        {
            MessageBoxResult messageBoxResult = System.Windows.MessageBox.Show("Da li ste sigurni da zelite da obrisete izabranu etiketu?", "Upozorenje", System.Windows.MessageBoxButton.YesNo);

            if (messageBoxResult == MessageBoxResult.Yes)
            {
                ObservableCollection <Resource> resources = tw.database.Resources;

                for (int i = resources.Count - 1; i >= 0; i--)
                {
                    if (resources[i].Type.Id.Equals(SelectedTag.Id))
                    {
                        tw.database.DeleteResource(resources[i]);
                    }
                }
                ResourceTag tag = new ResourceTag(SelectedTag);
                tw.database.DeleteTag(SelectedTag);
            }
        }
Beispiel #21
0
        private void buttonDelete_Click(object sender, RoutedEventArgs e)
        {
            MessageBoxResult messageBoxResult = System.Windows.MessageBox.Show("Brisanje etikete ce prouzrokovati brisanje i manifetacija koje je poseduju. Nastavi?", "Upozorenje", System.Windows.MessageBoxButton.YesNo);

            if (messageBoxResult == MessageBoxResult.Yes)
            {
                ObservableCollection <Resource> resources = tw.database.Resources;

                for (int i = resources.Count - 1; i >= 0; i--)
                {
                    if (resources[i].Type.Id.Equals(SelectedTag.Id))
                    {
                        tw.database.DeleteResource(resources[i]);
                    }
                }
                ResourceTag tag = new ResourceTag(SelectedTag);
                TagsForUndo.Add(tag);
                tw.database.DeleteTag(SelectedTag);
            }
        }
Beispiel #22
0
        public static bool ResourceDamaged(ResourceSpawnpoint resource, ref ushort amount)
        {
            // TODO: causes?
            ResourceTag resourceTag = new ResourceTag(resource);

            if (amount >= resource.health)
            {
                ResourceDestroyedEventArgs deathevt = new ResourceDestroyedEventArgs();
                deathevt.Resource = resourceTag;
                deathevt.Amount   = new NumberTag(amount);
                UnturnedFreneticEvents.OnResourceDestroyed.Fire(deathevt);
                amount = (ushort)deathevt.Amount.Internal;
                return(deathevt.Cancelled || EntityDestroyed(resourceTag, ref amount));
            }
            ResourceDamagedEventArgs evt = new ResourceDamagedEventArgs();

            evt.Resource = resourceTag;
            evt.Amount   = new NumberTag(amount);
            UnturnedFreneticEvents.OnResourceDamaged.Fire(evt);
            amount = (ushort)evt.Amount.Internal;
            return(evt.Cancelled || EntityDamaged(resourceTag, ref amount));
        }
        /// <summary>
        /// Make fake Resource data for non-administrator user unit testing.
        /// </summary>
        /// <returns>Tag collection</returns>
        public static ResourceViewModel GetPayLoadResource()
        {
            var resourceTags = new List <ResourceTag>();
            var resourceTag  = new ResourceTag()
            {
                TagId      = Guid.Parse(Id),
                ResourceId = Guid.Parse(Id),
            };

            resourceTags.Add(resourceTag);
            var resource = new ResourceViewModel()
            {
                Id          = Guid.Parse(Id),
                Title       = "test",
                CreatedBy   = Guid.Parse(UserID),
                ResourceTag = resourceTags,
                GradeId     = Guid.Parse(Id),
                SubjectId   = Guid.Parse(Id),
            };

            return(resource);
        }
Beispiel #24
0
        /// <summary>
        /// Make fake Resource data for non-administrator user unit testing.
        /// </summary>
        /// <returns>Tag collection</returns>
        public static Resource GetResource()
        {
            var resourceTags = new List <ResourceTag>();
            var resourceTag  = new ResourceTag()
            {
                TagId      = Guid.Parse(Id),
                ResourceId = Guid.Parse(Id),
            };

            resourceTags.Add(resourceTag);
            var resource = new Resource()
            {
                Id          = Guid.Parse(Id),
                Title       = "test",
                CreatedBy   = Guid.NewGuid(),
                ResourceTag = resourceTags,
                GradeId     = Guid.Parse(Id),
                SubjectId   = Guid.Parse(Id),
            };

            return(resource);
        }
        public async Task PatchAsync_ResourceUpdate_ReturnsOkResult()
        {
            var resourceTagss = new List <ResourceTag>();
            var resourceTag   = new ResourceTag()
            {
                TagId      = Guid.Parse(FakeData.Id),
                ResourceId = Guid.Parse(FakeData.Id),
            };

            resourceTagss.Add(resourceTag);
            var resourceModel = new ResourceViewModel
            {
                Id           = Guid.Parse(FakeData.Id),
                Title        = "Test title",
                Description  = "Test description",
                ImageUrl     = "https://test.jpg",
                ResourceType = 1,
                ResourceTag  = resourceTagss,
            };
            var resourceId = Guid.Parse(FakeData.Id);

            this.unitOfWork.Setup(uow => uow.ResourceRepository.GetAsync(It.IsAny <Guid>())).Returns(Task.FromResult(FakeData.GetResources().FirstOrDefault()));
            this.unitOfWork.Setup(uow => uow.ResourceTagRepository.Delete(It.IsAny <ResourceTag>()));
            this.unitOfWork.Setup(uow => uow.ResourceVoteRepository.FindAsync(It.IsAny <Expression <Func <ResourceVote, bool> > >())).ReturnsAsync(FakeData.GetResourceVotes());
            this.resourceMapper.Setup(resourceMapper => resourceMapper.PatchAndMapToDTO(It.IsAny <ResourceViewModel>(), It.IsAny <Guid>())).Returns(FakeData.GetResources().FirstOrDefault());
            this.unitOfWork.Setup(uow => uow.ResourceRepository.Update(It.IsAny <Resource>())).Returns(FakeData.GetResources().FirstOrDefault());
            this.resourceMapper.Setup(resourceMapper => resourceMapper.PatchAndMapToViewModel(It.IsAny <Resource>(), It.IsAny <Guid>(), It.IsAny <IEnumerable <ResourceVote> >(), It.IsAny <Dictionary <Guid, string> >())).Returns(resourceModel);

            // ACT
            var result = (ObjectResult)await this.resourceController.PatchAsync(Guid.Parse(FakeData.Id), resourceModel);

            var resultValue = (ResourceViewModel)result.Value;

            // ASSERT
            Assert.AreEqual(result.StatusCode, StatusCodes.Status200OK);
            Assert.AreEqual(resultValue.Title, resourceModel.Title);
        }