public virtual async Task <ActionResult> AddBadgePost(BadgeEditViewModel badgeEditViewModel, HttpPostedFileBase badgeImage)
        {
            ClearModelErrors();
            var badgeEdit = BadgeEdit.CreateBadge();

            badgeEditViewModel.Badge = badgeEdit as BadgeEdit;
            if (badgeImage != null)
            {
                var bytes = badgeImage.InputStream.GetBytes();
                badgeEditViewModel.Badge.SetBadgeImage(bytes);
            }

            SetActivitiesToAdd(badgeEditViewModel);
            if (await SaveObjectAsync(badgeEditViewModel.Badge, be =>
            {
                UpdateModel(be, "Badge");
                CheckForValidImage(be);

                if (be.Priority == 0)
                {
                    be.Priority = Int32.MaxValue;
                }
            }, true))
            {
                return(RedirectToAction(Mvc.BadgeManager.Index().Result));
            }

            return(await AddBadge());
        }
Пример #2
0
        public async Task GetBadgeEditById()
        {
            var activityEdit = await BadgeEdit.GetBadgeEditByIdAsync(1);

            Assert.IsNotNull(activityEdit);
            Assert.AreEqual(1, activityEdit.Id);
        }
 private void CheckForValidImage(BadgeEdit be)
 {
     // We need to handle it this way because the CSLA Model Binder doesn't handle private setters.
     if (be.BrokenRulesCollection.Any())
     {
         var imagePathRules = be.BrokenRulesCollection.Where(br => br.OriginProperty == BadgeEdit.ImagePathProperty.Name);
         foreach (var imagePathRule in imagePathRules)
         {
             ModelState.AddModelError(imagePathRule.Property, imagePathRule.Description);
         }
     }
 }
 private void CheckForValidImage(BadgeEdit be)
 {
     // We need to handle it this way because the CSLA Model Binder doesn't handle private setters.
     if (be.BrokenRulesCollection.Any())
     {
         var imagePathRules = be.BrokenRulesCollection.Where(br => br.OriginProperty == BadgeEdit.ImagePathProperty.Name);
         foreach (var imagePathRule in imagePathRules)
         {
             ModelState.AddModelError(imagePathRule.Property, imagePathRule.Description);
         }
     }
 }
        public async virtual Task <ActionResult> AddBadge()
        {
            var allActivities = await ActivityCollection.GetAllActivitiesAsync(false);

            var badgeEdit          = BadgeEdit.CreateBadge();
            var badgeEditViewModel = new BadgeEditViewModel(allActivities);

            badgeEditViewModel.Badge          = badgeEdit as BadgeEdit;
            badgeEditViewModel.Badge.Priority = 0;

            return(View(Mvc.BadgeManager.Views.AddBadge, badgeEditViewModel));
        }
Пример #6
0
        public async Task DeleteBadge()
        {
            const string newName        = "Test Name";
            const string newDescription = "Test Description";

            var badgeEdit = CreateBadgeEdit(newName, newDescription);

            var id = badgeEdit.Id;

            badgeEdit.Delete();
            badgeEdit.Save();

            badgeEdit = ((IBadgeEdit)await BadgeEdit.GetBadgeEditByIdAsync(id));

            Assert.Fail("Badge Edit Fail should not return.");
        }
Пример #7
0
        public async Task SetBadgeImage()
        {
            var builder = new ContainerBuilder();

            builder.RegisterType(typeof(BadgeEdit)).As(typeof(IBadgeEdit));
            builder.RegisterType(typeof(BadgeEditDAL)).As(typeof(IBadgeEditDAL));
            builder.RegisterGeneric(typeof(ObjectFactory <>)).As(typeof(IObjectFactory <>));
            IoC.Container = builder.Build();

            var badge = await BadgeEdit.GetBadgeEditByIdAsync(1);

            var image = new byte[] { 0, 1, 2, 4 };

            badge.SetBadgeImage(image);

            Assert.AreEqual(string.Empty, badge.ImagePath);
        }
Пример #8
0
        private IBadgeEdit CreateBadgeEdit(string newName, string newDescription)
        {
            var badgeEdit = BadgeEdit.CreateBadge();

            badgeEdit.Name        = newName;
            badgeEdit.Description = newDescription;
            badgeEdit.Tagline     = "dsfds";
            badgeEdit.Priority    = 5;

            var badgeActivity = new BadgeActivityEdit();

            badgeActivity.ActivityId = 1;
            badgeEdit.BadgeActivities.Add(badgeActivity);

            badgeEdit = (IBadgeEdit)badgeEdit.Save();
            return(badgeEdit);
        }
        public virtual async Task <ActionResult> EditBadge(int id)
        {
            var allActivities = await ActivityCollection.GetAllActivitiesAsync(false);

            var badgeEdit = await BadgeEdit.GetBadgeEditByIdAsync(id);

            if (BusinessRules.HasPermission(AuthorizationActions.EditObject, badgeEdit))
            {
                var badgeEditViewModel = new BadgeEditViewModel(allActivities, badgeEdit.BadgeActivities);
                badgeEditViewModel.Badge = badgeEdit as BadgeEdit;
                if (badgeEditViewModel.Badge.Priority == Int32.MaxValue)
                {
                    badgeEditViewModel.Badge.Priority = 0;
                }

                return(View(Mvc.BadgeManager.Views.EditBadge, badgeEditViewModel));
            }

            return(RedirectToAction(Mvc.Error.AccessDenied()));
        }
        public virtual async Task <ActionResult> EditBadgePost(int id, BadgeEditViewModel badgeEditViewModel, HttpPostedFileBase badgeImage)
        {
            badgeEditViewModel.Badge = await BadgeEdit.GetBadgeEditByIdAsync(id) as BadgeEdit;

            if (badgeImage != null)
            {
                var bytes = badgeImage.InputStream.GetBytes();
                badgeEditViewModel.Badge.SetBadgeImage(bytes);
            }

            SetActivitiesToAdd(badgeEditViewModel);
            SetActivitiesToRemove(badgeEditViewModel);
            TryUpdateModel(badgeEditViewModel.Badge, "Badge");
            CheckForValidImage(badgeEditViewModel.Badge);

            if (await SaveObjectAsync(badgeEditViewModel.Badge, true))
            {
                return(RedirectToAction(Mvc.BadgeManager.Index().Result));
            }

            return(await EditBadge(id));
        }
Пример #11
0
        public async Task UpdateBadge()
        {
            var newName   = "TestName";
            var badgeEdit = await BadgeEdit.GetBadgeEditByIdAsync(1);

            var oldName = badgeEdit.Name;

            badgeEdit.Name = newName;

            using (var fileStream = System.IO.File.OpenRead(@"..\..\1537400.jpg"))
            {
                var buffer = new byte[fileStream.Length];
                fileStream.Read(buffer, 0, (int)(fileStream.Length - 1));
                badgeEdit.SetBadgeImage(buffer);
            }

            badgeEdit = (IBadgeEdit)badgeEdit.Save();

            Assert.AreEqual(newName, badgeEdit.Name);

            //reset
            badgeEdit.Name = oldName;
            badgeEdit.Save();
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="BadgeEditViewModel"/> class.
 /// </summary>
 public BadgeEditViewModel()
 {
     //SelectedActivityIds = new List<int>();
     this.Badge = ((BadgeEdit)BadgeEdit.CreateBadge());
 }