示例#1
0
 protected override void OnStartup(StartupEventArgs e)
 {
     base.OnStartup(e);
     _container = new DIContainer(true);
     MainWindow mainWindow = DIContainer.GetClientLibrarie<MainWindow>();
     mainWindow.Show();
 }
        private void LoadRegions(IUnitOfWork uow)
        {
            var repo = DIContainer.CreateRepository <Repositories.IPostcodeRegionRepository>(uow);

            var postcodeRegions =
                from pr in repo.GetAll()
                orderby pr.Description
                select new { pr.PostcodeRegionID, pr.Description };

            grdRegions.DataSource = postcodeRegions.ToList();
            grdRegions.DataBind();

            if (grdRegions.Items.Count > 0)
            {
                grdRegions.Items[0].Selected = true;
            }
        }
示例#3
0
        /// <summary>
        /// 获取忘记密码的ViewModl
        /// </summary>
        /// <param name="accountEmail">用户的邮箱</param>
        /// <returns>默认SendEmailSucceedViewModel</returns>
        public static SendEmailSucceedViewModel GetFindPasswordSendEmailSucceedViewModel(string accountEmail)
        {
            ISiteSettingsManager siteSettingsManager = DIContainer.Resolve <ISiteSettingsManager>();
            SiteSettings         siteSettings        = siteSettingsManager.Get();

            return(new SendEmailSucceedViewModel
            {
                AccountEmail = accountEmail,
                Body = "获取密码的信息已经发送到您的邮箱,请到您的邮箱中获取",
                ButtonDescription = "立即查看邮箱",
                Description = "如未收到可以{0}",
                link = SiteUrls.Instance().FindPassword(accountEmail, true),
                LinkDescription = "重新发送",
                Title = "信息已经发送到你的邮箱!",
                EmailLink = EmailServiceProviderService.Instance().GetEmailSiteUrl(accountEmail)
            });
        }
示例#4
0
        public Node Load(Node parentNode)
        {
            this.Node = parentNode.CreateChild(this.Name);

            Shape shape = null;

            switch (this.Type)
            {
            case Imml.PrimitiveType.Box:
            {
                shape = this.Node.CreateComponent <Box>();
                break;
            }

            case Imml.PrimitiveType.Cone:
            {
                shape = this.Node.CreateComponent <Cone>();
                break;
            }

            case Imml.PrimitiveType.Cylinder:
            {
                shape = this.Node.CreateComponent <Cylinder>();
                break;
            }

            case Imml.PrimitiveType.Plane:
            {
                shape = this.Node.CreateComponent <Urho.Shapes.Plane>();
                break;
            }

            case Imml.PrimitiveType.Sphere:
            {
                shape = this.Node.CreateComponent <Sphere>();
                break;
            }
            }

            var resourceCache = DIContainer.Get <Urho.Resources.ResourceCache>();

            this.LoadMaterials(shape, resourceCache);
            this.ApplyPhysics(this.Node);

            return(this.Node);
        }
示例#5
0
        /// <summary>
        /// 更新ContentItem
        /// </summary>
        /// <param name="contentItem"></param>
        public override void Update(ContentItem contentItem)
        {
            ContentTypeDefinition contentType = contentItem.ContentType;

            if (contentType != null)
            {
                StringBuilder sqlBuilder = new StringBuilder();
                sqlBuilder.AppendFormat("UPDATE {0} SET ", contentType.TableName);

                List <object> values = new List <object>();

                int columnIndex = 0;
                foreach (var column in contentType.Columns)
                {
                    if (column.EnableEdit)
                    {
                        sqlBuilder.AppendFormat(" {0}=@{1},", column.ColumnName, columnIndex);
                        values.Add(contentItem.AdditionalProperties[column.ColumnName]);
                        columnIndex++;
                    }
                }
                //去除末尾","
                sqlBuilder.Remove(sqlBuilder.Length - 1, 1);
                sqlBuilder.AppendFormat(" WHERE {0}=@{1}", contentType.ForeignKey, columnIndex);
                values.Add(contentItem.ContentItemId);

                Sql sql = Sql.Builder.Append(sqlBuilder.ToString(), values.ToArray());
                CreateDAO().Execute(sql);
            }

            string cacheKey = "ContentItemAP:" + RealTimeCacheHelper.GetCacheKeyOfEntity(contentItem.ContentItemId);

            cacheService.Remove(cacheKey);

            base.Update(contentItem);
            //更新解析正文缓存
            cacheKey = GetCacheKeyOfResolvedBody(contentItem.ContentItemId);
            string resolveBody = cacheService.Get <string>(cacheKey);

            if (resolveBody != null)
            {
                resolveBody = contentItem.AdditionalProperties.Get <string>("Body", string.Empty);
                resolveBody = DIContainer.ResolveNamed <IBodyProcessor>(TenantTypeIds.Instance().ContentItem()).Process(resolveBody, TenantTypeIds.Instance().ContentItem(), contentItem.ContentItemId, contentItem.UserId);
                cacheService.Set(cacheKey, resolveBody, CachingExpirationType.SingleObject);
            }
        }
