예제 #1
0
        private void ReadUserLeftMessage(MessageTypeManager sender, NetIncomingMessage im)
        {
            var user = this.Users.GetById(im.ReadGuid());

            this.Users.TryRemove(user);

            Console.WriteLine($"Removed Users: {this.Users.Count}");
        }
예제 #2
0
        private void ReadUserJoinedMessage(MessageTypeManager sender, NetIncomingMessage im)
        {
            var user = _allUsers.GetOrCreate(im.ReadGuid());

            user.TryRead(im);

            this.Users.TryAdd(user);

            Console.WriteLine($"Added Users: {this.Users.Count}");
        }
 protected virtual void ReadCreateNetworkEntityMessage(MessageTypeManager sender, NetIncomingMessage im)
 {
     var keyId     = im.ReadUInt32();
     var key       = this.provider.ServiceConfigurationKeys[keyId];
     var serviceId = im.ReadGuid();
     var service   = this.networkEntities.Create <INetworkEntity>(
         key,
         (networkEntity, p, c) =>
     {
         networkEntity.Messages.Read(im);
     },
         serviceId);
 }
예제 #4
0
        private static void MapRoutes(HttpConfiguration config, Container container)
        {
            config.Routes.MapHttpRoute(
                name: "Index",
                routeTemplate: "{id}.html",
                defaults: new { id = "index" });

            config.Routes.MapHttpRoute(
                name: "ConnectionApi",
                routeTemplate: WebApiRequestOrchestrator.ConnectionsRouteApi,
                defaults: new { },
                constraints: new { },
                handler: new ClientConnectionDelegatingHandler()
                );

            config.Routes.MapHttpRoute(
                name: "QueryApi",
                routeTemplate: WebApiRequestOrchestrator.QueryRouteApi + "/{query}",
                defaults: new { },
                constraints: new { },
                handler: new QueryDelegatingHandler(
                    queryTypes: MessageTypeManager.GetQueryTypes()));

            config.Routes.MapHttpRoute(
                name: "CommandApi",
                routeTemplate: WebApiRequestOrchestrator.CommandRouteApi + "/{command}",
                defaults: new { },
                constraints: new { },
                handler: new CommandDelegatingHandler(
                    commandTypes: MessageTypeManager.GetCommandTypes()));

            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{action}/{id}",
                defaults: new { id = RouteParameter.Optional });
        }
예제 #5
0
 private void WriteCreateMessage(MessageTypeManager sender, NetOutgoingMessage args)
 {
     args.Write(this.Position);
 }
예제 #6
0
 private void ReadCreateMessage(MessageTypeManager sender, NetIncomingMessage args)
 {
     this.Position = args.ReadVector2();
 }
예제 #7
0
    /// <summary>
    /// “保存”按钮
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void btnSave_Click(object sender, EventArgs e)
    {
        if (Request.QueryString["MessageId"] != null)
        {
            //修改
            int messageId = Convert.ToInt32(Request.QueryString["MessageId"]);

            Message message = MessageManager.GetMessageById(messageId);
            message.Title     = txtTitle.Text.ToString();
            message.Content   = txtContent.Text.ToString();
            message.BeginTime = Convert.ToDateTime(txtBeginTime.Text);
            message.EndTime   = Convert.ToDateTime(txtEndTime.Text);
            int typeId = Convert.ToInt32(ddlMessageType.SelectedValue);
            message.Type = MessageTypeManager.GetMessageTypeById(typeId);
            MessageManager.UpdateMessage(message);
            Response.Redirect("MessageManage.aspx");
        }
        else
        {
            try
            {
                //添加
                User    user = (User)Session["Login"];
                Message item = new Message();
                item.Title              = txtTitle.Text;
                item.BeginTime          = Convert.ToDateTime(txtBeginTime.Text);
                item.EndTime            = Convert.ToDateTime(txtEndTime.Text);
                item.Type.MessageTypeId = Convert.ToInt32(ddlMessageType.SelectedValue);
                item.Content            = txtContent.Text;
                item.FromUser.UserId    = user.UserId;
                item.RecordTime         = DateTime.Now;
                item.IfPublish          = 0;
                item.IfDelete           = 0;
                item.IfDeleteTo         = 0;
                int messageId = MessageManager.AddMessage(item);
                if (messageId > 0)
                {
                    if (rdoSendObj.SelectedValue == "0") //公共消息
                    {
                        MessageToUser messageToUser = new MessageToUser();
                        messageToUser.Message.MessageId = messageId;
                        messageToUser.ToUser.UserId     = "0";
                        messageToUser.IfRead            = 0;
                        bool result = MessageToUserManager.AddMessageToUser(messageToUser);
                        if (result)
                        {
                            Response.Redirect("MessageManage.aspx");
                        }
                    }
                    else if (rdoSendObj.SelectedValue == "1")           //添加特定对象消息
                    {
                        foreach (ListItem li in chklstSelectUser.Items) //循环特定的对象
                        {
                            if (li.Selected)
                            {
                                MessageToUser messageToUser = new MessageToUser();
                                messageToUser.Message.MessageId = messageId;
                                messageToUser.IfRead            = 0;
                                messageToUser.ToUser.UserId     = li.Value;
                                bool result = MessageToUserManager.AddMessageToUser(messageToUser);
                            }
                        }
                        Response.Redirect("MessageManage.aspx");
                    }
                }
            }
            catch (Exception ex)
            {
            }
        }
    }