public void TestConstructorWithParametersDefaultsExpectedValues()
        {
            #region Arrange
            var ceremony = new Ceremony("Location", DateTime.Now.AddDays(10), 10, 100, DateTime.Now.AddDays(15), DateTime.Now.AddDays(20), CreateValidEntities.TermCode(4));
            #endregion Arrange

            #region Act

            #endregion Act

            #region Assert
            Assert.AreEqual("Location", ceremony.Location);
            Assert.IsNotNull(ceremony.RegistrationParticipations);
            Assert.IsNotNull(ceremony.Majors);
            Assert.IsNotNull(ceremony.RegistrationPetitions);
            Assert.IsNotNull(ceremony.Editors);
            Assert.IsNotNull(ceremony.Colleges);
            Assert.IsNotNull(ceremony.Templates);
            Assert.AreEqual(DateTime.Now.AddDays(10).Date, ceremony.DateTime.Date);
            Assert.AreEqual(10, ceremony.TicketsPerStudent);
            Assert.AreEqual(100, ceremony.TotalTickets);
            Assert.AreEqual(DateTime.Now.Date, ceremony.RegistrationBegin.Date);
            Assert.AreEqual(DateTime.Now.AddDays(20).Date, ceremony.RegistrationDeadline.Date);
            Assert.AreEqual(DateTime.Now.Date, ceremony.ExtraTicketBegin.Date);
            Assert.AreEqual(DateTime.Now.Date, ceremony.ExtraTicketDeadline.Date);
            Assert.AreEqual(DateTime.Now.AddDays(15).Date, ceremony.PrintingDeadline.Date);
            Assert.AreEqual("Name4", ceremony.TermCode.Name);
            #endregion Assert
        }
        public void TestConstructorWithNoParametersDefaultsExpectedValues()
        {
            #region Arrange
            var ceremony = new Ceremony();
            #endregion Arrange

            #region Act

            #endregion Act

            #region Assert
            Assert.IsNotNull(ceremony.RegistrationParticipations);
            Assert.IsNotNull(ceremony.Majors);
            Assert.IsNotNull(ceremony.RegistrationPetitions);
            Assert.IsNotNull(ceremony.Editors);
            Assert.IsNotNull(ceremony.Colleges);
            Assert.IsNotNull(ceremony.Templates);
            Assert.AreEqual(DateTime.Now.Date, ceremony.DateTime.Date);
            Assert.AreEqual(DateTime.Now.Date, ceremony.RegistrationBegin.Date);
            Assert.AreEqual(DateTime.Now.Date, ceremony.RegistrationDeadline.Date);
            Assert.AreEqual(DateTime.Now.Date, ceremony.ExtraTicketBegin.Date);
            Assert.AreEqual(DateTime.Now.Date, ceremony.ExtraTicketDeadline.Date);
            Assert.AreEqual(DateTime.Now.Date, ceremony.PrintingDeadline.Date);
            #endregion Assert
        }
Exemplo n.º 3
0
        public async Task <Ceremony> UpdateAsync(Ceremony Cermoney)
        {
            context.Update(Cermoney);
            await context.SaveChangesAsync();

            return(Cermoney);
        }
Exemplo n.º 4
0
        public async Task <Ceremony> AddAsync(Ceremony Cermoney)
        {
            context.Cermoney.Add(Cermoney);
            await context.SaveChangesAsync();

            return(Cermoney);
        }
        public OperationResult Edit(EditCeremony command)
        {
            var operation = new OperationResult();

            operation.IsSuccedded = false;
            ceremony = _ceremonyRepository.Get(command.Id);
            if (ceremony == null)
            {
                return(operation.Failed(ApplicationMessages.RecordNotFound));
            }

            if (_ceremonyRepository.Exist(x => x.Title == command.Title && x.Id != command.Id))
            {
                return(operation.Failed(ApplicationMessages.DuplicatedRecord));
            }

            var slug = command.Slug.Slugify();

            var ImageFolderName = Tools.ToFolderName(this.GetType().Name);
            var ImagePath       = $"{ImageFolderName}/{command.Slug}";
            var imageFileName   = _fileUploader.Upload(command.Image, ImagePath);
            var bannerFileName  = _fileUploader.Upload(command.BannerFile, ImagePath);

            ceremony.Edit(command.Title, command.CeremonyDate.ToGeorgianDateTime(), command.IsLive, bannerFileName,
                          imageFileName, command.ImageAlt, command.ImageTitle, command.Keywords, command.MetaDescription, slug);

            _ceremonyRepository.SaveChanges();
            CreateOperationLog(ceremony.Id, 2);
            return(operation.Succedded());
        }