示例#6
0
        public void RegisterAbstractClass()
        {
            try
            {
                DIConfiguration conf = new DIConfiguration();
                conf.Register <ABar>();

                DIContainer container = new DIContainer(conf);

                ABar bar = container.Resolve <ABar>();
                Assert.Fail("Cannot create instance of abstract class");
            }
            catch (Exception e)
            {
                Assert.IsNotNull(e, e.Message);
            }
        }
示例#7
0
        /// <summary>
        /// 获取用户邮件模板的数据字典
        /// </summary>
        /// <param name="emailBuilder"></param>
        /// <param name="user"></param>
        /// <returns></returns>
        public static dynamic GetUserEmailModel(this EmailBuilder emailBuilder, IUser user)
        {
            IInviteFriendSettingsManager manager = DIContainer.Resolve <IInviteFriendSettingsManager>();
            dynamic model = emailBuilder.GetCommonEmailModel();//合并全局数据字典

            model.UserName                 = user.UserName;
            model.UserDisplayName          = user.DisplayName;
            model.PublicEmail              = "PublicEmail";
            model.LastLogin                = SiteUrls.FullUrl(SiteUrls.Instance().Login());
            model.ProfileUrl               = SiteUrls.FullUrl(SiteUrls.Instance().SpaceHome(user.UserName));
            model.ChangePasswordUrl        = SiteUrls.FullUrl(SiteUrls.Instance().ChangePassword(user.UserName));
            model.UserAvatarUrl            = SiteUrls.FullUrl(SiteUrls.Instance().UserAvatarUrl(user, AvatarSizeType.Medium, false));
            model.ResetPassword            = SiteUrls.FullUrl(SiteUrls.Instance().ResetPassword(user.UserId));
            model.ExpirationTime           = DateTime.Now.AddDays(manager.Get().InvitationCodeTimeLiness).ToFriendlyDate();
            model.InvitationCodeTimeLiness = manager.Get().InvitationCodeTimeLiness;
            return(model);
        }
示例#8
0
        /// <summary>
        /// 根据用户自己选择的尺寸及位置进行头像裁剪
        /// </summary>
        /// <param name="userId">用户Id</param>
        /// <param name="srcWidth">需裁剪的宽度</param>
        /// <param name="srcHeight">需裁剪的高度</param>
        /// <param name="srcX">需裁剪的左上角点坐标</param>
        /// <param name="srcY">需裁剪的左上角点坐标</param>
        public static void CropAvatar(this IUserService userService, long userId, float srcWidth, float srcHeight, float srcX, float srcY)
        {
            IStoreProvider storeProvider = DIContainer.Resolve <IStoreProvider>();
            IStoreFile     iStoreFile    = storeProvider.GetFile(GetAvatarRelativePath(userId), GetAvatarFileName(userId, AvatarSizeType.Original));

            if (iStoreFile == null)
            {
                return;
            }
            User user = GetFullUser(userService, userId);

            if (user == null)
            {
                return;
            }

            bool   isFirst            = !(user.HasAvatar);
            string avatarRelativePath = GetAvatarRelativePath(userId).Replace(Path.DirectorySeparatorChar, '/');

            avatarRelativePath = avatarRelativePath.Substring(AvatarDirectory.Length + 1);
            user.Avatar        = avatarRelativePath + "/" + userId;

            IUserRepository userRepository = userService.GetUserRepository();

            userRepository.UpdateAvatar(user, user.Avatar);

            IUserProfileSettingsManager userProfileSettingsManager = DIContainer.Resolve <IUserProfileSettingsManager>();
            UserProfileSettings         userProfileSettings        = userProfileSettingsManager.GetUserProfileSettings();

            using (Stream fileStream = iStoreFile.OpenReadStream())
            {
                Stream bigImage = ImageProcessor.Crop(fileStream, new Rectangle((int)srcX, (int)srcY, (int)srcWidth, (int)srcHeight), userProfileSettings.AvatarWidth, userProfileSettings.AvatarHeight);

                Stream smallImage = ImageProcessor.Resize(bigImage, userProfileSettings.SmallAvatarWidth, userProfileSettings.SmallAvatarHeight, ResizeMethod.KeepAspectRatio);
                storeProvider.AddOrUpdateFile(GetAvatarRelativePath(userId), GetAvatarFileName(userId, AvatarSizeType.Big), bigImage);
                storeProvider.AddOrUpdateFile(GetAvatarRelativePath(userId), GetAvatarFileName(userId, AvatarSizeType.Small), smallImage);

                bigImage.Dispose();
                smallImage.Dispose();
                fileStream.Close();
            }

            EventBus <User, CropAvatarEventArgs> .Instance().OnAfter(user, new CropAvatarEventArgs(isFirst));

            //触发用户更新头像事件
        }
