public static List <UserReply> GetUserReplys(string guid, string userid, int type, int pageSize, int pageIndex, ref int totalCount, ref int pageCount, int sourcetype = -1, bool ht = false, string keyWords = "")
        {
            string tablename = "UserReply  a left join M_Users b  on a.Guid =b.UserID left join M_Users c  on a.CreateUserID =c.UserID ";
            string sqlwhere  = " a.status<>9 ";

            if (!string.IsNullOrEmpty(keyWords))
            {
                sqlwhere += " and ( b.username like'%" + keyWords + "%' or  c.username like'%" + keyWords + "%')";
            }
            if (!string.IsNullOrEmpty(guid))
            {
                sqlwhere += " and a.guid='" + guid + "' ";
            }
            if (type > -1)
            {
                sqlwhere += " and a.Type=" + type;
            }
            if (!string.IsNullOrEmpty(userid))
            {
                sqlwhere += " and a.CreateUserID='" + userid + "' ";
            }
            if (ht)
            {
                sqlwhere += " and a.guid in(select userid  from M_users where status<>9 and SourceType=1) ";
            }
            if (sourcetype > -1)
            {
                //1后台 0前台
                sqlwhere += " and c.SourceType=" + sourcetype + " ";
            }
            DataTable        dt   = CommonBusiness.GetPagerData(tablename, "a.*,b.LoginName as UserName,b.Avatar as UserAvatar,c.LoginName as FromName,c.Avatar as FromAvatar ", sqlwhere, "a.AutoID ", pageSize, pageIndex, out totalCount, out pageCount);
            List <UserReply> list = new List <UserReply>();

            foreach (DataRow dr in dt.Rows)
            {
                UserReply model = new UserReply();
                model.FillData(dr);
                list.Add(model);
            }
            return(list);
        }
Beispiel #2
0
        public override async Task <UserReply> GetUser(Empty request, ServerCallContext context)
        {
            string userId = _userManager.GetUserId(context.GetHttpContext().User);

            AppUser user = await _dbContext.Users
                           .Include(u => u.Groups)
                           .SingleAsync(u => u.Id == new Guid(userId));

            UserReply reply = new UserReply
            {
                Username = user.UserName,
                Email    = user.Email,
            };

            foreach (UserGroup group in user.Groups)
            {
                reply.GroupNames.Add(group.Name);
            }

            return(reply);
        }
Beispiel #3
0
        static void Main(string[] args)
        {
            // Instantiate class.
            Program P = new Program();

            bool   repeat = false;
            String UserReply;

            do
            {
                Console.WriteLine("  Choose one of the following: ");
                Console.WriteLine("---------------------------------------");
                Console.WriteLine("1 - Statements & Sequences...");
                Console.WriteLine("2 - Conditions & Conditional Statements...");
                Console.WriteLine("3 - Iteration...");
                Console.WriteLine("4 - Arrays...");
                Console.WriteLine("5 - Functions...");
                Console.WriteLine("6 - Classes...");
                Console.WriteLine("7 - Calculator");

                UserReply = P.QuestionUserReply();

                Console.WriteLine("\n" + "  Press Y to run another program. ");

                UserReply = Console.ReadLine();

                if (UserReply.ToUpper() == "Y")
                {
                    repeat = true;
                    Console.WriteLine("\n");
                }
                else
                {
                    repeat = false;
                    Console.WriteLine("Thank You!!!");
                    Console.ReadKey();
                }
            } while (repeat == true);
        }
Beispiel #4
0
        public JsonResult SaveReply(string entity)
        {
            var    result = false;
            string msg    = "提交失败,请稍后再试!";

            if (CurrentUser == null)
            {
                msg = "您尚未登录,请登录后在操作!";
            }
            else
            {
                UserReply model = JsonConvert.DeserializeObject <UserReply>(entity);
                model.FromReplyID     = string.IsNullOrEmpty(model.FromReplyID) ? "" : model.FromReplyID;
                model.FromReplyUserID = string.IsNullOrEmpty(model.FromReplyUserID) ? "" : model.FromReplyUserID;
                result = UserReplyBusiness.CreateUserReply(model.GUID, model.Content, CurrentUser.UserID, model.FromReplyID, model.FromReplyUserID, model.Type);
            }
            JsonDictionary.Add("result", result);
            JsonDictionary.Add("errorMsg", msg);
            return(new JsonResult
            {
                Data = JsonDictionary,
                JsonRequestBehavior = JsonRequestBehavior.AllowGet
            });
        }
