Exemple #1
0
        //好友申请,向用户发送申请者ID,Name
        public AddComfirmArgs Add(AddContract contract)
        {
            AddConfirm     call = null;
            AddComfirmArgs args = null;

            using (var model = new Data.DataModel())
            {
                try
                {
                    model.addfriends.Add(new addfriend {
                        TIme = DataHelpers.GetTimeStamp(), SenderId = contract.SenderId, ReceiverId = contract.ReveiveId, Status = Status.Waiting.ToString()
                    });
                    var user   = model.presenceusers.Where(p => p.UserId.Equals(contract.ReveiveId)).FirstOrDefault();
                    var sender = model.users.Where(p => p.UserId.Equals(contract.SenderId)).FirstOrDefault();
                    if (user != null)
                    {
                        call = new AddConfirm(sender.UserId, sender.UserName);
                        args = new AddComfirmArgs(call, user.IPAddress);
                    }
                    else
                    {
                        call = new AddConfirm(contract.SenderId, "未知");
                        args = new AddComfirmArgs(call, "Offline");
                    }
                }
                catch (Exception e)
                {
                    throw e;
                }

                var a = model.SaveChanges();
                return(args);
            }
        }
Exemple #2
0
 protected override void OnInitialized()
 {
     ContractModel = new AddContract();
     ContractModel.Products.Add(new CLPRODUCTModel {
         CATEGORY = ""
     });
     editContext = new EditContext(ContractModel);
 }
Exemple #3
0
        public void SearchCallBack(object sender, SearchCallBack callback)
        {
            MessageBoxResult mbr = MessageBox.Show(string.Format("是否要添加:\n用户:{0}\nID:{1}\n为好友", callback.UserName, callback.UserId), "是否添加为好友?", MessageBoxButton.OKCancel);

            if (mbr == MessageBoxResult.OK)
            {
                AddContract add = new AddContract(LocalId, callback.UserId);
                helper.bw.Write(string.Format("ADD@{0}", DataHelpers.XMLSer <AddContract>(add)));
                helper.bw.Flush();
            }
        }
Exemple #4
0
        private List <ModuleFieldInfo> Conver2FieldInfos(AddContract contract)
        {
            var fieldInfos = new List <ModuleFieldInfo>();

            foreach (var prop in contract.LoanAmount.GetType().GetProperties())
            {
                var name = prop.CustomAttributes.Where(x => x.AttributeType.Name.ToLower() == "ColumnAttribute".ToLower()).FirstOrDefault();
                fieldInfos.Add(new ModuleFieldInfo
                {
                    FieldID   = name == null ? prop.Name : (name.NamedArguments.FirstOrDefault().TypedValue.Value ?? "").ToString(),
                    FieldName = name == null ? prop.Name : (name.NamedArguments.FirstOrDefault().TypedValue.Value ?? "").ToString(),
                    Value     = (prop.GetType().GetField(prop.Name) == null?"": prop.GetType().GetField(prop.Name).ToString())
                });;
                //Console.WriteLine("{0}={1}", prop.Name, prop.GetValue(prop, null));
            }
            var propProducts = contract.Products.GetType().GetProperties().FirstOrDefault();
            var nameProducts = propProducts.CustomAttributes.Where(x => x.AttributeType.Name.ToLower() == "ColumnAttribute".ToLower()).FirstOrDefault();
            var fldProduct   = new ModuleFieldInfo
            {
                FieldID   = nameProducts == null ? propProducts.Name : (nameProducts.NamedArguments.FirstOrDefault().TypedValue.Value ?? "").ToString(),
                FieldName = nameProducts == null ? propProducts.Name : (nameProducts.NamedArguments.FirstOrDefault().TypedValue.Value ?? "").ToString(),
                //Value = (prop.GetType().GetField(prop.Name) == null ? "" : prop.GetType().GetField(prop.Name).ToString())
            };

            foreach (var item in contract.Products)
            {
                foreach (var prop in item.GetType().GetProperties())
                {
                    var name = prop.CustomAttributes.Where(x => x.AttributeType.Name.ToLower() == "ColumnAttribute".ToLower()).FirstOrDefault();

                    fldProduct.FieldChilds.Add(new ModuleFieldInfo
                    {
                        FieldID   = name == null? prop.Name: (name.NamedArguments.FirstOrDefault().TypedValue.Value ?? "").ToString(),
                        FieldName = name == null ? prop.Name : (name.NamedArguments.FirstOrDefault().TypedValue.Value ?? "").ToString(),
                        Value     = (prop.GetType().GetField(prop.Name) == null ? "" : prop.GetType().GetField(prop.Name).ToString())
                    });;
                    //Console.WriteLine("{0}={1}", prop.Name, prop.GetValue(prop, null));
                }
            }
            fieldInfos.Add(fldProduct);
            return(fieldInfos);
        }
Exemple #5
0
        private void ImgAddContract_MouseDown(object sender, MouseButtonEventArgs e)
        {
            AddContract addContract = new AddContract();

            addContract.Show();
        }