Exemplo n.º 6
0
        public static TemplateViewModel Create(IRepository repository, Ceremony ceremony)
        {
            Check.Require(repository != null, "Repository is required.");

            var viewModel = new TemplateViewModel() {Templates = ceremony.Templates.Where(a=>a.IsActive).ToList(), Ceremony = ceremony};

            return viewModel;
        }
Exemplo n.º 7
0
 public static List<MajorCode> Check(Ceremony ceremony, List<MajorCode> majorCodes, IRepository<Ceremony> ceremonyRepository)
 {
     var foundMajors = new List<MajorCode>();
     foreach (var majorCode in majorCodes)
     {
         var code = majorCode;
         if(ceremonyRepository.Queryable.Where(a => a.TermCode == ceremony.TermCode && a.Id != ceremony.Id && a.Majors.Contains(code)).Any())
         {
             foundMajors.Add(code);
         }
     }
     return foundMajors.Count > 0 ? foundMajors : null;
 }
Exemplo n.º 8
0
        public static AddEditorViewModel Create(IRepository repository, Ceremony ceremony)
        {
            Check.Require(repository != null, "Repository is required.");
            Check.Require(ceremony != null, "ceremony is required.");

            var viewModel = new AddEditorViewModel()
                                {
                                    Ceremony = ceremony,
                                    Users = repository.OfType<vUser>().Queryable.OrderBy(a => a.LastName).ToList()
                                };

            return viewModel;
        }
Exemplo n.º 9
0
        public static TemplateCreateViewModel Create(IRepository repository, Template template, Ceremony ceremony)
        {
            Check.Require(repository != null, "Repository is required.");
            Check.Require(ceremony != null, "ceremony is required.");

            var viewModel = new TemplateCreateViewModel()
                                {
                                    TemplateTypes = repository.OfType<TemplateType>().Queryable.OrderBy(a => a.Name),
                                    Template = template,
                                    Ceremony = ceremony
                                };

            return viewModel;
        }
Exemplo n.º 10
0
        public static Ceremony Ceremony(int? count)
        {
            var rtValue = new Ceremony();

            rtValue.Location = "Location" + count.Extra();
            rtValue.DateTime = rtValue.DateTime.AddDays(100);
            rtValue.TicketsPerStudent = 6;
            rtValue.PrintingDeadline = rtValue.DateTime.AddDays(-50);
            rtValue.RegistrationDeadline = rtValue.DateTime.AddDays(-20);
            rtValue.TermCode = new TermCode();
            rtValue.TotalTickets = 1;
            rtValue.ConfirmationText = "ConfirmationText" + count.Extra();
            return rtValue;
        }