Beispiel #5
0
        /// <summary>
        /// 回复
        /// </summary>
        /// <param name="mo">回复信息</param>
        /// <param name="um">消息通知</param>
        /// <returns></returns>
        public ActionResultVM LsitReplySave(UserReply mo, UserMessage um)
        {
            var vm = new ActionResultVM();

            var uinfo = new Func.UserAuthAid(HttpContext).Get();

            if ((uinfo.UserId != 0 && string.IsNullOrWhiteSpace(uinfo.Nickname)) || (uinfo.UserId == 0 && string.IsNullOrWhiteSpace(mo.UrAnonymousName)))
            {
                vm.Set(ARTag.refuse);
                vm.msg = "昵称不能为空";

                return(vm);
            }

            mo.Uid = uinfo.UserId;

            var now = DateTime.Now;

            //回复消息
            um.UmId         = Core.UniqueTo.LongId().ToString();
            um.UmTriggerUid = mo.Uid;
            um.UmType       = Func.EnumAid.MessageType.UserWriting.ToString();
            um.UmTargetId   = mo.UrTargetId;
            um.UmAction     = 2;
            um.UmStatus     = 1;
            um.UmContent    = mo.UrContent;
            um.UmCreateTime = now;

            using (var db = new ContextBase())
            {
                //回复内容
                mo.UrCreateTime = now;
                mo.UrStatus     = 1;
                mo.UrTargetPid  = 0;
                mo.UrTargetType = Func.EnumAid.ReplyType.UserWriting.ToString();

                mo.UrAnonymousLink = Fast.ParsingTo.JsSafeJoin(mo.UrAnonymousLink);

                db.UserReply.Add(mo);

                //回填文章最新回复记录
                var mow = db.UserWriting.FirstOrDefault(x => x.UwId.ToString() == mo.UrTargetId);
                if (mow != null)
                {
                    mow.UwReplyNum += 1;
                    mow.UwLastUid   = mo.Uid;
                    mow.UwLastDate  = now;

                    um.UmTargetIndex = mow.UwReplyNum;

                    db.UserWriting.Update(mow);
                }

                if (um.Uid != um.UmTriggerUid)
                {
                    db.UserMessage.Add(um);
                }

                int num = db.SaveChanges();

                vm.Set(num > 0);
            }

            return(vm);
        }
Beispiel #6
0
        public SharedResultVM LsitReplySave(UserReply mo, UserMessage um)
        {
            var vm = new SharedResultVM();

            vm = Apps.LoginService.CompleteInfoValid(HttpContext);
            if (vm.Code == 200)
            {
                if (!mo.Uid.HasValue || string.IsNullOrWhiteSpace(mo.UrContent) || string.IsNullOrWhiteSpace(mo.UrTargetId))
                {
                    vm.Set(SharedEnum.RTag.lack);
                }
                else
                {
                    var uinfo = Apps.LoginService.Get(HttpContext);
                    mo.Uid = uinfo.UserId;

                    var now = DateTime.Now;

                    //回复消息
                    um.UmId         = UniqueTo.LongId().ToString();
                    um.UmTriggerUid = mo.Uid;
                    um.UmType       = Application.EnumService.MessageType.UserWriting.ToString();
                    um.UmTargetId   = mo.UrTargetId;
                    um.UmAction     = 2;
                    um.UmStatus     = 1;
                    um.UmContent    = mo.UrContent;
                    um.UmCreateTime = now;

                    //回复内容
                    mo.UrCreateTime = now;
                    mo.UrStatus     = 1;
                    mo.UrTargetPid  = 0;
                    mo.UrTargetType = Application.EnumService.ReplyType.UserWriting.ToString();

                    mo.UrAnonymousLink = ParsingTo.JsSafeJoin(mo.UrAnonymousLink);

                    db.UserReply.Add(mo);

                    //回填文章最新回复记录
                    var mow = db.UserWriting.FirstOrDefault(x => x.UwId.ToString() == mo.UrTargetId);
                    if (mow != null)
                    {
                        mow.UwReplyNum += 1;
                        mow.UwLastUid   = mo.Uid;
                        mow.UwLastDate  = now;

                        um.UmTargetIndex = mow.UwReplyNum;

                        db.UserWriting.Update(mow);
                    }

                    if (um.Uid != um.UmTriggerUid)
                    {
                        db.UserMessage.Add(um);
                    }

                    int num = db.SaveChanges();

                    vm.Set(num > 0);
                }
            }

            return(vm);
        }