Exemple #6
0
        public static void Handle(object sender, string data)
        {
            ServerHandle  server = new ServerHandle();
            IServerHandle ish    = (IServerHandle)server;
            TCPHelper     helper = (TCPHelper)sender;

            string[] d = Data_Init(data);
            switch (d[0])
            {
            case "LOGIN":
                LoginContract login = null;
                try
                {
                    login = WTalk.Helpers.DataHelpers.DeXMLSer <LoginContract>(d[1]);
                }
                catch { }
                LoginCallBack callBack = ish.Login(helper.tcpClient, login);
                if (ShowOnServerWindow != null)
                {
                    if (callBack.LoginStatus == Status.Yes)
                    {
                        UserArgs args = new UserArgs
                        {
                            IP = helper.tcpClient.Client.RemoteEndPoint.ToString(),
                            Id = login.UserId
                        };
                        string log = string.Format("{0}-->Login Success", helper.tcpClient.Client.RemoteEndPoint.ToString());
                        ShowOnServerWindow(null, log);
                        if (LoginHandler != null)
                        {
                            LoginHandler(null, args);
                        }
                    }
                    else
                    {
                        string log = string.Format("{0}-->Login Fail", helper.tcpClient.Client.RemoteEndPoint.ToString());
                        ShowOnServerWindow(null, log);
                    }
                }
                string msg = string.Format("LOGINCALLBACK@{0}", WTalk.Helpers.DataHelpers.XMLSer <LoginCallBack>(callBack));
                helper.SendMessage(msg);
                break;

            case "SIGNUP":
                SignupContract signup = null;
                try
                {
                    signup = DataHelpers.DeXMLSer <SignupContract>(d[1]);
                }
                catch { }
                SignUpCallBack signUpCallBack = ish.Signup(signup);
                if (ShowOnServerWindow != null)
                {
                    string log = string.Format("{0}-->Signup:{1}", helper.tcpClient.Client.RemoteEndPoint.ToString(), signUpCallBack.MoreMsg);
                    //if (callBack.LoginStatus == Status.Yes)
                    //{
                    //    string log = string.Format("{0}-->Signup", helper.tcpClient.Client.RemoteEndPoint.ToString());
                    //    ShowOnServerWindow(null, log);
                    //}
                    //else
                    //{
                    //    string log = string.Format("{0}-->Login Fail", helper.tcpClient.Client.RemoteEndPoint.ToString());
                    //    ShowOnServerWindow(null, log);
                    //}
                    ShowOnServerWindow(null, log);
                }
                helper.SendMessage(string.Format("SIGNUPCALLBACK@{0}", DataHelpers.XMLSer <SignUpCallBack>(signUpCallBack)));
                break;

            case "LOGOUT":
                //string logoutlog = string.Format("{0}-->登出", helper.tcpClient.Client.RemoteEndPoint.ToString());
                //if(ShowOnServerWindow != null)
                //{
                //    ShowOnServerWindow(null, logoutlog);
                //}
                break;

            case "SEARCH":
                SearchContract search = null;
                try
                {
                    search = DataHelpers.DeXMLSer <SearchContract>(d[1]);
                    SearchCallBack back = ish.Search(search);
                    helper.SendMessage(string.Format("SEARCHCALLBACK@{0}", DataHelpers.XMLSer <SearchCallBack>(back)));
                }
                catch
                {
                }
                break;

            case "ADD":
                AddContract add = null;
                try
                {
                    add = DataHelpers.DeXMLSer <AddContract>(d[1]);
                    AddComfirmArgs args = ish.Add(add);
                    if (args.IP != "Offline")
                    {
                        AddHandler(null, args);
                    }
                }
                catch
                {
                    break;
                }
                break;

            case "REMOVE":
                RemoveContract remove = null;
                try
                {
                    remove = DataHelpers.DeXMLSer <RemoveContract>(d[1]);
                    ish.RemoveFriends(remove);
                    if (RemoveFriendHandler != null)
                    {
                        RemoveFriendHandler(null, remove);
                    }
                }
                catch (Exception e)
                {
                    throw e;
                }
                break;

            case "TALK":
                TalkContract talk = new TalkContract();
                try
                {
                    talk = DataHelpers.DeXMLSer <TalkContract>(d[1]);
                    if (TalkHandler != null)
                    {
                        TalkHandler(null, talk);
                    }
                }
                catch
                {
                }
                break;

            case "ADDCONFIRMCALLBACK":
                AddConfirmCallBack accb        = null;
                AddCallBack        addCallBack = null;
                try
                {
                    accb        = DataHelpers.DeXMLSer <AddConfirmCallBack>(d[1]);
                    addCallBack = ish.AddComfirm(accb);
                    if (UpdateFriendListHandler != null)
                    {
                        UpdateFriendListHandler(null, addCallBack);
                    }
                }
                catch
                {
                    break;
                }
                break;

            default:
                break;
            }
        }