public async Task Run()
        {
            SponsorLevel expected = new SponsorLevel(
                1,
                2,
                $"Sponsor Level 3",
                400,
                true,
                false,
                true,
                5,
                60,
                70,
                false,
                true,
                false
                );

            this.Database.AddJsonResult(
                JsonConvert.SerializeObject(new[] { expected })
                );

            TestLogger    log    = new TestLogger();
            IActionResult actual = await this.Controller.Run(null, expected.Id, log);

            Assert.IsType <OkObjectResult>(actual);
            Assert.Equal(
                expected,
                (actual as OkObjectResult).Value
                );
        }
        public void JsonDeserializer_ItemsOutOfOrder()
        {
            SponsorLevel expected = CreateSponsorLevel(2015);
            string       json     = $@"{{'postconemail':{expected.PostConEmail.ToString().ToLower()},'midconemail':{expected.MidConEmail.ToString().ToLower()},'preconemail':{expected.PreConEmail.ToString().ToLower()},'cost':{expected.Cost},'displayinsidebar':{expected.DisplayInSidebar.ToString().ToLower()},'displayinemails':{expected.DisplayInEmails.ToString().ToLower()},'tickets':{expected.Tickets},'discount':{expected.Discount},'name':'{expected.Name}','displayorder':{expected.DisplayOrder},'id':{expected.Id},'timeonscreen':{expected.TimeOnScreen},'displaylink':{expected.DisplayLink.ToString().ToLower()}}}";;

            SponsorLevel actual = JsonConvert.DeserializeObject <SponsorLevel>(json);

            Assert.Equal(expected, actual);
        }
Example #3
0
        public async Task <ActionResult> DeleteConfirmed(string id)
        {
            SponsorLevel sponsorLevel = await db.SponsorLevels.FindAsync(id);

            sponsorLevel.Deleted         = true;
            db.Entry(sponsorLevel).State = EntityState.Modified;
            await db.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
Example #4
0
        public async Task <ActionResult> Edit([Bind(Include = "Id,Name,Rank")] SponsorLevel sponsorLevel)
        {
            if (ModelState.IsValid)
            {
                db.Entry(sponsorLevel).State = EntityState.Modified;
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            return(View(sponsorLevel));
        }
Example #5
0
 public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
 {
     if (value is SponsorLevel)
     {
         SponsorLevel level = (SponsorLevel)value;
         return(String.Format("{0} Sponsor", Enum.GetName(typeof(SponsorLevel), level)));
     }
     else
     {
         throw new ArgumentException("Value must be sponsorLevel type.");
     }
 }
Example #6
0
        public async Task <ActionResult> Create([Bind(Include = "Id,Name,Rank")] SponsorLevel sponsorLevel)
        {
            if (ModelState.IsValid)
            {
                sponsorLevel.Id = Guid.NewGuid().ToString();
                db.SponsorLevels.Add(sponsorLevel);
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            return(View(sponsorLevel));
        }
Example #7
0
        // GET: SponsorLevels/Edit/5
        public async Task <ActionResult> Edit(string id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            SponsorLevel sponsorLevel = await db.SponsorLevels.FindAsync(id);

            if (sponsorLevel == null)
            {
                return(HttpNotFound());
            }
            return(View(sponsorLevel));
        }
        public void JsonSerializer_IncludeNull()
        {
            SponsorLevel data     = CreateSponsorLevel(2015).WithName(null);
            string       expected = SponsorLevelToJson(data).Replace('\'', '\"');

            string actual = JsonConvert.SerializeObject(
                data,
                new JsonSerializerSettings {
                NullValueHandling = NullValueHandling.Include
            }
                );

            Assert.Equal(expected, actual);
        }
Example #9
0
        public async Task <IActionResult> Edit(int id,
                                               [Bind("SponsorId,CompanyName,SponsorLevel,Bio,TwitterHandle,WebsiteUrl,ImageFile,PointOfContact,EmailAddress,PhoneNumber")] SponsorViewModel sponsorVM)
        {
            if (ModelState.IsValid)
            {
                if (id != sponsorVM.SponsorId)
                {
                    return(NotFound());
                }

                var sponsor = await _sponsorBL.GetSponsor(sponsorVM.SponsorId);

                sponsor.CompanyName    = sponsorVM.CompanyName;
                sponsor.SponsorLevel   = sponsorVM.SponsorLevel;
                sponsor.Bio            = sponsorVM.Bio;
                sponsor.TwitterHandle  = sponsorVM.TwitterHandle;
                sponsor.WebsiteUrl     = sponsorVM.WebsiteUrl;
                sponsor.PointOfContact = sponsorVM.PointOfContact;
                sponsor.EmailAddress   = sponsorVM.EmailAddress;
                sponsor.PhoneNumber    = sponsorVM.PhoneNumber;

                // Convert the image to a byte array, reduce the size to 500px x 500px
                // and store it in the database
                if (sponsorVM.ImageFile != null &&
                    sponsorVM.ImageFile.ContentType.ToLower().StartsWith("image/") &&
                    sponsorVM.ImageFile.Length <= SponsorViewModel.MaxImageSize)
                {
                    MemoryStream ms = new MemoryStream();
                    sponsorVM.ImageFile.OpenReadStream().CopyTo(ms);

                    sponsor.Image
                        = _sponsorBL.ResizeImage(ms.ToArray());
                }

                var result = await _sponsorBL.UpdateSponsor(sponsor);

                if (result == false)
                {
                    return(NotFound());
                }
                else
                {
                    return(RedirectToAction(nameof(Index)));
                }
            }

            ViewBag.SponsorshipLevels = SponsorLevel.GetSponsorshipLevels();
            return(View(sponsorVM));
        }
Example #10
0
        public async Task <IActionResult> Create([Bind("SponsorId,CompanyName,SponsorLevel,Bio,TwitterHandle,WebsiteUrl,ImageFile,PointOfContact,EmailAddress,PhoneNumber")] SponsorViewModel sponsorVM)
        {
            if (ModelState.IsValid)
            {
                var theEvent = await _eventBL.GetActiveEvent();

                if (theEvent != null)
                {
                    var sponsor = new Sponsor
                    {
                        SponsorId      = sponsorVM.SponsorId,
                        CompanyName    = sponsorVM.CompanyName,
                        SponsorLevel   = sponsorVM.SponsorLevel,
                        Bio            = sponsorVM.Bio,
                        TwitterHandle  = sponsorVM.TwitterHandle,
                        WebsiteUrl     = sponsorVM.WebsiteUrl,
                        PointOfContact = sponsorVM.PointOfContact,
                        EmailAddress   = sponsorVM.EmailAddress,
                        PhoneNumber    = sponsorVM.PhoneNumber,
                        EventId        = theEvent.EventId
                    };

                    // Convert the image to a byte array, reduce the size to 500px x 500px
                    // and store it in the database
                    if (sponsorVM.ImageFile != null &&
                        sponsorVM.ImageFile.ContentType.ToLower().StartsWith("image/") &&
                        sponsorVM.ImageFile.Length <= SponsorViewModel.MaxImageSize)
                    {
                        MemoryStream ms = new MemoryStream();
                        sponsorVM.ImageFile.OpenReadStream().CopyTo(ms);

                        sponsor.Image
                            = _sponsorBL.ResizeImage(ms.ToArray());
                    }

                    await _sponsorBL.CreateSponsor(sponsor);

                    return(RedirectToAction(nameof(Index)));
                }
            }

            ViewBag.SponsorshipLevels = SponsorLevel.GetSponsorshipLevels();
            return(View(sponsorVM));
        }
Example #11
0
        public async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "v1/sponsorlevels/{id:int}")]
            HttpRequest req,
            int id,
            ILogger log
            )
        {
            log.LogInformation("GetSponsorLevel processed a request.");

            try {
                SponsorLevel result = await this.Database.SponsorLevelsRepository.Select(id);

                return(null == result
                                        ? (IActionResult) new NotFoundResult()
                                        : (IActionResult) new OkObjectResult(result));
            } catch (Exception ex) {
                log.LogError(ex, "GetSponsorLevel threw an exception.");
                return(new InternalServerErrorResult());
            } finally {
                log.LogInformation("GetSponsorLevel finished a request.");
            }
        }
