public static bool IsClonable(this EditionEntityLight edition, CedUser user) { if (!WebConfigHelper.CloningAllowed) { return(false); } if (!Constants.ValidEventActivitiesToClone.Select(x => x.ToLower()).ToArray().Contains(edition.EventActivity.ToLower())) { return(false); } if (!Constants.ValidEditionStatusesToClone.Contains(edition.Status)) { return(false); } if (user.IsSuperAdmin) { return(true); } if (edition.DirectorEmails.Contains(user.CurrentUser.Email.ToLower())) { return(true); } return(false); }
public void TestInitialize() { _cedUser = new CedUser(new UserEntity { Email = "*****@*****.**" }, new List <RoleEntity>()); _mockAuthUserServices = new Mock <IUserServices>(); _mockRoleServices = new Mock <IRoleServices>(); _mockApplicationServices = new Mock <IApplicationServices>(); _mockIndustryServices = new Mock <IIndustryServices>(); _mockRegionServices = new Mock <IRegionServices>(); _mockCountryServices = new Mock <ICountryServices>(); _mockEditionServices = new Mock <IEditionServices>(); _mockEditionCoHostServices = new Mock <IEditionCohostServices>(); _mockEditionCountryServices = new Mock <IEditionCountryServices>(); _mockEditionKeyVisitorServices = new Mock <IEditionKeyVisitorServices>(); _mockEditionTranslationServices = new Mock <IEditionTranslationServices>(); _mockEditionTranslationSocialMediaServices = new Mock <IEditionTranslationSocialMediaServices>(); _mockEditionVisitorServices = new Mock <IEditionVisitorServices>(); _mockEventServices = new Mock <IEventServices>(); _mockEventDirectorServices = new Mock <IEventDirectorServices>(); _mockFileServices = new Mock <IFileServices>(); _mockKeyVisitorServices = new Mock <IKeyVisitorServices>(); _mockLogServices = new Mock <ILogServices>(); _mockNotificationServices = new Mock <INotificationServices>(); _mockSubscriptionServices = new Mock <ISubscriptionServices>(); _mockUserServices = new Mock <IUserServices>(); _mockUserRoleServices = new Mock <IUserRoleServices>(); _sut = SetUpController(); AutoMapperConfig.Register(); }
public static EditionEditImagesModel ComposeEditionEditImagesModel( CedUser currentUser, EditionEntity edition, EditionTranslationEntity editionTranslation, bool isEditableForImages) { var model = new EditionEditImagesModel { EditionTranslationId = editionTranslation.EditionTranslationId, EditionId = edition.EditionId, EditionName = edition.EditionName, ProductImageFileName = editionTranslation.ProductImageFileName, MasterLogoFileName = editionTranslation.MasterLogoFileName, CrmLogoFileName = editionTranslation.CrmLogoFileName, IconFileName = editionTranslation.IconFileName, PromotedLogoFileName = editionTranslation.PromotedLogoFileName, DetailsImageFileName = editionTranslation.DetailsImageFileName, LanguageCode = editionTranslation.LanguageCode, IsAlive = edition.IsAlive(), IsCancelled = edition.IsCancelled(), IsEditableForImages = isEditableForImages, CurrentUser = currentUser }; return(model); }
public void TestInitialize() { _cedUser = new CedUser(new UserEntity { Email = "*****@*****.**", }, null); _mockAuthUserServices = new Mock <IUserServices>(); _mockRoleServices = new Mock <IRoleServices>(); _mockApplicationServices = new Mock <IApplicationServices>(); _mockIndustryServices = new Mock <IIndustryServices>(); _mockRegionServices = new Mock <IRegionServices>(); _mockEventServices = new Mock <IEventServices>(); _mockEventDirectorServices = new Mock <IEventDirectorServices>(); _mockLogServices = new Mock <ILogServices>(); _mockNotificationServices = new Mock <INotificationServices>(); _mockUserServices = new Mock <IUserServices>(); _mockUserRoleServices = new Mock <IUserRoleServices>(); _mockInAppNotificationHelper = new Mock <IInAppNotificationHelper>(); _mockHttpContextBase = new Mock <HttpContextBase>(); _mockNotificationServices .Setup(x => x.GetNotifications(It.IsAny <string>(), It.IsAny <NotificationType[]>(), It.IsAny <int?>())) .Returns(new List <NotificationEntity>()); _sut = SetUpController(); AutoMapperConfig.Register(); }
public static bool Deletable(this FileEntity file, CedUser user) { if (user.IsViewer) { return(false); } switch (file.EditionFileType) { case EditionFileType.VisitorData: if (user.IsSuperAdmin) { return(true); } return(false); case EditionFileType.PostShowReport: return(true); case EditionFileType.ExhibitionPhoto: return(true); case EditionFileType.PriceList: return(true); default: return(false); } }
public static bool IsEditable(this EditionEntity edition, CedUser user) { if (!Constants.ValidEventActivitiesToEdit.Select(x => x.ToLower()).ToArray().Contains(edition.EventActivity.ToLower())) { return(false); } if (!Constants.ValidEditionStatusesToEdit.Contains(edition.Status.GetHashCode())) { return(false); } return(true); }
public static bool ImagesEditable(this EditionEntity edition, CedUser user) { if (user.IsViewer) { return(false); } if (user.IsAdmin || user.IsSuperAdmin) { return(true); } if (edition.EventActivity == EventActivity.ShowCancelled.GetDescription()) { return(false); } return(true); }
public static bool IsEditable(this EditionEntityLight edition, CedUser user) { if (!Constants.ValidEventActivitiesToEdit.Select(x => x.ToLower()).ToArray().Contains(edition.EventActivity.ToLower())) { return(false); } if (edition.Status == EditionStatusType.WaitingForApproval.GetHashCode() && user.IsApprover) { return(true); } if (!Constants.ValidEditionStatusesToEdit.Contains(edition.Status)) { return(false); } return(true); }
public static EditionEditSalesMetricsModel ComposeEditionEditSalesMetricsModel(CedUser currentUser, EditionEntity edition) { var model = new EditionEditSalesMetricsModel { EditionId = edition.EditionId, EventId = edition.EventId, EventType = edition.Event.EventTypeCode.ToEnumFromDescription <EventType>(), LocalSqmSold = edition.LocalSqmSold, InternationalSqmSold = edition.InternationalSqmSold, SqmSold = edition.SqmSold, SponsorCount = edition.SponsorCount, EventActivity = edition.EventActivity, IsAlive = edition.IsAlive(), IsCancelled = edition.IsCancelled(), CurrentUser = currentUser }; return(model); }
public static EditionEditGeneralInfoModel ComposeEditionEditGeneralInfoModel( CedUser currentUser, EditionEntity edition, EditionTranslationEntity editionTranslation, string lang, bool isEditableForImages) { var model = new EditionEditGeneralInfoModel { EditionTranslationId = editionTranslation.EditionTranslationId, EditionId = edition.EditionId, EditionName = edition.EditionName, EditionNo = edition.EditionNo, EventId = edition.EventId, Country = edition.Country, City = edition.City, CountryLocalName = edition.CountryLocalName, CityLocalName = edition.CityLocalName, ReportingName = edition.ReportingName, LocalName = edition.LocalName, InternationalName = edition.InternationalName, LanguageCode = lang, EventType = edition.Event.EventTypeCode.ToEnumFromDescription <EventType>(), StartDate = edition.StartDate, EndDate = edition.EndDate, VisitEndTime = edition.VisitEndTime, VisitStartTime = edition.VisitStartTime, CoolOffPeriodStartDate = edition.CoolOffPeriodStartDate, CoolOffPeriodEndDate = edition.CoolOffPeriodEndDate, InternationalDate = edition.InternationalDate, LocalDate = edition.LocalDate, Summary = editionTranslation.Summary, Description = editionTranslation.Description, ExhibitorProfile = editionTranslation.ExhibitorProfile, VisitorProfile = editionTranslation.VisitorProfile, WebLogoFileName = editionTranslation.WebLogoFileName, PeopleImageFileName = editionTranslation.PeopleImageFileName, EventFlagPictureFileName = edition.EventFlagPictureFileName, AllDayEvent = edition.AllDayEvent, Promoted = edition.Promoted, TradeShowConnectDisplay = edition.TradeShowConnectDisplay, ManagingOfficeEmail = edition.ManagingOfficeEmail, ManagingOfficePhone = edition.ManagingOfficePhone, EventWebSite = edition.EventWebSite, MarketoPreferenceCenterLink = edition.MarketoPreferenceCenterLink, VenueName = editionTranslation.VenueName, MapVenueFullAddress = editionTranslation.MapVenueFullAddress, VenueCoordinates = edition.VenueCoordinates, BookStandUrl = editionTranslation.BookStandUrl, OnlineInvitationUrl = editionTranslation.OnlineInvitationUrl, EventActivity = edition.EventActivity, DisplayOnIteGermany = edition.DisplayOnIteGermany, DisplayOnIteAsia = edition.DisplayOnIteAsia, DisplayOnIteI = edition.DisplayOnIteI, DisplayOnItePoland = edition.DisplayOnItePoland, DisplayOnIteModa = edition.DisplayOnIteModa, DisplayOnIteTurkey = edition.DisplayOnIteTurkey, DisplayOnIteRussia = edition.DisplayOnIteRussia, DisplayOnIteEurasia = edition.DisplayOnIteEurasia, DisplayOnTradeLink = edition.DisplayOnTradeLink, DisplayOnIteUkraine = edition.DisplayOnIteUkraine, DisplayOnIteBuildInteriors = edition.DisplayOnIteBuildInteriors, DisplayOnIteFoodDrink = edition.DisplayOnIteFoodDrink, DisplayOnIteOilGas = edition.DisplayOnIteOilGas, DisplayOnIteTravelTourism = edition.DisplayOnIteTravelTourism, DisplayOnIteTransportLogistics = edition.DisplayOnIteTransportLogistics, DisplayOnIteFashion = edition.DisplayOnIteFashion, DisplayOnIteSecurity = edition.DisplayOnIteSecurity, DisplayOnIteBeauty = edition.DisplayOnIteBeauty, DisplayOnIteHealthCare = edition.DisplayOnIteHealthCare, DisplayOnIteMining = edition.DisplayOnIteMining, DisplayOnIteEngineeringIndustrial = edition.DisplayOnIteEngineeringIndustrial, HiddenFromWebSites = edition.HiddenFromWebSites, IsAlive = edition.IsAlive(), IsCancelled = edition.IsCancelled(), IsEditableForImages = isEditableForImages, CurrentUser = currentUser }; return(model); }
public static List <string> ReasonsForNotBeingClonable(this EditionEntityLight edition, CedUser user) { var reasons = new List <string>(); if (!edition.IsClonable(user)) { if (!WebConfigHelper.CloningAllowed) { reasons.Add("Cloning not allowed."); return(reasons); } if (!Constants.ValidEventActivitiesToClone.Select(x => x.ToLower()).ToArray().Contains(edition.EventActivity.ToLower())) { reasons.Add(edition.EventActivity); } if (!Constants.ValidEditionStatusesToClone.Contains(edition.Status)) { reasons.Add(edition.Status.ToEnum <EditionStatusType>().GetDescription()); } if (!edition.DirectorEmails.Contains(user.CurrentUser.Email.ToLower())) { reasons.Add("You don't have permission."); } } return(reasons); }
public static List <string> ReasonsForNotBeingEditable(this EditionEntityLight edition, CedUser user) { var reasons = new List <string>(); if (!edition.IsEditable(user)) { if (!Constants.ValidEventActivitiesToEdit.Select(x => x.ToLower()).ToArray().Contains(edition.EventActivity.ToLower())) { reasons.Add(edition.EventActivity); } if (!Constants.ValidEditionStatusesToEdit.Contains(edition.Status)) { reasons.Add(edition.Status.ToEnum <EditionStatusType>().GetDescription()); } } return(reasons); }
internal bool SetUserSso() { if (!User.Identity.IsAuthenticated) { return(false); } string email = null; foreach (var claim in ((ClaimsPrincipal)User).Claims) { if (claim.Type == "preferred_username") { email = claim.Value; break; } } var user = UserServices.GetUser(email); if (user == null) { user = new UserEntity { Email = email, Name = email, Surname = email, AdLogonName = email }; user = UserServices.CreateUser(user); if (user != null) { UserRoleServices.CreateUserRole(new UserRoleEntity { UserId = user.UserId, RoleId = 3 }); } } if (user == null) { return(false); } var userRoles = GetUserRoles(user.UserId); User.AddUpdateClaim("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name", user.Email.ToLower()); User.AddUpdateClaim("sub", user.Email.ToLower()); foreach (var userRole in userRoles) { User.AddClaim("http://schemas.microsoft.com/ws/2008/06/identity/claims/role", userRole.RoleName); } var list = ((ClaimsPrincipal)User).Claims.Where(claim => claim.Type.EndsWith("role")).Select(claim => { var roleEntity = new RoleEntity { RoleId = 1, Name = claim.Value, ApplicationId = WebConfigHelper.ApplicationIdCed, ApplicationName = "ITE.CED" }; return(roleEntity); }).ToList(); CurrentCedUser = new CedUser(user, list); CurrentCedUser.IsPrimaryDirector = EventDirectorServices.IsPrimaryDirector(CurrentCedUser.CurrentUser.Email, null, WebConfigHelper.ApplicationIdCed); CurrentCedUser.IsAssistantDirector = EventDirectorServices.IsAssistantDirector(CurrentCedUser.CurrentUser.Email, null, WebConfigHelper.ApplicationIdCed); return(true); }