public void GetFrameworkDetailByFrameworkId_should_return_a_detail_framework_with_user_role_0_when_a_valid_id_is_passed_with_no_relationship_adminId()
        {
            // Given
            var detailFramework = new DetailFramework()
            {
                ID                = 2,
                FrameworkName     = "Digital Capability Framework",
                FrameworkConfig   = null,
                OwnerAdminID      = 1,
                Owner             = "Kevin Whittaker (Developer)",
                BrandID           = 6,
                CategoryID        = 1,
                TopicID           = 1,
                CreatedDate       = DateTime.Parse("2020-12-10 11:58:52.590"),
                PublishStatusID   = 1,
                UpdatedByAdminID  = 1,
                UpdatedBy         = "Kevin Whittaker (Developer)",
                UserRole          = 0,
                FrameworkReviewID = null,
                Brand             = "Local content",
                Category          = "Undefined",
                Topic             = "Undefined",
                Description       = null
            };

            // When
            var result = frameworkService.GetFrameworkDetailByFrameworkId(ValidFrameworkId, InvalidAdminId);

            // Then
            result.Should().BeEquivalentTo(detailFramework);
        }
Beispiel #2
0
        public IActionResult CreateNewFramework(DetailFramework detailFramework, string actionname, int frameworkId = 0)
        {
            if (!ModelState.IsValid)
            {
                ModelState.Remove(nameof(BaseFramework.FrameworkName));
                ModelState.AddModelError(nameof(BaseFramework.FrameworkName), "Please enter a valid framework name (between 3 and 255 characters)");
                return(View("Developer/Name", detailFramework));
            }
            if (actionname == "New")
            {
                SessionNewFramework sessionNewFramework = TempData.Peek <SessionNewFramework>();
                if (sessionNewFramework == null)
                {
                    return(StatusCode(404));
                }
                sessionNewFramework.DetailFramework = detailFramework;
                TempData.Set(sessionNewFramework);
                return(RedirectToAction("SetNewFrameworkName", new { frameworkname = detailFramework.FrameworkName, actionname }));
            }
            var adminId   = GetAdminId();
            var isUpdated = frameworkService.UpdateFrameworkName(detailFramework.ID, adminId, detailFramework.FrameworkName);

            if (isUpdated)
            {
                return(RedirectToAction("ViewFramework", new { tabname = "Details", frameworkId }));
            }
            ModelState.AddModelError(nameof(BaseFramework.FrameworkName), "Another framework exists with that name. Please choose a different name.");
            return(View("Developer/Name", detailFramework));
        }
        public void CreateFramework_should_return_empty_BrandedFramework_if_blank_name_passed()
        {
            // Given
            var detailFramework = new DetailFramework()
            {
                ID                = 0,
                FrameworkName     = "",
                FrameworkConfig   = null,
                OwnerAdminID      = 1,
                Owner             = null,
                BrandID           = 6,
                CategoryID        = 1,
                TopicID           = 1,
                CreatedDate       = default(DateTime),
                PublishStatusID   = 1,
                UpdatedByAdminID  = 1,
                UpdatedBy         = null,
                UserRole          = 0,
                FrameworkReviewID = null,
                Brand             = "Local content",
                Category          = "Undefined",
                Topic             = "Undefined",
                Description       = null
            };
            var nullFramework = new BrandedFramework();
            // When
            var result = frameworkService.CreateFramework(detailFramework, ValidAdminId);

            // Then
            result.Should().BeEquivalentTo(nullFramework);
        }
Beispiel #4
0
 public IActionResult FrameworkDescription(DetailFramework detailFramework, string actionname, int frameworkId = 0)
 {
     if (actionname == "New")
     {
         if (TempData[MultiPageFormDataFeature.AddNewFramework.TempDataKey] == null)
         {
             return(StatusCode((int)HttpStatusCode.NotFound));
         }
         else
         {
             var sessionNewFramework = multiPageFormService.GetMultiPageFormData <SessionNewFramework>(
                 MultiPageFormDataFeature.AddNewFramework,
                 TempData
                 );
             sessionNewFramework.DetailFramework = detailFramework;
             multiPageFormService.SetMultiPageFormData(
                 sessionNewFramework,
                 MultiPageFormDataFeature.AddNewFramework,
                 TempData
                 );
         }
         return(RedirectToAction("FrameworkType", "Frameworks", new { actionname }));
     }
     detailFramework.Description = SanitizerHelper.SanitizeHtmlData(detailFramework.Description);
     frameworkService.UpdateFrameworkDescription(frameworkId, GetAdminId(), detailFramework.Description);
     return(RedirectToAction("ViewFramework", new { tabname = "Details", frameworkId }));
 }
Beispiel #5
0
        public IActionResult StartNewFrameworkSession()
        {
            var adminId = GetAdminId();

            TempData.Clear();
            var detailFramework = new DetailFramework()
            {
                BrandID          = 6,
                OwnerAdminID     = adminId,
                UpdatedByAdminID = adminId,
                TopicID          = 1,
                CategoryID       = 1,
                PublishStatusID  = 1,
                UserRole         = 3,
            };
            var sessionNewFramework = new SessionNewFramework()
            {
                DetailFramework = detailFramework
            };

            multiPageFormService.SetMultiPageFormData(
                sessionNewFramework,
                MultiPageFormDataFeature.AddNewFramework,
                TempData
                );
            return(RedirectToAction("CreateNewFramework", "Frameworks", new { actionname = "New" }));
        }