Example #12
0
        // GET: Sponsors/Edit/5
        public async Task <IActionResult> Edit(int?id)
        {
            if (!id.HasValue)
            {
                return(NotFound());
            }

            if (!await _sponsorBL.SponsorExists(id.Value))
            {
                return(NotFound());
            }

            var sponsorVM = await _sponsorBL.GetSponsorViewModel(id.Value);

            if (sponsorVM == null)
            {
                return(NotFound());
            }

            ViewBag.SponsorshipLevels = SponsorLevel.GetSponsorshipLevels();
            return(View(sponsorVM));
        }
        public async Task SelectOne()
        {
            SponsorLevel expected = new SponsorLevel(
                1,
                2,
                $"Sponsor Level 3",
                400,
                true,
                false,
                true,
                5,
                60,
                70,
                false,
                true,
                false
                );

            Database.AddJsonResult(JsonConvert.SerializeObject(new[] { expected }));

            Assert.Equal(expected, await Repository.Select(1));
        }
        // TODO Sponsor levels are not currently tied to EventIds
        public IList <SponsorLevel> GetSponsorLevels()
        {
            var sponsorLevel = SponsorLevel.GetSponsorshipLevels();

            return(sponsorLevel);
        }
Example #15
0
 // GET: Sponsors/Create
 public IActionResult Create()
 {
     ViewBag.SponsorshipLevels = SponsorLevel.GetSponsorshipLevels();
     return(View());
 }
 internal static string SponsorLevelToJson(SponsorLevel x) =>
 $"{{'id':{x.Id},'displayorder':{x.DisplayOrder},'name':{(null == x.Name ? "null" : $"'{x.Name}'")},'cost':{x.Cost},'displaylink':{x.DisplayLink.ToString().ToLower()},'displayinemails':{x.DisplayInEmails.ToString().ToLower()},'displayinsidebar':{x.DisplayInSidebar.ToString().ToLower()},'tickets':{x.Tickets},'discount':{x.Discount},'timeonscreen':{x.TimeOnScreen},'preconemail':{x.PreConEmail.ToString().ToLower()},'midconemail':{x.MidConEmail.ToString().ToLower()},'postconemail':{x.PostConEmail.ToString().ToLower()}}}";