Exemplo n.º 11
0
        public string GenerateEmailAllStudents(Ceremony ceremony, Student student, string body, TemplateType templateType, Registration registration, Attachment attachment, HttpRequestBase request, UrlHelper url)
        {
            //Check.Require(registrationParticipation != null, "registrationParticipation is required.");
            Check.Require(ceremony != null, "ceremony is required");
            Check.Require(student != null, "student is required");
            Check.Require(!string.IsNullOrWhiteSpace(body), "body is required.");

            _request = request;
            _url = url;

            _ceremony = ceremony;
            _student = student;
            //_registrationParticipation = registrationParticipation;
            //_registration = registrationParticipation.Registration;
            _registration = registration ?? new Registration();
            _template = new Template(){TemplateType = templateType};
            _attachment = attachment;

            return HandleBody(body);
        }
        public void TestAddedEditorDefaultValue()
        {
            #region Arrange
            var ceremony = new Ceremony();
            #endregion Arrange

            #region Act
            ceremony.AddEditor(CreateValidEntities.vUser(1), true);
            ceremony.AddEditor(CreateValidEntities.vUser(2), false);
            ceremony.AddEditor(CreateValidEntities.vUser(3)); //Defaulted
            ceremony.AddEditor(CreateValidEntities.vUser(4), true);
            #endregion Act

            #region Assert
            Assert.AreEqual(4, ceremony.Editors.Count);
            Assert.IsTrue(ceremony.Editors[0].Owner);
            Assert.IsFalse(ceremony.Editors[1].Owner);
            Assert.IsFalse(ceremony.Editors[2].Owner);
            Assert.IsTrue(ceremony.Editors[3].Owner);
            #endregion Assert
        }
Exemplo n.º 13
0
 public CeremonyWithMajor(Ceremony ceremony, MajorCode majorCode)
 {
     Ceremony = ceremony;
     MajorCode = majorCode;
 }
        public void TestCanCorrectlyMapCeremony1()
        {
            #region Arrange
            var id = CeremonyRepository.Queryable.Max(x => x.Id) + 1;
            var session = NHibernateSessionManager.Instance.GetSession();
            var compareDate1 = new DateTime(2010, 01, 01);
            var compareDate2 = new DateTime(2010, 01, 02);
            var compareDate3 = new DateTime(2010, 01, 03);
            var compareDate4 = new DateTime(2010, 01, 04);
            LoadColleges(3);
            var colleges = Repository.OfType<College>().GetAll();
            //LoadCeremonyEditors(2);
            LoadUsers(3);
            var ceremony = new Ceremony();
            ceremony.SetIdTo(id);
            ceremony.AddEditor(Repository.OfType<vUser>().GetById(1), true);
            ceremony.AddEditor(Repository.OfType<vUser>().GetById(2), false);
            //LoadMajorCode(3);
            var majors = Repository.OfType<MajorCode>().GetAll();
            LoadRegistrationPetitions(3);
            var registrationPetitions = Repository.OfType<RegistrationPetition>().GetAll();
            foreach (var registrationPetition in registrationPetitions)
            {
                registrationPetition.Ceremony = ceremony; //This would be set when the student creates the RegistrationPetition
            }

            LoadTemplateType(1);
            LoadTemplate(3);
            var templates = Repository.OfType<Template>().GetAll();
            foreach (var template in templates)
            {
                template.Ceremony = ceremony;
            }
            //LoadTermCode(1);
            var termCode = Repository.OfType<TermCode>().Queryable.First();
            LoadRegistrationParticipations(3,3);
            var registrationParticipations = Repository.OfType<RegistrationParticipation>().GetAll();
            foreach (var registrationParticipation in registrationParticipations)
            {
                registrationParticipation.Ceremony = ceremony;
            }

            #endregion Arrange

            #region Act/Assert
            new PersistenceSpecification<Ceremony>(session, new CeremonyEqualityComparer())
                .CheckProperty(c => c.Id, id)
                .CheckProperty(c => c.Colleges, colleges)
                .CheckProperty(c => c.DateTime, compareDate1)
                .CheckProperty(c => c.Editors, ceremony.Editors)
                .CheckProperty(c => c.ExtraTicketDeadline, compareDate2)
                .CheckProperty(c => c.ExtraTicketPerStudent, 5)
                .CheckProperty(c => c.Location, "Location")
                .CheckProperty(c => c.Majors, majors)
                .CheckProperty(c => c.PrintingDeadline, compareDate3)
                .CheckProperty(c => c.RegistrationDeadline, compareDate4)
                .CheckProperty(c => c.RegistrationPetitions, registrationPetitions)
                .CheckProperty(c => c.Templates, templates)
                .CheckProperty(c => c.TermCode, termCode)
                .CheckProperty(c => c.TicketsPerStudent, 6)
                .CheckProperty(c => c.TotalTickets, 1000)
                .CheckProperty(c => c.RegistrationParticipations, registrationParticipations)
                .VerifyTheMappings();
            #endregion Act/Assert
        }