示例#9
0
        private void LoadTariffVersions(IUnitOfWork uow, Models.Tariff tariff)
        {
            var tariffVersions = tariff.TariffVersions.OrderByDescending(tv => tv.StartDate);

            //Only enable the New Version button if the latest version has been finished
            btnNewVersion.Enabled = tariffVersions.First().FinishDate.HasValue;

            var currentTariffVersionID = (cboTariffVersion.SelectedIndex > -1) ? int.Parse(cboTariffVersion.SelectedValue) : (int?)null;

            cboTariffVersion.DataValueField = "TariffVersionID";
            cboTariffVersion.DataTextField  = "Description";
            cboTariffVersion.DataSource     = tariffVersions.Select(tv => new { tv.TariffVersionID, tv.Description }).ToList();
            cboTariffVersion.DataBind();

            //Choose the selected TariffVersion if one was passed otherwise choose the first which is the latest
            if (cboTariffVersion.Items.Count > 0)
            {
                int?tariffVersionID = null;

                if (currentTariffVersionID.HasValue)
                {
                    tariffVersionID = currentTariffVersionID;
                }
                else
                {
                    if (this.TariffTableID.HasValue)
                    {
                        var repo        = DIContainer.CreateRepository <Repositories.ITariffRepository>(uow);
                        var tariffTable = repo.FindTariffTable(this.TariffTableID.Value);
                        tariffVersionID = tariffTable.TariffVersionID;
                    }
                }

                if (tariffVersionID.HasValue)
                {
                    var selectedTariffVersion = cboTariffTable.FindItemByValue(tariffVersionID.Value.ToString());

                    if (selectedTariffVersion != null)
                    {
                        selectedTariffVersion.Selected = true;
                    }
                }

                LoadTariffVersion(uow);
            }
        }
 /// <summary>
 /// 递增实体缓存(仅更新实体时需要递增)
 /// </summary>
 /// <param name="entityId">实体Id</param>
 public void IncreaseEntityCacheVersion(object entityId)
 {
     if (DIContainer.Resolve <ICacheService>().EnableDistributedCache)
     {
         int num;
         if (this.entityVersionDictionary.TryGetValue(entityId, out num))
         {
             num++;
         }
         else
         {
             num = 1;
         }
         this.entityVersionDictionary[entityId] = num;
         this.OnChanged();
     }
 }
示例#11
0
        /// <summary>
        /// 在页面底部呈现注册的css代码块
        /// </summary>
        /// <remarks>
        /// &lt;/body&gt;结束以前
        /// </remarks>
        /// <param name="html"></param>
        public static void RenderRegisteredCssBlocksAtFoot(this HtmlHelper html)
        {
            TextWriter _writer = html.ViewContext.Writer;

            IPageResourceManager pageResourceManager = DIContainer.ResolvePerHttpRequest <IPageResourceManager>();
            IList <string>       registeredCssBlocks = pageResourceManager.GetRegisteredCssBlocks(ResourceRenderLocation.Foot);

            if (registeredCssBlocks != null && registeredCssBlocks.Count > 0)
            {
                _writer.WriteLine("<style type=\"text/css\">");
                foreach (var registeredCssBlock in registeredCssBlocks)
                {
                    _writer.WriteLine(registeredCssBlock);
                }
                _writer.WriteLine("</style>");
            }
        }