Beispiel #6
0
        public IActionResult StartNewFrameworkSession()
        {
            var adminId = GetAdminId();

            TempData.Clear();
            var sessionNewFramework = new SessionNewFramework();

            if (!Request.Cookies.ContainsKey(CookieName))
            {
                var id = Guid.NewGuid();
                Response.Cookies.Append(
                    CookieName,
                    id.ToString(),
                    new CookieOptions
                {
                    Expires = DateTimeOffset.UtcNow.AddDays(30)
                });
                sessionNewFramework.Id = id;
            }
            else
            {
                if (Request.Cookies.TryGetValue(CookieName, out string idString))
                {
                    sessionNewFramework.Id = Guid.Parse(idString);
                }
                else
                {
                    var id = Guid.NewGuid();
                    Response.Cookies.Append(
                        CookieName,
                        id.ToString(),
                        new CookieOptions
                    {
                        Expires = DateTimeOffset.UtcNow.AddDays(30)
                    });
                    sessionNewFramework.Id = id;
                }
            }
            var detailFramework = new DetailFramework()
            {
                BrandID          = 6,
                OwnerAdminID     = adminId,
                UpdatedByAdminID = adminId,
                TopicID          = 1,
                CategoryID       = 1,
                PublishStatusID  = 1,
                UserRole         = 3,
            };

            sessionNewFramework.DetailFramework = detailFramework;
            TempData.Set(sessionNewFramework);
            return(RedirectToAction("CreateNewFramework", "Frameworks", new { actionname = "New" }));
        }
Beispiel #7
0
 public IActionResult FrameworkType(DetailFramework detailFramework, string actionname, int frameworkId = 0)
 {
     if (actionname == "New")
     {
         var sessionNewFramework = TempData.Peek <SessionNewFramework>();
         if (sessionNewFramework == null)
         {
             return(StatusCode(404));
         }
         sessionNewFramework.DetailFramework = detailFramework;
         TempData.Set(sessionNewFramework);
         return(RedirectToAction("SetNewFrameworkBrand", "Frameworks", new { actionname }));
     }
     frameworkService.UpdateFrameworkConfig(frameworkId, GetAdminId(), detailFramework.FrameworkConfig);
     return(RedirectToAction("ViewFramework", new { tabname = "Details", frameworkId }));
 }
Beispiel #8
0
        public IActionResult CreateNewFramework(DetailFramework detailFramework, string actionname, int frameworkId = 0)
        {
            if (!ModelState.IsValid)
            {
                ModelState.Remove(nameof(BaseFramework.FrameworkName));
                ModelState.AddModelError(nameof(BaseFramework.FrameworkName), "Please enter a valid framework name (between 3 and 255 characters)");
                return(View("Developer/Name", detailFramework));
            }
            if (actionname == "New")
            {
                if (TempData[MultiPageFormDataFeature.AddNewFramework.TempDataKey] == null)
                {
                    return(StatusCode((int)HttpStatusCode.NotFound));
                }
                else
                {
                    SessionNewFramework sessionNewFramework = multiPageFormService.GetMultiPageFormData <SessionNewFramework>(
                        MultiPageFormDataFeature.AddNewFramework,
                        TempData
                        );
                    sessionNewFramework.DetailFramework = detailFramework;
                    multiPageFormService.SetMultiPageFormData(
                        sessionNewFramework,
                        MultiPageFormDataFeature.AddNewFramework,
                        TempData
                        );
                }
                return(RedirectToAction("SetNewFrameworkName", new { frameworkname = detailFramework.FrameworkName, actionname }));
            }
            var adminId   = GetAdminId();
            var isUpdated = frameworkService.UpdateFrameworkName(detailFramework.ID, adminId, detailFramework.FrameworkName);

            if (isUpdated)
            {
                return(RedirectToAction("ViewFramework", new { tabname = "Details", frameworkId }));
            }
            ModelState.AddModelError(nameof(BaseFramework.FrameworkName), "Another framework exists with that name. Please choose a different name.");
            return(View("Developer/Name", detailFramework));
        }
Beispiel #9
0
 public IActionResult FrameworkType(DetailFramework detailFramework, string actionname, int frameworkId = 0)
 {
     if (actionname == "New")
     {
         if (TempData[MultiPageFormDataFeature.AddNewFramework.TempDataKey] == null)
         {
             return(StatusCode((int)HttpStatusCode.NotFound));
         }
         var sessionNewFramework = multiPageFormService.GetMultiPageFormData <SessionNewFramework>(
             MultiPageFormDataFeature.AddNewFramework,
             TempData
             );
         sessionNewFramework.DetailFramework = detailFramework;
         multiPageFormService.SetMultiPageFormData(
             sessionNewFramework,
             MultiPageFormDataFeature.AddNewFramework,
             TempData
             );
         return(RedirectToAction("SetNewFrameworkBrand", "Frameworks", new { actionname }));
     }
     frameworkService.UpdateFrameworkConfig(frameworkId, GetAdminId(), detailFramework.FrameworkConfig);
     return(RedirectToAction("ViewFramework", new { tabname = "Details", frameworkId }));
 }
Beispiel #10
0
 public SessionNewFramework()
 {
     Id = new Guid();
     DetailFramework = new DetailFramework();
     Collaborators   = new List <Collaborator>();
 }