Exemplo n.º 15
0
        private void CopyCeremony(Ceremony destCeremony, Ceremony srcCeremony, IList<MajorCode> srcMajors, IList<College> srcColleges, IList<TicketDistributionMethod> srcTicketDistributionMethods )
        {
            destCeremony.Name = srcCeremony.Name;
            destCeremony.DateTime = srcCeremony.DateTime;
            destCeremony.Location = srcCeremony.Location;
            destCeremony.TicketsPerStudent = srcCeremony.TicketsPerStudent;
            destCeremony.TotalTickets = srcCeremony.TotalTickets;
            destCeremony.ExtraTicketBegin = srcCeremony.ExtraTicketBegin;
            destCeremony.ExtraTicketDeadline = CreateDeadline(srcCeremony.ExtraTicketDeadline);
            destCeremony.ExtraTicketPerStudent = srcCeremony.ExtraTicketPerStudent;
            destCeremony.PrintingDeadline = srcCeremony.PrintingDeadline;
            destCeremony.MinUnits = srcCeremony.MinUnits;
            destCeremony.PetitionThreshold = srcCeremony.PetitionThreshold;
            destCeremony.Colleges = srcColleges;
            destCeremony.ConfirmationText = srcCeremony.ConfirmationText;

            destCeremony.WebsiteUrl = srcCeremony.WebsiteUrl;
            destCeremony.SurveyUrl = srcCeremony.SurveyUrl;
            destCeremony.Survey = srcCeremony.Survey;

            foreach (var ceremonySurvey in srcCeremony.CeremonySurveys)
            {
                var destCeremonySurvey = destCeremony.CeremonySurveys.SingleOrDefault(a => a.College.Id == ceremonySurvey.College.Id);
                if (destCeremonySurvey == null)
                {
                    var cSurvey = new CeremonySurvey();
                    cSurvey.Ceremony = destCeremony;
                    cSurvey.College = ceremonySurvey.College;
                    cSurvey.Survey = ceremonySurvey.Survey;
                    cSurvey.SurveyUrl = ceremonySurvey.SurveyUrl;
                    destCeremony.CeremonySurveys.Add(cSurvey);
                }
                else
                {
                    destCeremonySurvey.Survey = ceremonySurvey.Survey;
                    destCeremonySurvey.SurveyUrl = ceremonySurvey.SurveyUrl;
                }
            }

            MergeCeremonyMajors(destCeremony.Majors, srcMajors, srcColleges);
            MergeTicketDistributionMethods(destCeremony.TicketDistributionMethods, srcTicketDistributionMethods);
        }
Exemplo n.º 16
0
        public ActionResult Create(CeremonyEditModel ceremonyEditModel)
        {
            ModelState.Clear();

            if (string.IsNullOrEmpty(ceremonyEditModel.Term))
            {
                ModelState.AddModelError("Term Code", "Term code must be selected.");
            }

            var termCode = _termRepository.GetNullableById(ceremonyEditModel.Term);

            if (termCode == null && !string.IsNullOrEmpty(ceremonyEditModel.Term))
            {
                // term code doesn't exist, create a new one
                var vTermCode = _vTermRepository.GetNullableById(ceremonyEditModel.Term);

                termCode = new TermCode(vTermCode);
            }

            Ceremony ceremony = new Ceremony();
            CopyCeremony(ceremony, ceremonyEditModel.Ceremony, ceremonyEditModel.CeremonyMajors, ceremonyEditModel.Colleges, ceremonyEditModel.TicketDistributionMethods);
            ceremony.TermCode = termCode;
            ceremony.AddEditor(_userService.GetCurrentUser(User), true);

            // fix the time on the end dates, so it ends on

            ceremony.TransferValidationMessagesTo(ModelState);

            if (ModelState.IsValid)
            {
                // save
                _termRepository.EnsurePersistent(termCode, true);
                Repository.OfType<Ceremony>().EnsurePersistent(ceremony);
                TermService.UpdateCurrent(termCode);    // update the cache.

                // null out the current list of ceremonies the user has access to
                _ceremonyService.ResetUserCeremonies();

                // display a message
                Message = "Ceremony has been created.";

                // redirect to the list
                return this.RedirectToAction(a => a.Edit(ceremony.Id));
            }

            // redirect back to the page
            var viewModel = CeremonyViewModel.Create(Repository, User, _majorService, ceremony);
            viewModel.Ceremony = ceremony;

            return View(viewModel);
        }