Beispiel #7
0
        public ActionResultVM LsitReplySave(UserReply mo, UserMessage um)
        {
            var vm = new ActionResultVM();

            var now = DateTime.Now;

            if (HttpContext.User.Identity.IsAuthenticated)
            {
                mo.Uid = new Func.UserAuthAid(HttpContext).Get().UserId;
            }
            else
            {
                mo.Uid = 0;
            }

            //回复消息
            um.UmId         = Core.UniqueTo.LongId().ToString();
            um.UmTriggerUid = mo.Uid;
            um.UmType       = Func.EnumAid.MessageType.UserWriting.ToString();
            um.UmTargetId   = mo.UrTargetId;
            um.UmAction     = 2;
            um.UmStatus     = 1;
            um.UmContent    = mo.UrContent;
            um.UmCreateTime = now;


            using (var db = new ContextBase())
            {
                //回复内容
                mo.UrCreateTime = now;
                mo.UrStatus     = 1;
                mo.UrTargetPid  = 0;
                mo.UrTargetType = Func.EnumAid.ReplyType.UserWriting.ToString();

                db.UserReply.Add(mo);

                //回填文章最新回复记录
                var mow = db.UserWriting.FirstOrDefault(x => x.UwId.ToString() == mo.UrTargetId);
                if (mow != null)
                {
                    mow.UwReplyNum += 1;
                    mow.UwLastUid   = mo.Uid;
                    mow.UwLastDate  = now;

                    um.UmTargetIndex = mow.UwReplyNum;

                    db.UserWriting.Update(mow);
                }

                if (um.Uid != um.UmTriggerUid)
                {
                    db.UserMessage.Add(um);
                }

                int num = db.SaveChanges();

                vm.Set(num > 0);
            }

            return(vm);
        }
        public ServiceResponse <string> SendMessage(string userUniqueId, string message, string messageGroupUniqueId, string yourName)
        {
            try
            {
                bool isReply = false;
                var  context = this.services.GetService(typeof(WebApiDBContext)) as WebApiDBContext;
                if (!string.IsNullOrEmpty(messageGroupUniqueId) && String.IsNullOrEmpty(userUniqueId))
                {
                    var userMessage = context.UserMessage.FirstOrDefault(x => x.MessageGroupUniqueGuid.ToString() == messageGroupUniqueId);
                    if (userMessage == null)
                    {
                        return(new ServiceResponse <string> {
                            Status = "bad", Message = "No Such Message Group Exists!"
                        });
                    }
                    else
                    {
                        userUniqueId = userMessage.UserUniqueId;
                        isReply      = true;
                    }
                }


                var user = context.User.FirstOrDefault(x => x.UserUniqueId == userUniqueId);
                if (user == null)
                {
                    return(new ServiceResponse <string> {
                        Status = "bad", Message = "No Such User Exists,Probably Wrong link to send message!"
                    });
                }

                if (String.IsNullOrEmpty(HttpContext.GetUserUniqueID()) && user.AnonymousNotAllowed)
                {
                    return(new ServiceResponse <string> {
                        Status = "bad", Message = $"Login first, anonymous user cant message to {userUniqueId} account"
                    });
                }

                Inbox msg = new Inbox();
                if (string.IsNullOrEmpty(messageGroupUniqueId))
                {
                    msg.MessageGroupUniqueGuid = Guid.NewGuid();
                    UserMessage um = new UserMessage {
                        UserUniqueId = userUniqueId, MessageGroupUniqueGuid = msg.MessageGroupUniqueGuid
                    };
                    context.UserMessage.Add(um);
                }
                else
                {
                    msg.MessageGroupUniqueGuid = Guid.Parse(messageGroupUniqueId);
                }

                msg.UserUniqueId = userUniqueId;
                msg.Message      = message;
                msg.IsMyMessage  = isReply;
                Random rand = new Random();
                if (string.IsNullOrEmpty(yourName) && !isReply)
                {
                    do
                    {
                        msg.UserIdentifier = yourName ?? $"Anonyms {rand.Next(100, 5000)}";
                    }while (context.Inbox.Any(x => x.UserUniqueId == userUniqueId && x.UserIdentifier == msg.UserIdentifier));
                }
                else if (isReply)
                {
                    msg.UserIdentifier = context.Inbox.FirstOrDefault(x => x.UserUniqueId == userUniqueId && x.MessageGroupUniqueGuid.ToString() == messageGroupUniqueId)?.UserIdentifier;
                }

                context.Inbox.Add(msg);


                if (!isReply)
                {
                    Reply rep = new Reply
                    {
                        UserUniqueId           = HttpContext.GetUserUniqueID(),
                        MessageGroupUniqueGuid = msg.MessageGroupUniqueGuid,
                        Message     = message,
                        IsMyMessage = true
                    };
                    var ur = new UserReply {
                        UserUniqueId = HttpContext.GetUserUniqueID(), MessageGroupUniqueGuid = msg.MessageGroupUniqueGuid
                    };

                    context.UserReply.Add(ur);
                    context.Reply.Add(rep);
                }
                else
                {
                    var userReply = context.UserReply.FirstOrDefault(x => x.MessageGroupUniqueGuid.ToString() == messageGroupUniqueId);
                    if (userReply == null)
                    {
                        return(new ServiceResponse <string> {
                            Status = "bad", Message = "No Such Message Group Exists!"
                        });
                    }

                    Reply rep = new Reply
                    {
                        UserUniqueId           = userReply.UserUniqueId,
                        MessageGroupUniqueGuid = msg.MessageGroupUniqueGuid,
                        Message = message,
                    };
                    context.Reply.Add(rep);
                }

                context.SaveChanges();

                try
                {
                    if (!String.IsNullOrEmpty(user.DeviceId))
                    {
                        string         url     = $"https://fcmsender.herokuapp.com/message/{user.DeviceId}";
                        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
                        request.GetResponseAsync();
                    }
                }
                catch
                {
                }

                return(new ServiceResponse <string> {
                    Status = "good", Data = msg.MessageGroupUniqueGuid.ToString()
                });
            }
            catch (Exception e)
            {
                return(new ServiceResponse <string> {
                    Status = "bad", Message = "Something went wrong"
                });
            }
        }