示例#12
0
        /// <summary>
        /// 在页面链接Javascript文件,并于代码引入位置呈现
        /// </summary>
        /// <param name="html">要扩展的HtmlHelper</param>
        /// <param name="scriptUrl">需要引入的Script资源</param>
        /// <returns></returns>
        public static MvcHtmlString LinkScript(this HtmlHelper html, string scriptUrl)
        {
            if (string.IsNullOrEmpty(scriptUrl))
            {
                throw new ArgumentNullException("resouceSetName");
            }

            IPageResourceManager pageResourceManager = DIContainer.ResolvePerHttpRequest <IPageResourceManager>();

            TagBuilder tagBuilder;

            tagBuilder = new TagBuilder("script");
            tagBuilder.MergeAttribute("src", pageResourceManager.ResolveUrlWithResourceSite(scriptUrl));
            tagBuilder.MergeAttribute("type", "text/javascript");

            return(new MvcHtmlString(tagBuilder.ToString(TagRenderMode.Normal)));
        }
示例#13
0
        public void ConcreteMapping_Abstract()
        {
            //Arrange
            IHaleyDIContainer _di = new DIContainer();
            IPerson           p1  = new SuperHero()
            {
                name = "Bruce Wayne", alter_ego = "BatMan"
            };

            //Act
            Action act = () => _di.Register <IPerson>(p1);

            //Assert
            ArgumentException exception = Assert.Throws <ArgumentException>(act);

            Assert.StartsWith("Concrete type cannot be null, abstr", exception.Message.Substring(0, 35));
        }
示例#14
0
        public void Concrete_NotEquals()
        {
            //Arrange
            IHaleyDIContainer _di        = new DIContainer();
            Person            p_expected = new Person()
            {
                name = "Senguttuvan"
            };

            _di.Register <Person>(p_expected);

            //Act
            var p_actual = _di.Resolve <Person>(ResolveMode.Transient); //Since generating new instance, this should not be equal

            //Assert
            Assert.NotEqual(p_expected, p_actual);
        }
 /// <summary>
 /// Closing the campaign
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 protected void lnkCloseCampaign_Click(object sender, EventArgs e)
 {
     try
     {
         LinkButton btn        = (LinkButton)sender;
         int        campaignID = ValidationHelper.GetInteger(btn.CommandArgument, 0);
         if (!DIContainer.Resolve <IShoppingCartProvider>().ValidateAllCarts(campaignID: campaignID))
         {
             Response.Cookies["status"].Value    = QueryStringStatus.InvalidCartItems;
             Response.Cookies["status"].HttpOnly = false;
             return;
         }
         Campaign campaign = CampaignProvider.GetCampaigns()
                             .WhereEquals("NodeSiteID", CurrentSite.SiteID)
                             .WhereEquals("CampaignID", campaignID)
                             .FirstObject;
         if (campaign != null)
         {
             campaign.CloseCampaign = true;
             campaign.Update();
             var oderStatus = DIContainer.Resolve <IFailedOrderStatusProvider>();
             oderStatus.InsertCampaignOrdersInProgress(campaign.CampaignID);
             TaskInfo runTask = TaskInfoProvider.GetTaskInfo(ScheduledTaskNames.PrebuyOrderCreation, CurrentSite.SiteID);
             if (runTask != null)
             {
                 runTask.TaskRunInSeparateThread = true;
                 runTask.TaskEnabled             = true;
                 runTask.TaskData = $"{campaign.CampaignID}|{CurrentUser.UserID}";
                 SchedulingExecutor.ExecuteTask(runTask);
             }
             var users = UserInfoProvider.GetUsers();
             if (users != null)
             {
                 foreach (var user in users)
                 {
                     ProductEmailNotifications.CampaignEmail(campaign.DocumentName, user.Email, "CampaignCloseEmail");
                 }
             }
             Response.Redirect(CurrentDocument.DocumentUrlPath);
         }
     }
     catch (Exception ex)
     {
         EventLogProvider.LogException("CMSWebParts_Kadena_Campaign_Web_Form_CampaignWebFormActions", "lnkCloseCampaign_Click", ex, CurrentSite.SiteID, ex.Message);
     }
 }