Exemplo n.º 17
0
        public string GenerateRegistrationPetitionApproved(RegistrationPetition registrationPetition, Template template)
        {
            Check.Require(registrationPetition != null, "Registration Petition is required.");
            Check.Require(template != null, "Template is required");
            Check.Require(template.TemplateType.Name == StaticValues.Template_RegistrationPetition_Approved, "template mismatch");

            _ceremony = registrationPetition.Ceremony;
            _student = registrationPetition.Registration.Student;
            _registrationPetition = registrationPetition;
            _registration = registrationPetition.Registration;
            _template = template;

            return HandleBody(template.BodyText);
        }
Exemplo n.º 18
0
 public UpdateTicketModel(Ceremony ceremony, string message)
 {
     if (ceremony != null)
     {
         ProjectedAvailableTickets = ceremony.ProjectedAvailableTickets;
         ProjectedAvailableStreamingTickets = ceremony.ProjectedAvailableStreamingTickets;
         ProjectedTicketCount = ceremony.ProjectedTicketCount;
         ProjectedStreamingCount = ceremony.ProjectedTicketStreamingCount;
     }
     Message = message;
 }
Exemplo n.º 19
0
        private static CeremonyParticipation CreateCeremonyParticipation(int index, bool edit, Student student, MajorCode major, Ceremony ceremony, Registration registration, List<CeremonyParticipation> ceremonyParticipations, IRepository repository, bool admin = false)
        {
            if (ceremony != null)
            {
                var part = new CeremonyParticipation();
                part.Index = index;
                part.Major = major;
                part.Ceremony = ceremony;
                part.Edit = edit;
                part.NeedsPetition = (student.TotalUnits < ceremony.MinUnits && student.TotalUnits >= ceremony.PetitionThreshold) || (ceremony.TermCode.CanRegister() && !ceremony.TermCode.CanRegister(true));

                if (ceremonyParticipations != null)
                {
                    var existingPart = ceremonyParticipations.FirstOrDefault(a => a.Ceremony == ceremony && a.Major == major);
                    if (existingPart != null)
                    {
                        part.Tickets = existingPart.Tickets;
                        part.Participate = existingPart.Participate;
                        part.Cancel = existingPart.Cancel;
                        part.NeedsPetition = existingPart.NeedsPetition;
                        part.TicketDistributionMethod = existingPart.TicketDistributionMethod;
                    }
                }

                if (registration != null)
                {
                    var regPart = registration.RegistrationParticipations.FirstOrDefault(a => a.Ceremony.Id == ceremony.Id && a.Major.Id == major.Id);

                    if (regPart != null)
                    {
                        part.ParticipationId = regPart.Id;
                        part.Tickets = regPart.NumberTickets;
                        part.Participate = !regPart.Cancelled;
                        part.Cancel = regPart.Cancelled;
                        part.NeedsPetition = false;                  // registered, don't need to petition
                        part.TicketDistributionMethod = regPart.TicketDistributionMethod;
                    }
                }

                if (admin)
                {
                    // set the college/ceremony lookup values
                    var college = repository.OfType<College>().Queryable.FirstOrDefault(x => x.Display && x.Id == major.College.Id);
                    var ceremonies = repository.OfType<Ceremony>().Queryable.Where(x => x.TermCode == TermService.GetCurrent() && x.Colleges.Contains(college)).ToList();
                    var majors = ceremonies.SelectMany(x => x.Majors).Where(x => x.IsActive);

                    part.College = college;
                    part.Ceremonies = ceremonies;
                    part.MajorCodes = majors.Where(x => x.College == college && x.ConsolidationMajor == null).OrderBy(x => x.MajorName).ToList();
                }
                else
                {
                    part.MajorCodes = part.Ceremony.Majors.OrderBy(x => x.MajorName).ToList();
                }

                return part;
            }

            return null;
        }
