Example #1
0
        public string Execute(SocketCommandContext context, string token)
        {
            if (!context.IsPrivate)
            {
                return(Translator.InfResctrictInChannel);
            }

            if (!Guid.TryParse(token, out Guid guidToken))
            {
                return(Translator.ErrInvalidToken);
            }

            //Check each Online City Server for this User
            foreach (var ocServerKeyPair in _appContext.DiscrordToOCServer.Where(srv => srv.Value.IsLogined))
            {
                var ocServer = ocServerKeyPair.Value;
                var player   = ocServer.GetPlayerByToken(guidToken);
                if (player != null)
                {
                    OCUser user = _appContext.TryGetOCUser(ocServerKeyPair.Key, context.User.Id);
                    if (user != null)
                    {
                        return(string.Format(Translator.ErrUserTokenExist, user.OCLogin, user.DiscordIdChanel));
                    }

                    user = new OCUser()
                    {
                        DiscordIdChanel = ocServerKeyPair.Key, LastActiveTime = player.LastOnlineTime, OCLogin = player.Login, UserId = context.Message.Author.Id
                    };

                    _appContext.UserOnServers[ocServerKeyPair.Key][context.Message.Author.Id] = user;
                    _userRepository.AddNewItem(user);

                    // to do register user
                    return(string.Format(Translator.InfUserFound, player.Login, ocServer.Chanel2Server.IP));
                }
            }

            return("User not found or server is offline");
        }
Example #2
0
        public async Task <object> AddOrUpdate(int userid, int ocid, bool status)
        {
            try
            {
                var item = await _context.OCUsers.Include(x => x.OC).FirstOrDefaultAsync(x => x.OCID == ocid && x.UserID == userid);

                var user = await _context.Users.FindAsync(userid);

                //Neu user do chuyen  status ve false thi xoa luon
                if (!status && item != null)
                {
                    user.LevelOC = 0;
                    user.OCID    = 0;
                    _context.OCUsers.Remove(item);
                }
                else
                {
                    //Kiem tra xem user do co thuoc phong nao khac khong
                    var item2 = await _context.OCUsers.FirstOrDefaultAsync(x => x.UserID == userid);

                    if (item2 != null && item2.Status)
                    {
                        return new
                               {
                                   status  = false,
                                   message = "The user has already existed in other department!"
                               }
                    }
                    ;
                    else
                    {
                        var ocModel = await _context.OCs.FindAsync(ocid);

                        user.LevelOC = ocModel.Level;
                        user.OCID    = ocid;

                        var oc = new OCUser
                        {
                            OCID   = ocid,
                            UserID = userid,
                            Status = true
                        };
                        _context.OCUsers.Add(oc);
                    }
                }
                await _context.SaveChangesAsync();

                ////Neu chua co thi them moi
                //if (item == null)
                //{

                //    //Kiem tra xem lai xem trong OCUSer da gan user nay cho department nao chua
                //    var item2 = await _context.OCUsers.FirstOrDefaultAsync(x => x.UserID == userid);
                //    if (item2 != null && item2.Status)
                //        return new
                //        {
                //            status = false,
                //            message = "The user has already existed in other department!"
                //        };
                //    user.LevelOC = item.OC.Level;
                //    var oc = new OCUser();
                //    oc.OCID = ocid;
                //    oc.UserID = userid;
                //    oc.Status = true;
                //    user.OCID = ocid;
                //    _context.OCUsers.Add(oc);
                //    await _context.SaveChangesAsync();
                //}//co roi thi update
                //else
                //{
                //    item.Status = !item.Status;
                //    if (item.Status == true)
                //    {
                //        user.OCID = ocid;
                //        user.LevelOC = item.OC.Level;
                //    }
                //    else
                //    {
                //        user.OCID = 0;
                //        user.LevelOC = 0;
                //    }
                //    await _context.SaveChangesAsync();
                //}

                return(new
                {
                    status = true,
                    message = "Successfully!"
                });
            }
            catch (Exception)
            {
                return(new
                {
                    status = false,
                    message = "Error!"
                });
            }
        }
 public void Remove(OCUser oCUser)
 {
     _context.Remove(oCUser);
 }
 public void Update(OCUser oCUser)
 {
     _context.Set <OCUser>().Update(oCUser);
 }
 public void Add(OCUser oCUser)
 {
     _context.Add(oCUser);
 }