예제 #1
0
        public void SetUp()
        {
            repository = new FakeCampaignRepository();
            //((FakeCampaignRepository)repository).SetUpRepository();
            campaign = EntityHelpers.GetValidCampaign();
            causeTemplate = EntityHelpers.GetValidCauseTemplate();

            campaign.CauseTemplate = causeTemplate;
        }
 public void Delete_Should_Delete_CauseTemplate_From_Database()
 {
     using (new UnitOfWorkScope())
     using (new TransactionScope())
     {
         ArrangeCauseTemplateTest();
         var id = causeTemplate.CauseTemplateID;
         causeTemplaterepository.Delete(causeTemplate);
         causeTemplaterepository.Save();
         causeTemplate = causeTemplaterepository.GetCauseTemplateByID(id);
         Assert.IsNull(causeTemplate);
     }
 }
 public void Delete( CauseTemplate causeTemplate )
 {
     ObjectContext.CauseTemplates.Remove( causeTemplate );
 }
 public void Add( CauseTemplate causeTemplate )
 {
     ObjectContext.CauseTemplates.Add( causeTemplate );
 }
 public void Delete( CauseTemplate causeTemplate )
 {
     causeTemplates.Remove( causeTemplate );
 }
 public void Add( CauseTemplate causeTemplate )
 {
     causeTemplate.CauseTemplateID = causeTemplates.Count + 1;
     causeTemplates.Add( causeTemplate );
 }