Exemplo n.º 20
0
        public string GenerateExtraTicketRequestPetitionDecision(RegistrationParticipation registrationParticipation, Template template, Attachment attachment, HttpRequestBase request, UrlHelper url, string body = null)
        {
            Check.Require(registrationParticipation != null, "registrationParticipation is required.");
            Check.Require(registrationParticipation.Registration.Student != null, "registrationParticipation.Registration.Student is required.");
            Check.Require(template != null, "template is required.");
            Check.Require(template.TemplateType.Name == StaticValues.Template_TicketPetition_Decision, "Template mismatch.");
            Check.Require(registrationParticipation.Registration != null, "registrationParticipation.Registration is required.");
            Check.Require(registrationParticipation.ExtraTicketPetition != null, "registrationParticipation.ExtraTicketPetition is required.");

            _ceremony = registrationParticipation.Ceremony;
            _student = registrationParticipation.Registration.Student;
            _registrationParticipation = registrationParticipation;
            _registration = registrationParticipation.Registration;
            _template = template;
            _attachment = attachment;
            _request = request;
            _url = url;

            _extraTicketPetition = registrationParticipation.ExtraTicketPetition;
            if(string.IsNullOrWhiteSpace(body))
            {
                return HandleBody(template.BodyText);
            }
            else
            {
                return HandleBody(body);
            }
        }
Exemplo n.º 21
0
        public string GenerateExtraTicketRequestPetitionConfirmation(RegistrationParticipation registrationParticipation, Template template)
        {
            Check.Require(registrationParticipation != null, "registrationParticipation is required.");
            Check.Require(registrationParticipation.Registration.Student != null, "registrationParticipation.Registration.Student is required.");
            Check.Require(template != null, "template is required.");
            Check.Require(template.TemplateType.Name == StaticValues.Template_TicketPetition, "Template mismatch.");
            Check.Require(registrationParticipation.Registration != null, "registrationParticipation.Registration is required.");
            Check.Require(registrationParticipation.ExtraTicketPetition != null, "registrationParticipation.ExtraTicketPetition is required.");

            _ceremony = registrationParticipation.Ceremony;
            _student = registrationParticipation.Registration.Student;
            _registrationParticipation = registrationParticipation;
            _registration = registrationParticipation.Registration;
            _template = template;
            _extraTicketPetition = registrationParticipation.ExtraTicketPetition;

            return HandleBody(template.BodyText);
        }
Exemplo n.º 22
0
        public string GenerateVisaLetterRequestDecision(VisaLetter visaLetter, Template template, HttpRequestBase request, UrlHelper url)
        {
            _ceremony = new Ceremony(); //Don't care about ceremony
            _student = visaLetter.Student;
            _registration = new Registration(); //Don't Need
            _template = template;
            _visaLetter = visaLetter;

            _request = request;
            _url = url;

            return HandleBody(template.BodyText);
        }