示例#16
0
        /// <summary>
        /// 用户对某类型是否允许发送通知
        /// </summary>
        /// <param name="userId">用户Id</param>
        /// <param name="typeId">通知类型Id</param>
        /// <returns></returns>
        public bool IsAllowedSend(long userId, int typeId)
        {
            Dictionary <int, bool> userSettings = userNoticeSettingsRepository.GetUserNoticeSettingses(userId);

            if (userSettings.ContainsKey(typeId))
            {
                return(userSettings[typeId]);
            }
            INoticeSettingsManager noticeSettingsManager = DIContainer.Resolve <INoticeSettingsManager>();
            NoticeSettings         noticeSettings        = noticeSettingsManager.Get();

            if (!noticeSettings.NoticeTypeSettingses.Any(n => n.TypeId == typeId))
            {
                return(false);
            }
            return(noticeSettings.NoticeTypeSettingses.Single(n => n.TypeId == typeId).IsAllow);
        }
示例#17
0
        void Start()
        {
            Application.runInBackground = true;

            _diContainer = new DIContainer();
            var swipeController = gameObject.AddComponent <SwipeController>();
            var monoProvider    = gameObject.AddComponent <MonoProvider>();

            _diContainer.RegisterInstance <DIContainer>(_diContainer);
            _diContainer.RegisterInstance <FieldMediator>(FieldMediator);
            _diContainer.RegisterInstance <MenuMediator>(MenuMediator);
            _diContainer.RegisterInstance <SwipeController>(swipeController);
            _diContainer.RegisterInstance <MonoProvider>(monoProvider);
            _diContainer.RegisterSingleton <PhotonServerController>();

            _diContainer.BuildUp(MenuMediator);
        }
示例#18
0
        public void RegInterfaceInterface()
        {
            try
            {
                var conf = new DIConfiguration();
                conf.Register <IBar>();

                var container = new DIContainer(conf);

                var bar = container.Resolve <IBar>();
                Assert.Fail("Cannot create instance of interface");
            }
            catch (Exception e)
            {
                Assert.IsNotNull(e, e.Message);
            }
        }
        /// <summary>
        /// 重建缩略图
        /// </summary>
        /// <param name="tenantTypeId">租户类型id</param>
        /// <returns></returns>
        public ActionResult _RebuildingThumbnails(string tenantTypeId)
        {
            TenantAttachmentSettings tenantAttachmentSettings = TenantAttachmentSettings.GetRegisteredSettings(tenantTypeId);
            IStoreProvider           storeProvider            = DIContainer.Resolve <IStoreProvider>();

            if (tenantAttachmentSettings == null)
            {
                return(Content(string.Empty));
            }

            string path = WebUtility.GetPhysicalFilePath(Path.Combine(storeProvider.StoreRootPath, tenantAttachmentSettings.TenantAttachmentDirectory));

            ResetThumbnails(path, tenantAttachmentSettings);

            //重建缩略图的代码
            return(Redirect(SiteUrls.Instance().ControlPanelSuccess("执行成功", SiteUrls.Instance().RebuildingThumbnails())));
        }
示例#20
0
        /// <summary>
        /// 更改用户积分
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="eventArgs"></param>
        void ChangePointsEventModule_After(IUser sender, ChangePointsEventArgs eventArgs)
        {
            if (eventArgs.ExperiencePoints <= 0 && eventArgs.ReputationPoints <= 0)
            {
                return;
            }

            IUserService userService = DIContainer.Resolve <IUserService>();

            //自动升级
            UserRankService            userRankService = new UserRankService();
            SortedList <int, UserRank> userRanks       = userRankService.GetAll();
            UserRank maxUserRank = null;

            if (userRanks != null && userRanks.Count > 0)
            {
                maxUserRank = userRanks.ElementAt(0).Value;
            }
            IPointSettingsManager pointSettingsManger = DIContainer.Resolve <IPointSettingsManager>();
            PointSettings         pointSettings       = pointSettingsManger.Get();
            int totalPoints = pointSettings.CalculateIntegratedPoint(sender.ExperiencePoints, sender.ReputationPoints);

            foreach (KeyValuePair <int, UserRank> userRank in userRanks)
            {
                if (totalPoints > userRank.Value.PointLower && userRank.Value.PointLower > maxUserRank.PointLower)
                {
                    maxUserRank = userRank.Value;
                }
            }
            if (maxUserRank.Rank > sender.Rank)
            {
                userService.UpdateRank(sender.UserId, maxUserRank.Rank);
            }

            //自动解除管制
            var user = userService.GetFullUser(sender.UserId);

            if (user.IsModerated && !user.IsForceModerated)
            {
                UserSettings userSettings = DIContainer.Resolve <IUserSettingsManager>().Get();
                if (totalPoints > userSettings.NoModeratedUserPoint)
                {
                    userService.NoModeratedUser(user.UserId);
                }
            }
        }
        public void RegisterAbstractClassAsSelf()
        {
            try
            {
                var conf = new DIConfiguration();
                conf.Register <BarBase>();

                var container = new DIContainer(conf);

                var bar = container.Resolve <BarBase>();
                Assert.Fail("Cannot create instance of abstract class");
            }
            catch (Exception e)
            {
                Assert.IsTrue(true, e.Message);
            }
        }