예제 #7
0
        private void ArrangeCauseTest()
        {
            organization = EntityHelpers.GetValidOrganization() as Organization;
            organization.UserProfiles = new List<UserProfile>();
            organization.CauseTemplates = new List<CauseTemplate>();
            organization.Causes = new List<Cause>();
            organizationRepository.Add(organization);
            organizationRepository.Save();

            userProfile = EntityHelpers.GetValidUserProfile();
            userProfile.Users = new List<User>();
            userProfile.UserProfileService = new UserProfileService( new UserProfileRepository() );
            organization.UserProfiles.Add( userProfile );
            organizationRepository.Save();

            user = EntityHelpers.GetValidUser();
            userProfile.Users.Add( user );
            organizationRepository.Save();

            causeTemplate = EntityHelpers.GetValidCauseTemplate();
            causeTemplate.Causes = new List<Cause>();
            organization.CauseTemplates.Add(causeTemplate);
            organizationRepository.Save();

            cause = causeTemplate.CreateCause();
            causeTemplate.Causes.Add(cause);
            organization.Causes.Add(cause);
            causeRepository.Save();
        }
        /// <summary>
        /// Pre-processes the uploaded files and calls a IFileSaveService provider to save
        /// the actual files.  Afterwards, it sets the new file name URLs onto the appropriate
        /// fields of the causeTemplate.
        /// </summary>
        /// <param name="causeTemplate"></param>
        /// <returns></returns>
        private IEnumerable<FileUpload> SaveFiles( CauseTemplate causeTemplate )
        {
            // the regex for a valid image
            Regex imageFilenameRegex = new Regex( @"(.*?)\.(jpg|jpeg|png|gif)$", RegexOptions.IgnoreCase );

            int index = 0;
            var fileUploadList = new List<FileUpload>();

            // Pre process the list of files and verify each is valid before calling IFileSaveService
            foreach ( string fileKey in Request.Files )
            {
                index++;
                HttpPostedFileBase file = Request.Files[fileKey];

                // No file was uploaded (form element was left blank)
                if ( file.ContentLength == 0 )
                {
                    continue;
                }

                // Create a new FileUpload item
                var fileUpload = new FileUpload { File = file, Length = file.ContentLength, IsError = false, Index = index };

                // Pull the existing (soon to be previous) file name from the CauseTemplate
                // and set into the fileUpload because the provider may choose to delete
                // the previous file.
                if ( imageFilenameRegex.IsMatch( file.FileName ) )
                {
                    switch ( index )
                    {
                        case 1:
                            fileUpload.PreviousFileName = causeTemplate.ImagePath;
                            break;
                        case 2:
                            fileUpload.PreviousFileName = causeTemplate.BeforeImagePath;
                            break;
                        case 3:
                            fileUpload.PreviousFileName = causeTemplate.AfterImagePath;
                            break;
                    }
                }
                else
                {
                    fileUpload.IsError = true;
                    fileUpload.ErrorMessage = "Invalid file type.";
                }

                fileUploadList.Add( fileUpload );
            }

            // Get the configured IFileSaveService from the factory
            var factory = new FileSaveServiceFactory();
            IFileSaveService fileSaveService = factory.GetService();
            fileSaveService.SaveFiles( fileUploadList );

            // Post process files to set the new file name (URL) to the campaign's image
            foreach ( var fileItem in fileUploadList )
            {
                //string oldFile = string.Empty;
                switch ( fileItem.Index )
                {
                    case 1:
                        causeTemplate.ImagePath = fileItem.NewFileName;
                        break;
                    case 2:
                        causeTemplate.BeforeImagePath = fileItem.NewFileName;
                        break;
                    case 3:
                        causeTemplate.AfterImagePath = fileItem.NewFileName;
                        break;
                }
            }

            return fileUploadList;
        }
        private static CauseTemplateDetailsModel MapCauseTemplateDetails(CauseTemplate causeTemplate, bool shouldMapCauses = false)
        {
            var model = Mapper.Map<CauseTemplate, CauseTemplateDetailsModel>(causeTemplate);

            if (shouldMapCauses)
            {
                model.Causes = causeTemplate.Causes.Where(c => c.IsCompleted).Select(Mapper.Map<Cause, CauseDetailsModel>).ToList();
            }

            return model;
        }
 private static void MapCauseTemplate( CauseTemplate causeTemplate, CauseTemplateDetailsModel model )
 {
     causeTemplate.Name = model.Name;
     causeTemplate.ActionVerb = model.ActionVerb;
     causeTemplate.Active = model.Active;
     causeTemplate.CallToAction = model.CallToAction;
     causeTemplate.AmountIsConfigurable = model.AmountIsConfigurable;
     causeTemplate.DefaultAmount = model.DefaultAmount;
     causeTemplate.DefaultTimespanInDays = model.DefaultTimespanInDays;
     causeTemplate.CutOffDate = model.CutOffDate;
     causeTemplate.DescriptionHtml = model.DescriptionHtml;
     causeTemplate.GoalName = model.GoalName;
     causeTemplate.ImagePath = model.ImagePath;
     causeTemplate.BeforeImagePath = model.BeforeImagePath;
     causeTemplate.AfterImagePath = model.AfterImagePath;
     causeTemplate.Summary = model.Summary;
     causeTemplate.TimespanIsConfigurable = model.TimespanIsConfigurable;
     causeTemplate.VideoEmbedHtml = model.VideoEmbedHtml;
     causeTemplate.InstructionsOpenHtml = model.InstructionsOpenHtml;
     causeTemplate.InstructionsClosedHtml = model.InstructionsClosedHtml;
     causeTemplate.StatisticsHtml = model.StatisticsHtml;
 }
        private void ArrangeCauseTemplateTest()
        {
            organization = EntityHelpers.GetValidOrganization() as Organization;
            organization.CauseTemplates = new List<CauseTemplate>();
            organizationRepository.Add(organization);
            organizationRepository.Save();

            causeTemplate = EntityHelpers.GetValidCauseTemplate();
            organization.CauseTemplates.Add(causeTemplate);
            causeTemplaterepository.Save();
        }
 public void GetCauseTemplateByID_Should_Load_CauseTemplate_From_Database()
 {
     using (new UnitOfWorkScope())
     using (new TransactionScope())
     {
         ArrangeCauseTemplateTest();
         var id = causeTemplate.CauseTemplateID;
         causeTemplate = null;
         causeTemplate = causeTemplaterepository.GetCauseTemplateByID(id);
         Assert.IsNotNull(causeTemplate);
         Assert.AreEqual(id, causeTemplate.CauseTemplateID);
     }
 }
        private void Arrange()
        {
            organization = EntityHelpers.GetValidOrganization();
            organization.UserProfiles = new List<UserProfile>();
            organization.CauseTemplates = new List<CauseTemplate>();
            organization.Campaigns = new List<Campaign>();
            organizationRepository.Add(organization);
            organizationRepository.Save();

            userProfile = EntityHelpers.GetValidUserProfile();
            userProfile.Users = new List<User>();
            userProfile.Campaigns = new List<Campaign>();
            userProfile.UserProfileService = new UserProfileService(new UserProfileRepository());
            organization.UserProfiles.Add(userProfile);
            organizationRepository.Save();

            user = EntityHelpers.GetValidUser();
            userProfile.Users.Add(user);
            organizationRepository.Save();

            causeTemplate = EntityHelpers.GetValidCauseTemplate();
            causeTemplate.Campaigns = new List<Campaign>();
            organization.CauseTemplates.Add(causeTemplate);
            organizationRepository.Save();

            campaign = EntityHelpers.GetValidCampaign();
            campaign.CampaignService = new CampaignService(new CampaignRepository());
            organization.Campaigns.Add(campaign);
            userProfile.Campaigns.Add(campaign);
            causeTemplate.Campaigns.Add(campaign);
            campaignRepository.Save();

            campaignDonor = EntityHelpers.GetValidCampaignDonor();
            campaign.CampaignDonors = new List<CampaignDonor>();
            campaign.CampaignDonors.Add(campaignDonor);
            userProfile.CampaignDonors = new List<CampaignDonor>();
            userProfile.CampaignDonors.Add(campaignDonor);
            campaignDonorRepository.Save();
        }