Exemplo n.º 23
0
        public static CeremonyViewModel Create(IRepository repository, IPrincipal user, IMajorService majorService , Ceremony ceremony)
        {
            Check.Require(repository != null, "Repository is required.");
            Check.Require(majorService != null, "Major Service is required.");

            var viewModel = new CeremonyViewModel()
                                {
                                    TermCode = TermService.GetCurrent(),
                                    IsAdmin = user.IsInRole(Role.Codes.Admin),
                                    Ceremony = ceremony,
                                    Surveys = repository.OfType<Survey>().GetAll().ToList()
                                };

            // populate the colleges and majors
            var colleges = repository.OfType<College>().Queryable.Where(a => a.Display).ToList();

            foreach (var clg in colleges)
            {
                if (viewModel.Ceremony.CeremonySurveys.All(a => a.College != clg))
                {
                    var ceremonySurvey = new CeremonySurvey();
                    ceremonySurvey.College = clg;
                    ceremonySurvey.Ceremony = viewModel.Ceremony;
                    viewModel.Ceremony.CeremonySurveys.Add(ceremonySurvey);
                }
            }

            IEnumerable<MajorCode> majors;
            if (ceremony.Id != 0)
            {
                viewModel.Colleges = new MultiSelectList(colleges, "Id", "Name", ceremony.Colleges.Select(x=>x.Id).ToList());
                viewModel.TermCode = ceremony.TermCode;

                majors = majorService.GetByCollege(ceremony.Colleges.ToList());
                viewModel.Majors = new MultiSelectList(majors, "Id", "Name", ceremony.Majors.Select(x => x.Id).ToList());
            }
            else
            {
                viewModel.Colleges = new MultiSelectList(colleges, "Id", "Name");
            }

            // populate the ticket distribution methods
            var tdmethods = repository.OfType<TicketDistributionMethod>().Queryable.Where(a => a.IsActive).ToList();
            var selectedtdmethods = ceremony.TicketDistributionMethods.Select(a => a.Id).ToList();
            viewModel.TicketDistributionMethods = new MultiSelectList(tdmethods, "Id", "Name", selectedtdmethods);

            // info for the time drop downs
            viewModel.Hours = new List<int>();
            viewModel.Minutes = new List<string>();
            viewModel.AmPm = new List<string>();

            for (int i = 1; i < 13; i++)
            {
                viewModel.Hours.Add(i);
            }

            viewModel.Minutes.Add("00");
            viewModel.Minutes.Add("30");

            viewModel.AmPm.Add("AM");
            viewModel.AmPm.Add("PM");

            return viewModel;
        }
Exemplo n.º 24
0
        private bool ValidateMajorMove(MajorCode majorCode, Ceremony destCeremony, Ceremony origCeremony, out string message)
        {
            if (majorCode == null || origCeremony == null || destCeremony == null)
            {
                message = "There was an error, validating this move.";
                return false;
            }

            if (destCeremony.Majors.Contains(majorCode))
            {
                message = "Major is already in the selected ceremony.";
                return false;
            }

            // figure out how many students/tickets are getting moved
            var participations = Repository.OfType<RegistrationParticipation>().Queryable
                                 .Where(a => a.Ceremony == origCeremony && a.Major == majorCode).ToList();

            message = string.Format("You have requested to move {0} to {1} ceremony.  This will move {2} students with {3} tickets leaving {4} available."
                                    , majorCode.Name, destCeremony.DateTime.ToString("g"), participations.Count(), participations.Sum(a => a.TotalTickets)
                                    , destCeremony.AvailableTickets - participations.Sum(a => a.TotalTickets));

            return true;
        }
Exemplo n.º 25
0
 public void QueueVisaLetterDecision(VisaLetter visaLetter, Ceremony ceremony, HttpRequestBase request, UrlHelper url)
 {
     Check.Require(visaLetter != null, "Visa Letter Request Required.");
     var template = ceremony.Templates.FirstOrDefault(a => a.TemplateType.Name == StaticValues.Template_VisaLetterDecision && a.IsActive);
     if (template != null)
     {
         var subject = template.Subject;
         var body = _letterGenerator.GenerateVisaLetterRequestDecision(visaLetter, template, request, url);
         var emailQueue = new EmailQueue(visaLetter.Student, template, subject, body);
         _emailQueueRepository.EnsurePersistent(emailQueue);
     }
 }
Exemplo n.º 26
0
        public string GenerateMoveMajor(RegistrationParticipation registrationParticipation, Template template)
        {
            Check.Require(registrationParticipation != null, "registrationParticipation is required.");
            Check.Require(template != null, "template is required.");
            Check.Require(template.TemplateType.Name == StaticValues.Template_MoveMajor, "template mismatch.");

            _ceremony = registrationParticipation.Ceremony;
            _student = registrationParticipation.Registration.Student;
            _registrationParticipation = registrationParticipation;
            _registration = registrationParticipation.Registration;
            _template = template;

            return HandleBody(template.BodyText);
        }