示例#22
0
        /// <summary>
        /// Query the database for photos based on the search parameters
        /// </summary>
        protected void grdPhotos_NeedDataSource(object source, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
        {
            if (IsPostBack || HasPassedInParams)
            {
                using (var uow = DIContainer.CreateUnitOfWork())
                {
                    var repo = DIContainer.CreateRepository <Repositories.IPhotoRepository>(uow);

                    int?orderId = null;
                    if (rntbOrderId.Value.HasValue)
                    {
                        orderId = Convert.ToInt32(rntbOrderId.Value);
                    }

                    int?runId = null;
                    if (rntbRunId.Value.HasValue)
                    {
                        runId = Convert.ToInt32(rntbRunId.Value);
                    }

                    int?instructionId = null;
                    if (rntbInstructionId.Value.HasValue)
                    {
                        instructionId = Convert.ToInt32(rntbInstructionId.Value);
                    }

                    DateTime?photoDate = dtePhotoDate.SelectedDate;

                    int?driverId = null;
                    if (cboDriver.SelectedIndex > 0)
                    {
                        driverId = Convert.ToInt32(cboDriver.SelectedValue);
                    }

                    PhotoType?photoType = null;
                    if (cboPhotoType.SelectedIndex > 0)
                    {
                        photoType = (PhotoType)Convert.ToInt32(cboPhotoType.SelectedValue);
                    }

                    var photos = repo.GetForFindPhoto(orderId, runId, instructionId, photoDate, driverId, photoType);

                    grdPhotos.DataSource = photos.ToList();
                }
            }
        }
示例#23
0
        public TestForUserEditModel GetUserSettings()
        {
            //根据站点配置设置用户属性
            IUserSettingsManager         userSettingsManager         = DIContainer.Resolve <IUserSettingsManager>();
            UserSettings                 userSettings                = userSettingsManager.Get();
            IInviteFriendSettingsManager inviteFriendSettingsManager = DIContainer.Resolve <IInviteFriendSettingsManager>();
            InviteFriendSettings         inviteFriendSettings        = inviteFriendSettingsManager.Get();

            return(new TestForUserEditModel
            {
                registrationMode = userSettings.RegistrationMode,
                EnableNotActivatedUsersToLogin = userSettings.EnableNotActivatedUsersToLogin,
                MyHomePageAsSiteEntry = userSettings.MyHomePageAsSiteEntry,
                AllowInvitationCodeUseOnce = inviteFriendSettings.AllowInvitationCodeUseOnce,
                UserPasswordFormat = userSettings.UserPasswordFormat
            });
        }
示例#24
0
        protected void Page_Load(object sender, EventArgs e)
        {
            var client            = DIContainer.Resolve <IOrderViewClient>();
            var initialPageNumber = 1;
            var initialQuantity   = 1;
            // First request to get total count of records.
            var data = client.GetOrders(SiteContext.CurrentSiteName, initialPageNumber, initialQuantity).Result;

            if (data?.Success ?? false)
            {
                if ((data.Payload.Orders?.Count() ?? 0) > 0)
                {
                    // Second request to get all records.
                    data = client.GetOrders(SiteContext.CurrentSiteName, initialPageNumber, data.Payload.TotalCount).Result;

                    if (data?.Success ?? false)
                    {
                        var customers = BaseAbstractInfoProvider.GetInfosByIds(CustomerInfo.OBJECT_TYPE,
                                                                               data.Payload.Orders.Select(o => o.CustomerId));

                        // Unigrid accept only DataSet as source type.
                        grdOrders.DataSource = ToDataSet(
                            data.Payload.Orders.Select(o =>
                        {
                            var customer = customers[o.CustomerId] as CustomerInfo;
                            return(new
                            {
                                o.Id,
                                o.Status,
                                o.TotalPrice,
                                o.CreateDate,
                                CustomerName = customer != null ?
                                               $"{customer.CustomerFirstName} {customer.CustomerLastName}"
                                                        : string.Empty
                            });
                        }));
                    }
                }
            }

            if (!(data?.Success ?? false))
            {
                var exc = new InvalidOperationException(data?.ErrorMessages);
                EventLogProvider.LogException("OrdersList - Load", "EXCEPTION", exc);
            }
        }
示例#25
0
        /// <summary>
        /// 设置/取消管理员通知处理程序
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="eventArgs"></param>
        private void SetManagerNoticeEventModule_After(GroupMember sender, CommonEventArgs eventArgs)
        {
            if (eventArgs.EventOperationType != EventOperationType.Instance().SetGroupManager() && eventArgs.EventOperationType != EventOperationType.Instance().CancelGroupManager())
            {
                return;
            }

            GroupService groupService = new GroupService();
            GroupEntity  entity       = groupService.Get(sender.GroupId);

            if (entity == null)
            {
                return;
            }

            User senderUser = DIContainer.Resolve <IUserService>().GetFullUser(sender.UserId);

            if (senderUser == null)
            {
                return;
            }

            NoticeService noticeService = DIContainer.Resolve <NoticeService>();

            Notice notice = Notice.New();

            notice.UserId             = sender.UserId;
            notice.ApplicationId      = GroupConfig.Instance().ApplicationId;
            notice.TypeId             = NoticeTypeIds.Instance().Hint();
            notice.LeadingActorUserId = 0;
            notice.LeadingActor       = string.Empty;
            notice.LeadingActorUrl    = string.Empty;
            notice.RelativeObjectId   = sender.GroupId;
            notice.RelativeObjectName = StringUtility.Trim(entity.GroupName, 64);
            notice.RelativeObjectUrl  = SiteUrls.FullUrl(SiteUrls.Instance().GroupHome(entity.GroupKey));

            if (eventArgs.EventOperationType == EventOperationType.Instance().SetGroupManager())
            {
                notice.TemplateName = NoticeTemplateNames.Instance().SetGroupManager();
            }
            else
            {
                notice.TemplateName = NoticeTemplateNames.Instance().CannelGroupManager();
            }
            noticeService.Create(notice);
        }
示例#26
0
        public void IncludeCss(RequestContext controllerContext)
        {
            ThemeAppearance themeAppearance = GetRequestTheme(controllerContext);

            if (themeAppearance == null)
            {
                return;
            }

            string themeCssPath      = "~/Themes/Channel/Default/theme.css";
            string appearanceCssPath = "~/Themes/Channel/Default/Appearances/Default/appearance.css";

            IPageResourceManager resourceManager = DIContainer.ResolvePerHttpRequest <IPageResourceManager>();

            resourceManager.IncludeCss(themeCssPath, renderPriority: ResourceRenderPriority.Last);
            resourceManager.IncludeCss(appearanceCssPath, renderPriority: ResourceRenderPriority.Last);
        }
示例#27
0
        /// <summary>
        /// 输出标签选择器(用于不能直接根据内容项获取标签的情况,例如:设置相关标签)
        /// </summary>
        /// <param name="htmlHelper"></param>
        /// <param name="tagInputName">表单项名称</param>
        /// <param name="selectedTagNames">选中的标签组</param>
        /// <param name="tenantTypeId">标签租户类型Id</param>
        /// <param name="ownerId">标签拥有者Id(可优先从该拥有者的标签中获取,并提供下拉列表选择)</param>
        /// <param name="topNumber">默认下拉列表中最多显示多少条数据</param>
        /// <returns></returns>
        public static MvcHtmlString TagSelector(this HtmlHelper htmlHelper, string tagInputName, IEnumerable <string> selectedTagNames, string tenantTypeId = null, long?ownerId = null, int topNumber = 50)
        {
            TagService           tagService    = new TagService(tenantTypeId);
            IEnumerable <string> ownerTagNames = new List <string>();

            if (ownerId.HasValue && ownerId.Value > 0)
            {
                ownerTagNames = tagService.GetTopOwnerTags(ownerId.Value, topNumber, tenantTypeId).Select(n => n.Key.TagName);
            }
            TagSettings tagSettings = DIContainer.Resolve <ISettingsManager <TagSettings> >().Get();

            if (selectedTagNames == null)
            {
                selectedTagNames = new List <string>();
            }
            return(htmlHelper.EditorForModel("TagSelector", new { tagInputName = tagInputName, ownerId = ownerId, selectedTagNames = string.Join(",", selectedTagNames), ownerTagNames = ownerTagNames, tagSettings = tagSettings }));
        }
示例#28
0
        private void LoadZones(IUnitOfWork uow)
        {
            var repo = DIContainer.CreateRepository <Repositories.IZoneMapRepository>(uow);

            var zones =
                from z in repo.GetZonesForZoneMap(this.ZoneMapID)
                orderby z.Description
                select new { z.ZoneID, z.Description };

            grdZones.DataSource = zones.ToList();
            grdZones.DataBind();

            if (grdZones.Items.Count > 0)
            {
                grdZones.Items[0].Selected = true;
            }
        }
示例#29
0
文件: MvcHead.cs 项目: x1987624/SNS
        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="viewContext"></param>
        /// <param name="title"></param>
        /// <param name="disableClientCache"></param>
        /// <param name="charset"></param>
        public MvcHead(ViewContext viewContext, string title = null, bool disableClientCache = false, string charset = "UTF-8")
        {
            if (viewContext == null)
            {
                throw new ArgumentNullException("viewContext");
            }

            _viewContext        = viewContext;
            _writer             = viewContext.Writer;
            pageResourceManager = DIContainer.ResolvePerHttpRequest <IPageResourceManager>();

            TagBuilder tagBuilder = new TagBuilder("head");

            _writer.WriteLine(tagBuilder.ToString(TagRenderMode.StartTag));
            _writer.WriteLine("<meta http-equiv=\"Content-Type\" content=\"text/html; charset={0}\" />", charset);

            if (string.IsNullOrEmpty(title))
            {
                if (pageResourceManager.IsAppendSiteName)
                {
                    pageResourceManager.AppendTitleParts(DIContainer.Resolve <ISettingsManager <SiteSettings> >().Get().SiteName);
                }
                title = pageResourceManager.GenerateTitle();
            }

            if (!string.IsNullOrEmpty(title))
            {
                _writer.WriteLine("<title>{0}</title>", title);
            }

            _writer.WriteLine("<link rel=\"shortcut icon\" type=\"image/ico\" href=\"{0}\" />", pageResourceManager.ShortcutIcon);

            if (disableClientCache)
            {
                _writer.WriteLine("<meta http-equiv=\"Pragma\" content=\"no-cache\" />\n");
                _writer.WriteLine("<meta http-equiv=\"no-cache\" />\n");
                _writer.WriteLine("<meta http-equiv=\"Expires\" content=\"-1\" />\n");
                _writer.WriteLine("<meta http-equiv=\"Cache-Control\" content=\"no-cache\" />\n");
            }
            IList <MetaEntry> metas = pageResourceManager.GetRegisteredMetas();

            foreach (var meta in metas)
            {
                _writer.WriteLine(meta.GetRenderingTag());
            }
        }
示例#30
0
        /// <summary>
        /// 转换为userProfileSettings用于数据库存储
        /// </summary>
        public UserProfileSettings AsUserProfileSettings()
        {
            UserProfileSettings userProfileSettings = DIContainer.Resolve <IUserProfileSettingsManager>().GetUserProfileSettings();

            userProfileSettings.IntegrityProportions[0] = Avatar ?? 20;
            userProfileSettings.IntegrityProportions[1] = Birthday ?? 10;
            userProfileSettings.IntegrityProportions[2] = NowArea ?? 10;
            userProfileSettings.IntegrityProportions[3] = HomeArea ?? 10;
            userProfileSettings.IntegrityProportions[4] = IM ?? 10;
            userProfileSettings.IntegrityProportions[5] = Mobile ?? 0;
            userProfileSettings.IntegrityProportions[6] = EducationExperience ?? 15;
            userProfileSettings.IntegrityProportions[7] = WorkExperience ?? 15;
            userProfileSettings.IntegrityProportions[8] = Introduction ?? 10;
            userProfileSettings.MinIntegrity            = MinIntegrity ?? 50;
            userProfileSettings.MaxPersonTag            = MaxPersonTag ?? 10;
            return(userProfileSettings);
        }
示例#31
0
        public void Concrete__Equals()
        {
            //Arrange
            IHaleyDIContainer _di        = new DIContainer();
            Person            p_expected = new Person()
            {
                name = "Latha G"
            };

            _di.Register <Person>(p_expected);

            //Act
            var p_actual = _di.Resolve <Person>();

            //Assert
            Assert.Equal(p_expected, p_actual); //If not registered, this should be equal to what we send.
        }