Beispiel #9
0
 public string GetReplyLink(UserReply reply)
 {
     return(GetPostUrl(reply.IdType, reply.ItemID, (reply.IsPost ? "#listpost" : "#reply") + reply.ReplyID));
 }
Beispiel #10
0
        public ActionResultVM ReplyAdd(UserReply mo, string id)
        {
            var vm = new ActionResultVM();

            try
            {
                var uinfo = new UserAuthAid(HttpContext).Get();

                if (HttpContext.User.Identity.IsAuthenticated)
                {
                    mo.Uid = uinfo.UserId;
                }
                else
                {
                    if (string.IsNullOrWhiteSpace(mo.UrAnonymousName) || !ParsingTo.IsMail(mo.UrAnonymousMail))
                    {
                        vm.Set(ARTag.invalid);
                        vm.msg = "昵称、邮箱不能为空";

                        return(vm);
                    }

                    mo.Uid = 0;
                }

                if (string.IsNullOrWhiteSpace(id))
                {
                    vm.Set(ARTag.invalid);
                }
                else if (string.IsNullOrWhiteSpace(mo.UrContent))
                {
                    vm.Set(ARTag.invalid);
                    vm.msg = "回复内容不能为空";
                }
                else
                {
                    using var db = new ContextBase();
                    var guffmo = db.GuffRecord.Find(id);
                    if (guffmo == null)
                    {
                        vm.Set(ARTag.invalid);
                    }
                    else
                    {
                        mo.Uid          = uinfo.UserId;
                        mo.UrTargetType = EnumAid.ConnectionType.GuffRecord.ToString();
                        mo.UrTargetId   = id;
                        mo.UrCreateTime = DateTime.Now;
                        mo.UrStatus     = 1;
                        mo.UrTargetPid  = 0;

                        mo.UrAnonymousLink = ParsingTo.JsSafeJoin(mo.UrAnonymousLink);

                        db.UserReply.Add(mo);

                        guffmo.GrReplyNum += 1;
                        db.GuffRecord.Update(guffmo);

                        int num = db.SaveChanges();
                        vm.Set(num > 0);
                    }
                }
            }
            catch (Exception ex)
            {
                vm.Set(ex);
                ConsoleTo.Log(ex);
            }

            return(vm);
        }