public SubmittedSessionsViewModel GetSubmittedSessions()
        {
            var tableClient = GetTableClient();
            var sessionTable = tableClient.GetTableReference(_sessionsTableName);
            var sessionQuery = (new TableQuery<SessionSubmission>()).Where(TableQuery.GenerateFilterConditionForInt("Status", QueryComparisons.Equal, 1));
         
            var sessions = sessionTable.ExecuteQuery(sessionQuery).ToList();
            
            var viewModel = new SubmittedSessionsViewModel();

            foreach (var sessionSubmission in sessions)
            {
                var session = new SessionSubmissionViewModel
                {
                    SessionTitle = sessionSubmission.SessionTitle,
                    SessionAbstract = sessionSubmission.SessionAbstract.FormatForHtml(),
                    PresenterName = sessionSubmission.PresenterName,
                    PresenterTwitterAlias = sessionSubmission.PresenterTwitterAlias,
                    PresenterWebsite = sessionSubmission.PresenterWebsite,
                    PresenterBio = sessionSubmission.PresenterBio,
                    RecommendedAudience = sessionSubmission.RecommendedAudience
                };

                viewModel.Sessions.Add(session);

            }
            return viewModel;
        }
        public bool AddSession(SessionSubmissionViewModel viewModel)
        {
            try
            {
                CreateTableStorageIfDoesntExist();

                var session = new SessionSubmission();

                var tableClient = GetTableClient();

                session.Status = 0;
                session.SubmitterIp = HttpContext.Current.Request.UserHostAddress;
                session.SessionTitle = viewModel.SessionTitle.Trim();
                session.SessionAbstract = viewModel.SessionAbstract.Trim();
                session.RecommendedAudience = viewModel.RecommendedAudience.Trim();
                session.PresenterName = viewModel.PresenterName.Trim();
                session.PresenterBio = viewModel.PresenterBio.Trim();
                session.PresenterMobileNumber = viewModel.PresenterMobileNumber.Trim();
                session.PresenterEmail = viewModel.PresenterEmail.Trim();

                if (!String.IsNullOrWhiteSpace(viewModel.PresenterTwitterAlias))
                {
                    session.PresenterTwitterAlias = viewModel.PresenterTwitterAlias
                        .Trim()
                        .ToLower()
                        .TrimStart('@');
                }

                if (!String.IsNullOrWhiteSpace(viewModel.PresenterWebsite))
                {
                    session.PresenterWebsite = viewModel.PresenterWebsite
                        .Trim()
                        .ToLower()
                        .Replace("http://", "")
                        .Replace("https://", "");
                }

                CloudTable table = tableClient.GetTableReference(_tableName);
                TableOperation insertOrReplaceOperation = TableOperation.InsertOrReplace(session);
                table.Execute(insertOrReplaceOperation);

                return true;
            }
            catch 
            {
                return false;
            }

        }
Example #3
0
        public ActionResult Submit(SessionSubmissionViewModel viewModel)
        {

            if (!TryValidateModel(viewModel))
            {
                return View(viewModel);
            }

            if (_sessionSubmissionService.AddSession(viewModel))
            {
                return RedirectToAction("SessionSubmittedSuccess");
            }

            return RedirectToAction("SubmitError");
        }
Example #4
0
        public ActionResult Yow()
        {
            var viewModel = new SessionSubmissionViewModel();

            return View(viewModel);
        }