Ejemplo n.º 1
0
        public void addUserTest()
        {
            _um.addUser(_admin);
            User user = _um.getUser("admin", "admin");

            Assert.AreEqual("admin", user.UserAccount);
        }
        public void simpleAddUser()
        {
            User u = new User("zahi", "abow");

            ua.addUser(u);
            User u2 = ua.getUser("zahi");

            Assert.AreEqual(u.getUserName(), u2.getUserName());
            Assert.AreEqual(u.getPassword(), u2.getPassword());
        }
Ejemplo n.º 3
0
 public Order(string _OId, string _FId, string _UId, string date)
 {
     OId         = _OId;
     foodOrder   = FoodManager.getFood(_FId, "FId");
     consumer    = UserManager.getUser(_UId, "Id");
     postingDate = Convert.ToDateTime(date);
 }
Ejemplo n.º 4
0
        public ShowData(int i, DataTable dt, List <String> l)
        {
            InitializeComponent();

            if (i == 0)
            {
                dataGridView1.Visible    = true;
                dataGridView1.DataSource = dt;
                this.Size = dataGridView1.Size;
            }
            if (i == 1)
            {
                listBox1.Visible = true;
                foreach (String s in l)
                {
                    String id = s.Substring(0, 5);
                    if (UserManager.getUser(id) != null)
                    {
                        listBox1.Items.Add(s.Replace(id, UserManager.getUser(id).FIRSTNAME + " " + UserManager.getUser(id).LASTNAME));
                    }
                    else
                    {
                        listBox1.Items.Add(s.Replace(id, "Eliminado"));
                    }
                }
                this.Size = listBox1.Size;
            }
        }
Ejemplo n.º 5
0
    public static LinkedList <Order> getUserOrders(string username)
    {
        LinkedList <Order> inventory = new LinkedList <Order>();

        SqlDataReader reader;
        SqlConnection conn;
        SqlCommand    comm;
        string        query = "SELECT OId,Orders.FId,UId,PickedUp from Orders INNER JOIN FoodItems on Orders.FId = FoodItems.FId where Orders.UId=@UId";

        conn = new SqlConnection(connStr);
        comm = new SqlCommand(query, conn);
        comm.Parameters.AddWithValue("@UId", UserManager.getUser(username, "Username").uId);

        try
        {
            conn.Open();
            reader = comm.ExecuteReader();
            while (reader.Read())
            {
                Order item = new Order(reader["OId"].ToString(), reader["FId"].ToString(), reader["UId"].ToString(), reader["PickedUp"].ToString());
                inventory.AddLast(item);
            }
            reader.Close();
            return(inventory);
        }
        catch
        {
            return(null);
        }
        finally
        {
            conn.Close();
        }
    }
Ejemplo n.º 6
0
 public void ConfigNextRewardTime()
 {
     if (nextRewardTime == DateTime.MinValue)
     {
         userId = um.getCurrentUserId();
         token  = um.getCurrentSessionToken();
         Loader.gameObject.SetActive(true);
         UnityThreadHelper.CreateThread(() => {
             User user = um.getUser(userId, token);
             UnityThreadHelper.Dispatcher.Dispatch(() => {
                 Loader.gameObject.SetActive(false);
                 if (user != null)
                 {
                     if (string.IsNullOrEmpty(user.last_bubble_click))
                     {
                         nextRewardTime = DateTime.MinValue;
                     }
                     else
                     {
                         nextRewardTime = Convert.ToDateTime(user.last_bubble_click).ToUniversalTime().AddHours(rewardIntervalHours);
                     }
                 }
                 else
                 {
                     nextRewardTime = DateTime.MinValue;
                 }
                 checkTimer();
             });
         });
     }
     else
     {
         checkTimer();
     }
 }
Ejemplo n.º 7
0
        /// <summary>
        /// Important to check the 'Updated' bool first. Returns the status string for a virtual buddy based on the statistics of the last call of 'Updated'.
        /// </summary>
        /// <param name="includeUsername">Specifies if to include the username in the string. Only required at first sending of packet in session of client.</param>
        internal FriendListArrayPacket BuddyPacket()
        {
            FriendListArrayPacket output = new FriendListArrayPacket();
            bool   Followable            = false;
            string onlineText;

            //containsUser
            if (UserManager.containsUser(userID))
            {
                onlineText = "online";
                if (UserManager.getUser(userID)._Room != null)
                {
                    Followable = true;
                }
            }
            else
            {
                onlineText = lastVisit;
            }
            output.I = userID;
            output.N = userName;
            output.M = mission;
            output.O = onlineText;
            output.F = Followable;
            return(output);
        }
Ejemplo n.º 8
0
        private void OrderInfo_Load(object sender, EventArgs e)
        {
            this.Text     = "Pedido ID " + u.IDENTIFIER;
            textBox1.Text = UserManager.getUserFirstName(u.CREATORUSERID);

            if (u.ORDERTYPE == 0)
            {
                textBox3.Text = "Regular";
            }
            if (u.ORDERTYPE == 1)
            {
                textBox3.Text = "Mesa";
            }

            if (u.TABLE != -1)
            {
                textBox4.Text = u.TABLE + "";
            }
            else
            {
                textBox4.Text = "Nenhuma";
            }
            textBox5.Text = u.DATECREATED;
            foreach (String s in Databases.uncompactList(u.EVENTS))
            {
                String id = s.Substring(0, 5);
                listBox1.Items.Add(s.Replace(id, UserManager.getUser(id).FIRSTNAME + " " + UserManager.getUser(id).LASTNAME));
            }
        }
Ejemplo n.º 9
0
        public void businessGetUser()
        {
            UserManager manager = new UserManager();
            User        user    = manager.getUser("Admin", "Password");

            Assert.IsTrue(user.validate());
            Console.WriteLine("User: " + user.ToString());
        }
Ejemplo n.º 10
0
 public Posts(string _pId, string _title, string _post, string _postdate, string username)
 {
     user        = UserManager.getUser(username, "Username");
     post        = _post;
     pId         = _pId;
     postingDate = Convert.ToDateTime(_postdate);
     title       = _title;
 }
Ejemplo n.º 11
0
 public Posts(string username, string _title, string _post, int _postType)
 {
     user        = UserManager.getUser(username, "Username");
     post        = _post;
     title       = _title;
     postingDate = DateTime.Now;
     postType    = _postType;
 }
Ejemplo n.º 12
0
        public virtual ActionResult Login(LoginViewModel user, string returnUrl = "")
        {
            if (ModelState.IsValid)
            {
                bool isValid = um.LoginUserIsValid(user);
                if (isValid)
                {
                    if (um.ChangeActiveAccount(user))
                    {
                        var modelUser = um.getUser(user.Username, user.Password);

                        var operations = modelUser.Operations.Select(m => m.Name).ToArray();
                        var groups     = modelUser.OperationGroups.Select(g => g.Name).ToArray();

                        CustomPrincipalSerializeModel serializeModel = new CustomPrincipalSerializeModel();
                        serializeModel.UserId     = modelUser.Id;
                        serializeModel.Username   = modelUser.Username;
                        serializeModel.operations = operations;
                        serializeModel.groups     = groups;

                        string userData = JsonConvert.SerializeObject(serializeModel);
                        FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket(
                            1,
                            modelUser.Username,
                            DateTime.Now,
                            DateTime.Now.AddMinutes(15),
                            false,
                            userData);

                        string     encTicket = FormsAuthentication.Encrypt(authTicket);
                        HttpCookie faCookie  = new HttpCookie(FormsAuthentication.FormsCookieName, encTicket);
                        Response.Cookies.Add(faCookie);

                        if (operations.Contains("admin"))
                        {
                            return(RedirectToAction("Index", "User"));
                        }
                        //FormsAuthentication.SetAuthCookie(user.Username, true);

                        return(RedirectToAction("Index", "Home"));
                    }
                    else
                    {
                        ModelState.AddModelError("", "Your account is not active! ");
                    }
                }
                else
                {
                    ModelState.AddModelError("", "Login data is incorrect! ");
                }
            }
            else
            {
                ModelState.AddModelError("", "Error");
            }
            return(View());
        }
Ejemplo n.º 13
0
 public void goOffline()
 {
     foreach (Buddy Buddy in Buddies.Values)
     {
         if (UserManager.containsUser(Buddy.userID))
         {
             ConnectedUser thisBuddy = UserManager.getUser(Buddy.userID);
             thisBuddy.sendData("029" + thisBuddy.Messenger.getUpdates() + "#");
         }
     }
 }
Ejemplo n.º 14
0
 public Food(string _fId, string _foodName, string _foodDesc, int _status, string _condition, string _expiry, string _uId, string _postingDate)
 {
     FId           = _fId;
     FoodName      = _foodName;
     FoodDesc      = _foodDesc;
     Status        = _status;
     FoodCondition = _condition;
     Expiry        = Convert.ToDateTime(_expiry);
     donor         = UserManager.getUser(_uId, "Id");
     PostingDate   = Convert.ToDateTime(_postingDate);
 }
Ejemplo n.º 15
0
 public void changeMission(string newMission)
 {
     foreach (Buddy Buddy in Buddies.Values)
     {
         if (UserManager.containsUser(Buddy.userID))
         {
             ConnectedUser thisBuddy = UserManager.getUser(Buddy.userID);
             ((Buddy)thisBuddy.Messenger.Buddies[User._UserID]).mission = newMission;
             thisBuddy.sendData("029" + thisBuddy.Messenger.getUpdates() + "#");
         }
     }
 }
Ejemplo n.º 16
0
    void updateHeader()
    {
        UserManager um     = new UserManager();
        string      userid = um.getCurrentUserId();
        string      token  = um.getCurrentSessionToken();

        UnityThreadHelper.CreateThread(() => {
            User usr = um.getUser(userid, token);
            if (usr != null)
            {
                Byte[] lnByte = um.getAvatar(usr.avatar);
                UnityThreadHelper.Dispatcher.Dispatch(() => {
                    UserManager.CurrentMoney = usr.money_credit.ToString("N2");
                    UserManager.CurrentWater = usr.bubble_credit.ToString();
                    GameObject.Find("virtual_money").GetComponent <Text>().text = UserManager.CurrentWater;
                    GameObject.Find("solde_euro").GetComponent <Text>().text    = UserManager.CurrentMoney + " " + CurrencyManager.CURRENT_CURRENCY;
                    if (usr.money_credit > 0)
                    {
                        GameObject.Find("Pro").transform.localScale = Vector3.one;
                    }
                    else
                    {
                        GameObject.Find("Pro").transform.localScale = Vector3.zero;
                    }
                    if (UserManager.CurrentAvatarURL != usr.avatar)
                    {
                        Sprite avatar = ImagesManager.getSpriteFromBytes(lnByte);
                        UserManager.CurrentAvatarBytesString = avatar;
                        Image PlayerAvatar  = GameObject.Find("Avatar").GetComponent <Image> ();
                        PlayerAvatar.sprite = avatar;
                    }

                    UserManager.CurrentUsername = usr.username;
                    Text username = GameObject.Find("Text_name").GetComponent <Text> ();
                    username.text = usr.username;
                    PullToRefresh.walletFinished = true;
                    InvokeRepeating("hideAnimation", 0f, 0.5f);
                });
            }
            else
            {
                UnityThreadHelper.Dispatcher.Dispatch(() => {
                    lastResultfinished = true;
                    ongoingfinished    = true;
                    walletFinished     = true;
                    InvokeRepeating("hideAnimation", 0f, 2f);
                    HomeController.GetComponent <HomeController>().enabled = false;
                    HomeController.GetComponent <HomeController>().enabled = true;
                });
            }
        });
    }
    /// <summary>
    /// Zhi Wei Su - 300899450
    /// This method shows information about the user
    /// </summary>
    protected void ShowInfo()
    {
        User user = UserManager.getUser(Session["CurrentUser"].ToString(), "Username");

        lblUsername.InnerText = user.username;
        txtFirstName.Text     = user.firstName;
        ViewState["First"]    = user.firstName;
        txtLastName.Text      = user.lastName;
        ViewState["Last"]     = user.lastName;
        txtEmail.Text         = user.email;
        ViewState["Email"]    = user.email;
        txtPhone.Text         = user.phone;
        ViewState["Phone"]    = user.phone;
    }
Ejemplo n.º 18
0
Archivo: ATSUI.cs Proyecto: lidbit/ATS
 private void button1_Click(object sender, EventArgs e)
 {
     if (listBox1.SelectedIndex != -1)
     {
         Test       t          = (Test)listBox1.Items[(listBox1.SelectedIndex)];
         TestHelper testHelper = new TestHelper(t);
         TestFrame  testframe  = new TestFrame(testHelper, usermanager.getUser("andrew").Id);
         testframe.Show();
     }
     else
     {
         MessageBox.Show("Please select a test from the list");
     }
 }
Ejemplo n.º 19
0
        //TODO
        internal CancelBikeReservationResult CancelReservation(int idUser, int idBike, string reserveCode, string comments)
        {
            UserManager usrManager = new UserManager();
            CancelBikeReservationResult res = new CancelBikeReservationResult();
            BikeDao dao = new BikeDao();
            ReserveDao reDao = new ReserveDao();
            ReserveCancelationDao reCnsDao = new ReserveCancelationDao();

            Reserve reserve = reDao.getReserve(idBike, reserveCode);
            if (reserve == null)
            {
                throw new Exception("Código de reserva inválido");
            }
            else if (reserve.idUser != idUser)
            {
                throw new Exception("La reserva no pertenece a ese usuario.");
            }
            else if (reserve.idState != Constants.STATE_RESERVE_ACTIVE)
            {
                throw new Exception("La reserva no está en un estado válido");
            }
            else if ((DateTime.Now - reserve.creationTime).Minutes > Constants.RESERVE_TIMEOUT)
            {
                res.resCod = 1;
                res.resDesc = "La reserva ha expirado";

                reDao.UpdateStatus(reserve.id, Constants.STATE_RESERVE_EXPIRED);
                reCnsDao.Insert(reserve.id, comments);
                User currentUsr = usrManager.getUser(idUser);
                if (currentUsr.profile == Constants.PROFILE_COMMON)
                {
                    dao.UpdateStatus(idBike, Constants.STATE_BIKE_FREE);
                }
                else if (currentUsr.profile == Constants.PROFILE_STATION)
                {
                    dao.UpdateStatus(idBike, Constants.STATE_BIKE_IN_STATION);
                }

                usrManager.cancelReservation(reserve.idUser);
            }
            else
            {
                dao.UpdateStatus(idBike, Constants.STATE_BIKE_FREE);
                usrManager.cancelReservation(reserve.idUser);
                res.resCod = 0;
            }

            return res;
        }
Ejemplo n.º 20
0
        private User GetUserHttp(string userName, string password)
        {
            UserManager manager = new UserManager();
            User        user    = null;

            try
            {
                user = manager.getUser(userName, password);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
            return(user);
        }
    /// <summary>
    /// The ShowAdminInfo
    /// </summary>
    /// <param name="id">The id<see cref="string"/></param>
    protected void ShowAdminInfo(string id)
    {
        User user = UserManager.getUser(id, "Id");

        if (!user.Equals(null))
        {
            lblUsername.InnerText = user.username;
            txtFirstName.Text     = user.firstName;
            ViewState["First"]    = user.firstName;
            txtLastName.Text      = user.lastName;
            ViewState["Last"]     = user.lastName;
            txtEmail.Text         = user.email;
            ViewState["Email"]    = user.email;
            txtPhone.Text         = user.phone;
            ViewState["Phone"]    = user.phone;
            lnkEditPass.Visible   = false;
        }
    }
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!Page.IsPostBack)
     {
         if (UserManager.getUser(Session["CurrentUser"].ToString(), "Username").privilege == 1)
         {
             ShowFoodListAll();
             PageSetup(true, true, false, false, "DONATED FOOD LIST - Admin View", "Admin List. Edit or Delete an item.");
         }
         else
         {
             ShowFoodList();
             DisplayHealthVideos();
             DisplayHealthTips();
             PageSetup(false, false, true, true, "DONATED FOOD LIST", "Request a listed food item below!");
         }
     }
 }
 protected void Page_Init(object sender, EventArgs e)
 {
     if (!Page.IsPostBack)
     {
         User currentUser = new User();
         if (HttpContext.Current.User.Identity.IsAuthenticated && Session["CurrentUser"] != null)
         {
             string user = HttpContext.Current.User.Identity.Name;
             lblUser.Text  = user;
             currentUser   = UserManager.getUser(user, "Username");
             lblUser.Text  = currentUser.username;
             lblEmail.Text = currentUser.email;
             setPage(currentUser.privilege);
         }
         else
         {
             Response.Redirect("Login.aspx");
         }
     }
 }
    /// <summary>
    /// Zhi Wei Su 300899450
    /// Siyanthan Vijithamparanathan - 300925200
    /// This method inserts a new row into the Orders table when clicked
    /// This method also checks if the user is picking up their own item
    /// </summary>
    protected void PickUpItem()
    {
        //Add FoodItem to orders and remove from foodItem Listing page
        User donor    = UserManager.getUser(txtDonor.InnerText, "Username");
        User consumer = UserManager.getUser(Session["CurrentUser"].ToString(), "Username");

        if (donor.uId == consumer.uId)
        {
            showPopup(
                "Error",
                "You cannot pickup your own food.",
                "CANCEL"
                );
        }
        else
        {
            OrderManager.addOrder(new Order(hiddenFoodId.Value, consumer.uId));
            FoodManager.updateFoodStatus(hiddenFoodId.Value, 0);
            ShowFoodList();
        }
    }
    /// <summary>
    /// The LoadData
    /// </summary>
    private void LoadData()
    {
        string sucess = Request.QueryString["sucess"];
        string id     = Request.QueryString["id"];

        if (sucess == "true")
        {
            txtPopup.InnerText        = "Successful!";
            txtPopupText.InnerText    = "Your password has been changed!";
            hiddenFoodSelection.Value = "OK";
            ClientScript.RegisterStartupScript(this.GetType(), "Pop", "openPopup();", true);
            ShowInfo();
        }
        else
        {
            if (UserManager.getUser(Session["CurrentUser"].ToString(), "Username").privilege == 0)
            {
                if (id == null)
                {
                    ShowInfo();
                }
                else
                {
                    Response.Redirect("EditPassword.aspx");
                }
            }
            else
            {
                if (id == null)
                {
                    ShowInfo();
                }
                else
                {
                    ShowAdminInfo(id);
                }
            }
        }
    }
Ejemplo n.º 26
0
        internal FriendListArrayPacket[] friendListInit()
        {
            int[] userIDs = UserManager.getUserFriendIDs(userID);
            FriendListArrayPacket[] Buddylist = new FriendListArrayPacket[userIDs.Length];
            Buddy Me = new Buddy(userID, User._Username, User._MessengerMission, "");

            for (int i = 0; i < userIDs.Length; i++)
            {
                string[] buddyInfo = MySQL.runReadRow("SELECT username, messenger, last_online FROM members WHERE id = '" + userIDs[i] + "'");
                Buddy    Buddy     = new Buddy(userIDs[i], buddyInfo[0], buddyInfo[1], buddyInfo[2]);
                try
                {
                    if (UserManager.containsUser(Buddy.userID))
                    {
                        UserManager.getUser(userIDs[i]).Messenger.addBuddy(Me);
                    }
                    Buddies.Add(userIDs[i], Buddy);
                }
                catch { }
                Buddylist[i] = Buddy.BuddyPacket();
            }
            return(Buddylist);
        }
    /// <summary>
    /// Zhi Wei Su - 300899450
    /// This method updates information about the user
    /// </summary>
    /// <param name="firstName">The firstName<see cref="string"/></param>
    /// <param name="lastName">The lastName<see cref="string"/></param>
    /// <param name="email">The email<see cref="string"/></param>
    /// <param name="phone">The phone<see cref="string"/></param>
    protected void UpdateProfile(string firstName, string lastName, string email, string phone)
    {
        string username = Session["CurrentUser"].ToString();

        if (UserManager.getUser(username, "Username").privilege == 0)
        {
            User currentUser = UserManager.getUser(username, "Username");
            currentUser.firstName = firstName;
            currentUser.lastName  = lastName;
            currentUser.email     = email;
            currentUser.phone     = phone;
            UserManager.UpdateUser(currentUser);
        }
        else
        {
            username = Request.QueryString["id"];
            User currentUser = UserManager.getUser(username, "Username");
            currentUser.firstName = firstName;
            currentUser.lastName  = lastName;
            currentUser.email     = email;
            currentUser.phone     = phone;
            UserManager.UpdateUser(currentUser);
        }
    }
Ejemplo n.º 28
0
    public static LinkedList <Food> getUserFoodList(string username)
    {
        LinkedList <Food> inventory = new LinkedList <Food>();

        SqlDataReader reader;
        SqlConnection conn;
        SqlCommand    comm;
        string        query = "SELECT FoodItems.FId, FoodItems.FoodName, FoodItems.FoodDesc, FoodItems.Status, FoodItems.FoodCondition, FoodItems.Expiry, FoodItems.Id, FoodItems.PostingDate " +
                              "FROM FoodItems INNER JOIN USERS ON FoodItems.Id = USERS.Id WHERE (FoodItems.Status = 1) AND FoodItems.Id=@UId";

        conn = new SqlConnection(connStr);
        comm = new SqlCommand(query, conn);
        comm.Parameters.AddWithValue("@UId", UserManager.getUser(username, "UserName").uId);

        try
        {
            conn.Open();
            reader = comm.ExecuteReader();
            while (reader.Read())
            {
                Food item = new Food(reader["FId"].ToString(), reader["FoodName"].ToString(), reader["FoodDesc"].ToString(), Int32.Parse(reader["Status"].ToString()),
                                     reader["FoodCondition"].ToString(), reader["Expiry"].ToString(), reader["Id"].ToString(), reader["PostingDate"].ToString());
                inventory.AddLast(item);
            }
            reader.Close();
            return(inventory);
        }
        catch
        {
            return(null);
        }
        finally
        {
            conn.Close();
        }
    }
Ejemplo n.º 29
0
    void show()
    {
        SceneManager.LoadScene("Loader", LoadSceneMode.Additive);
        GamesManager.LoadIcon();
        bool isFinished = false;

        Items = new ArrayList();
        string UserId = usermanager.getCurrentUserId();
        string token  = usermanager.getCurrentSessionToken();

        UnityThreading.ActionThread thread;
        StartCoroutine(CheckItems());
        thread = UnityThreadHelper.CreateThread(() => {
            User user = usermanager.getUser(UserId, token);
            Items     = challengeManager.getChallengesUserResults(token);
            UnityThreadHelper.Dispatcher.Dispatch(() => {
                nbGameWon.text       = user.victories_count.ToString();
                nbGameWonInARow.text = user.victories_streak.ToString();
                if (Items != null)
                {
                    foreach (Challenge item in Items)
                    {
                        if ((item.status == "finished" || item.status == "see results for user 1" || item.status == "see results for user 2" || item.status == "results pending"))
                        {
                            proItems.Add(item);
                        }
                    }
                }
                foreach (Challenge item in proItems)
                {
                    //JSONNode Result = challengeManager.getChallengeResult (item.ChallengeId);
                    if ((item.user_1_score != null && item.user_2_score != null) || item.status == "results pending")
                    {
                        GameObject newItem = Instantiate(ListItemPrefab) as GameObject;
                        HistoryListItemController controller = newItem.GetComponent <HistoryListItemController> ();
                        GamesManager game = new GamesManager();
                        thread            = UnityThreadHelper.CreateThread(() => {
                            UnityThreadHelper.Dispatcher.Dispatch(() => {
                                float?adv2score, adv1score;
                                adv1score = item.user_1_score;
                                adv2score = item.user_2_score;
                                controller.GameName.text    = item.game.name;
                                controller.Date.text        = DateTime.Parse(item.CreatedAt).ToString("yyyy/MM/dd HH:mm:ss");
                                controller.ChallengeID.text = "ID: " + item._id;
                                controller.Icon.sprite      = GamesManager.CurrentIcon;
                                controller.showResult.onClick.AddListener(() => {
                                    float?scoreUser1 = null;
                                    float?scoreUser2 = null;
                                    SceneManager.LoadScene("Loader", LoadSceneMode.Additive);
                                    ChallengeManager.CurrentChallengeId = newItem.transform.GetChild(4).gameObject.GetComponent <Text> ().text.Substring(4);
                                    UnityThreadHelper.CreateThread(() => {
                                        ChallengeManager cm = new ChallengeManager();
                                        var challengeResult = cm.getChallengebyId(ChallengeManager.CurrentChallengeId, token);
                                        try{
                                            if (String.IsNullOrEmpty(challengeResult["data"]["user_1_score"].Value))
                                            {
                                                scoreUser1 = null;
                                            }
                                            else
                                            {
                                                scoreUser1 = challengeResult["data"]["user_1_score"].AsFloat;
                                            }
                                        }catch (NullReferenceException ex) {
                                            scoreUser1 = null;
                                        }
                                        try{
                                            if (String.IsNullOrEmpty(challengeResult["data"]["user_2_score"].Value))
                                            {
                                                scoreUser2 = null;
                                            }
                                            else
                                            {
                                                scoreUser2 = challengeResult["data"]["user_2_score"].AsFloat;
                                            }
                                        }catch (NullReferenceException ex) {
                                            scoreUser2 = null;
                                        }
                                        UnityThreadHelper.Dispatcher.Dispatch(() => {
                                            SceneManager.UnloadScene("Loader");
                                            //TODO
                                            if (scoreUser2 == null || scoreUser1 == null)
                                            {
                                                SceneManager.LoadScene("ResultWaiting", LoadSceneMode.Additive);
                                            }
                                            else
                                            {
                                                //matched_user_1 is the Current user
                                                if (challengeResult["data"]["matched_user_1"]["_id"].Value == UserId && scoreUser1 > scoreUser2)
                                                {
                                                    SceneManager.LoadScene("ResultWin", LoadSceneMode.Additive);
                                                }
                                                else if (challengeResult["data"]["matched_user_1"]["_id"].Value == UserId && scoreUser1 < scoreUser2)
                                                {
                                                    SceneManager.LoadScene("ResultLose", LoadSceneMode.Additive);
                                                }
                                                //matched_user_2 is the Current user
                                                else if (challengeResult["data"]["matched_user_2"]["_id"].Value == UserId && scoreUser1 < scoreUser2)
                                                {
                                                    SceneManager.LoadScene("ResultWin", LoadSceneMode.Additive);
                                                }
                                                else if (challengeResult["data"]["matched_user_2"]["_id"].Value == UserId && scoreUser1 > scoreUser2)
                                                {
                                                    SceneManager.LoadScene("ResultLose", LoadSceneMode.Additive);
                                                }
                                                //equality Result
                                                else if (scoreUser1 == scoreUser2)
                                                {
                                                    SceneManager.LoadScene("ResultEquality", LoadSceneMode.Additive);
                                                }
                                            }
                                        });
                                    });
                                });
                                if (item.gain_type == ChallengeManager.CHALLENGE_WIN_TYPE_CASH)
                                {
                                    if (item.status == "results pending")
                                    {
                                        switch (item.gain)
                                        {
                                        case "2":
                                            controller.Gain.text = "-" + ChallengeManager.FEE_1V1_PRO_CONFIDENT.ToString("N2") + CurrencyManager.CURRENT_CURRENCY;
                                            break;

                                        case "5":
                                            controller.Gain.text = "-" + ChallengeManager.FEE_1V1_PRO_CHAMPION.ToString("N2") + CurrencyManager.CURRENT_CURRENCY;
                                            break;

                                        case "10":
                                            controller.Gain.text = "-" + ChallengeManager.FEE_1V1_PRO_LEGEND.ToString("N2") + CurrencyManager.CURRENT_CURRENCY;
                                            break;
                                        }
                                        controller.Gain.color = new Color(129 / 255f, 130 / 255f, 170 / 255f);
                                    }
                                    else if (item.matched_user_1._id == usermanager.getCurrentUserId() && adv1score > adv2score)
                                    {
                                        controller.Gain.text = "+" + float.Parse(item.gain).ToString("N2") + CurrencyManager.CURRENT_CURRENCY;
                                        GameObject newItem1  = Instantiate(ListItemPrefab) as GameObject;
                                        HistoryListItemController controller1 = newItem1.GetComponent <HistoryListItemController> ();
                                        switch (item.gain)
                                        {
                                        case "2":
                                            controller1.Gain.text = "-" + ChallengeManager.FEE_1V1_PRO_CONFIDENT.ToString("N2") + CurrencyManager.CURRENT_CURRENCY;
                                            break;

                                        case "5":
                                            controller1.Gain.text = "-" + ChallengeManager.FEE_1V1_PRO_CHAMPION.ToString("N2") + CurrencyManager.CURRENT_CURRENCY;
                                            break;

                                        case "10":
                                            controller1.Gain.text = "-" + ChallengeManager.FEE_1V1_PRO_LEGEND.ToString("N2") + CurrencyManager.CURRENT_CURRENCY;
                                            break;
                                        }
                                        //TODO
                                        //controller1.Icon.sprite = newSprite1;
                                        controller1.GameName.text             = item.game.name;
                                        controller1.Icon.sprite               = GamesManager.CurrentIcon;
                                        controller1.Date.text                 = DateTime.Parse(item.CreatedAt).ToString("yyyy/MM/dd HH:mm:ss");
                                        controller1.ChallengeID.text          = "ID: " + item._id;
                                        controller1.Gain.color                = new Color(129 / 255f, 130 / 255f, 170 / 255f);
                                        newItem1.transform.parent             = ContentPanelPro.transform;
                                        RectTransform myLayoutElement1        = newItem1.GetComponent <RectTransform> ();
                                        myLayoutElement1.sizeDelta            = new Vector2(391, 60);
                                        myLayoutElement1.transform.localScale = Vector3.one;
                                    }
                                    else if (item.matched_user_2._id == usermanager.getCurrentUserId() && adv2score > adv1score)
                                    {
                                        controller.Gain.text = "+" + float.Parse(item.gain).ToString("N2") + CurrencyManager.CURRENT_CURRENCY;
                                        GameObject newItem2  = Instantiate(ListItemPrefab) as GameObject;
                                        HistoryListItemController controller2 = newItem2.GetComponent <HistoryListItemController> ();
                                        switch (item.gain)
                                        {
                                        case "2":
                                            controller2.Gain.text = "-" + ChallengeManager.FEE_1V1_PRO_CONFIDENT.ToString("N2") + CurrencyManager.CURRENT_CURRENCY;
                                            break;

                                        case "5":
                                            controller2.Gain.text = "-" + ChallengeManager.FEE_1V1_PRO_CHAMPION.ToString("N2") + CurrencyManager.CURRENT_CURRENCY;
                                            break;

                                        case "10":
                                            controller2.Gain.text = "-" + ChallengeManager.FEE_1V1_PRO_LEGEND.ToString("N2") + CurrencyManager.CURRENT_CURRENCY;
                                            break;
                                        }
                                        //TODO
                                        //controller2.Icon.sprite = newSprite1;
                                        controller2.GameName.text             = item.game.name;
                                        controller2.Icon.sprite               = GamesManager.CurrentIcon;
                                        controller2.Date.text                 = DateTime.Parse(item.CreatedAt).ToString("yyyy/MM/dd HH:mm:ss");
                                        controller2.ChallengeID.text          = "ID: " + item._id;
                                        controller2.Gain.color                = new Color(129 / 255f, 130 / 255f, 170 / 255f);
                                        newItem2.transform.parent             = ContentPanelPro.transform;
                                        RectTransform myLayoutElement2        = newItem2.GetComponent <RectTransform> ();
                                        myLayoutElement2.sizeDelta            = new Vector2(391, 60);
                                        myLayoutElement2.transform.localScale = Vector3.one;
                                    }
                                    else
                                    {
                                        switch (item.gain)
                                        {
                                        case "2":
                                            controller.Gain.text = "-" + ChallengeManager.FEE_1V1_PRO_CONFIDENT.ToString("N2") + CurrencyManager.CURRENT_CURRENCY;
                                            break;

                                        case "5":
                                            controller.Gain.text = "-" + ChallengeManager.FEE_1V1_PRO_CHAMPION.ToString("N2") + CurrencyManager.CURRENT_CURRENCY;
                                            break;

                                        case "10":
                                            controller.Gain.text = "-" + ChallengeManager.FEE_1V1_PRO_LEGEND.ToString("N2") + CurrencyManager.CURRENT_CURRENCY;
                                            break;
                                        }
                                        controller.Gain.color = new Color(129 / 255f, 130 / 255f, 170 / 255f);
                                    }
                                }
                                else
                                {
                                    if (item.status == "results pending")
                                    {
                                        switch (item.gain)
                                        {
                                        case "2":
                                            controller.Gain.text = "-" + ChallengeManager.FEE_1V1_BUBBLES_CONFIDENT + " Bubble";
                                            break;

                                        case "6":
                                            controller.Gain.text = "-" + ChallengeManager.FEE_1V1_BUBBLES_CHAMPION + " Bubbles";
                                            break;

                                        case "10":
                                            controller.Gain.text = "-" + ChallengeManager.FEE_1V1_BUBBLES_LEGEND + " Bubbles";
                                            break;
                                        }
                                        controller.Gain.color = new Color(129 / 255f, 130 / 255f, 170 / 255f);
                                    }
                                    else
                                    {
                                        if (item.matched_user_1._id == usermanager.getCurrentUserId() && adv1score > adv2score)
                                        {
                                            controller.Gain.text = "+" + item.gain + " Bubbles";
                                            GameObject newItem3  = Instantiate(ListItemPrefab) as GameObject;
                                            HistoryListItemController controller3 = newItem3.GetComponent <HistoryListItemController> ();
                                            switch (item.gain)
                                            {
                                            case "2":
                                                controller3.Gain.text = "-" + ChallengeManager.FEE_1V1_BUBBLES_CONFIDENT + " Bubble";
                                                break;

                                            case "6":
                                                controller3.Gain.text = "-" + ChallengeManager.FEE_1V1_BUBBLES_CHAMPION + " Bubbles";
                                                break;

                                            case "10":
                                                controller3.Gain.text = "-" + ChallengeManager.FEE_1V1_BUBBLES_LEGEND + " Bubbles";
                                                break;
                                            }
                                            //TODO
                                            //controller3.Icon.sprite = newSprite1;
                                            controller3.GameName.text             = item.game.name;
                                            controller3.Icon.sprite               = GamesManager.CurrentIcon;
                                            controller3.Date.text                 = DateTime.Parse(item.CreatedAt).ToString("yyyy/MM/dd HH:mm:ss");
                                            controller3.ChallengeID.text          = "ID: " + item._id;
                                            controller3.Gain.color                = new Color(129 / 255f, 130 / 255f, 170 / 255f);
                                            newItem3.transform.parent             = ContentPanelPro.transform;
                                            RectTransform myLayoutElement3        = newItem3.GetComponent <RectTransform> ();
                                            myLayoutElement3.sizeDelta            = new Vector2(391, 60);
                                            myLayoutElement3.transform.localScale = Vector3.one;
                                        }
                                        else if (item.matched_user_2._id == usermanager.getCurrentUserId() && adv2score > adv1score)
                                        {
                                            controller.Gain.text = "+" + item.gain + " Bubbles";
                                            GameObject newItem4  = Instantiate(ListItemPrefab) as GameObject;
                                            HistoryListItemController controller4 = newItem4.GetComponent <HistoryListItemController> ();
                                            switch (item.gain)
                                            {
                                            case "2":
                                                controller4.Gain.text = "-" + ChallengeManager.FEE_1V1_BUBBLES_CONFIDENT + " Bubble";
                                                break;

                                            case "6":
                                                controller4.Gain.text = "-" + ChallengeManager.FEE_1V1_BUBBLES_CHAMPION + " Bubbles";
                                                break;

                                            case "10":
                                                controller4.Gain.text = "-" + ChallengeManager.FEE_1V1_BUBBLES_LEGEND + " Bubbles";
                                                break;
                                            }
                                            //TODO
                                            //controller4.Icon.sprite = newSprite1;
                                            controller4.GameName.text             = item.game.name;
                                            controller4.Date.text                 = DateTime.Parse(item.CreatedAt).ToString("yyyy/MM/dd HH:mm:ss");
                                            controller4.ChallengeID.text          = "ID: " + item._id;
                                            controller4.Icon.sprite               = GamesManager.CurrentIcon;
                                            controller4.Gain.color                = new Color(129 / 255f, 130 / 255f, 170 / 255f);
                                            newItem4.transform.parent             = ContentPanelPro.transform;
                                            RectTransform myLayoutElement4        = newItem4.GetComponent <RectTransform> ();
                                            myLayoutElement4.sizeDelta            = new Vector2(391, 60);
                                            myLayoutElement4.transform.localScale = Vector3.one;
                                        }
                                        else
                                        {
                                            switch (item.gain)
                                            {
                                            case "2":
                                                controller.Gain.text = "-" + ChallengeManager.FEE_1V1_BUBBLES_CONFIDENT + " Bubble";
                                                break;

                                            case "6":
                                                controller.Gain.text = "-" + ChallengeManager.FEE_1V1_BUBBLES_CHAMPION + " Bubbles";
                                                break;

                                            case "10":
                                                controller.Gain.text = "-" + ChallengeManager.FEE_1V1_BUBBLES_LEGEND + " Bubbles";
                                                break;
                                            }
                                            controller.Gain.color = new Color(129 / 255f, 130 / 255f, 170 / 255f);
                                        }
                                    }
                                }
                            });
                        });
                        newItem.transform.parent             = ContentPanelPro.transform;
                        RectTransform myLayoutElement        = newItem.GetComponent <RectTransform> ();
                        myLayoutElement.sizeDelta            = new Vector2(391, 60);
                        myLayoutElement.transform.localScale = Vector3.one;
                    }
                }
                SceneManager.UnloadSceneAsync("Loader");
            });
        });
    }
Ejemplo n.º 30
0
    // Use this for initialization
    void Start()
    {
        ProfilLastResultListController.profileSceneOpened = true;
        Texture2D       txtAvatar = new Texture2D(1, 1);
        Sprite          newSpriteAvatar;
        Texture2D       txtDrapeau = new Texture2D(1, 1);
        Sprite          newSpriteDrapeau;
        WithdrawManager wm = new WithdrawManager();

        UnityThreading.ActionThread thread;
        Loading.SetActive(true);
        string token         = um.getCurrentSessionToken();
        string userId        = um.getCurrentUserId();
        string accountStatus = "";

        thread = UnityThreadHelper.CreateThread(() => {
            if (PlayerId == userId)
            {
                accountStatus = wm.accountVerificationStatus(token);
            }
            User player      = um.getUser(PlayerId, token);
            string Vectoires = player.victories_count.ToString();
            //Debug.Log("Vectoires " +Vectoires);
            string SerieVectoires = player.victories_streak.ToString();
            //Debug.Log("SerieVectoires " + SerieVectoires);
            UnityThreadHelper.Dispatcher.Dispatch(() => {
                Loading.SetActive(false);
                if (PlayerId != userId)
                {
                    changeAvatar.interactable = false;
                    avatar.sprite             = Avatar;
                }
                else
                {
                    avatar.sprite = UserManager.CurrentAvatarBytesString;
                    if (accountStatus == WithdrawManager.ACCOUNT_VERIFICATION_STATUS_PENDING)
                    {
                        pending.SetActive(true);
                    }
                    else if (accountStatus == WithdrawManager.ACCOUNT_VERIFICATION_STATUS_VERIFIED)
                    {
                        verified.SetActive(true);
                    }
                    else
                    {
                        unverified.SetActive(true);
                    }
                }
                //Set User Name
                username.text = player.username;
                //Set User pro label
                try{
                    if (player.money_credit > 0)
                    {
                        pro.gameObject.SetActive(true);
                    }
                    else
                    {
                        pro.gameObject.SetActive(false);
                    }
                }catch (FormatException ex) {
                    if (player.money_credit > 0)
                    {
                        pro.gameObject.SetActive(true);
                    }
                    else
                    {
                        pro.gameObject.SetActive(false);
                    }
                }
                //set User Drapeau
                Byte[] img1 = Convert.FromBase64String(um.GetFlagByte(player.country_code));
                txtDrapeau.LoadImage(img1);
                newSpriteDrapeau = Sprite.Create(txtDrapeau as Texture2D, new Rect(0f, 0f, txtDrapeau.width, txtDrapeau.height), Vector2.zero);
                drapeau.sprite   = newSpriteDrapeau;
                //set Games Won
                nbGameWon.text = Vectoires;
                //set nb Game Won In a Row
                nbGameWonInARow.text = SerieVectoires;
            });
        });
    }
Ejemplo n.º 31
0
        public override void Handle(virtualUser User)
        {
            try
            {
                int     Operation = Convert.ToInt32(getBlock(0));
                Subtype sub       = (Subtype)Operation;
                switch (sub)
                {
                case Subtype.FriendList:
                {
                    //32256 1 5606 3 <- [Count] 0 FrostyPrime 1 0 1 SiroSick 1 0 -1 tishina 1 4
                    User.LoadFriends();
                    User.send(new SP_MESSENGER_FRIENDS(User));
                    break;
                }

                case Subtype.SendMessage:
                {
                    string nickname = getBlock(1), message = "";
                    if (nickname.Length > 0 && nickname.Length <= 32)
                    {
                        message = getBlock(2).Trim();         // Remove unused spaces. (Just incase)

                        virtualUser friend = UserManager.getUser(nickname);
                        if (friend != null)
                        {
                            virtualMessenger vm = User.getFriend(nickname);

                            if (vm != null && (vm.Status == 0 || vm.Status == 1))
                            {
                                User.send(new SP_MESSENGER_MESSAGE(User.Nickname, friend.Nickname, message));
                                friend.send(new SP_MESSENGER_MESSAGE(User.Nickname, friend.Nickname, message));
                            }
                        }
                    }
                    break;
                }

                case Subtype.AvaialbleToChat:
                {
                    string nickname = getBlock(1);
                    if (nickname.Length > 0 && nickname.Length <= 32)
                    {
                        virtualMessenger vm         = User.getFriend(nickname);
                        virtualUser      tempClient = UserManager.getUser(nickname);
                        bool             ChatAble   = false;
                        if (tempClient != null)
                        {
                            ChatAble = true;
                        }
                        if (vm != null && (vm.Status == 0 || vm.Status == 1) && ChatAble)
                        {
                            User.send(new PacketUnknown(32256, 1, 5609, vm.Nickname, 0));
                        }
                    }
                    break;
                }

                case Subtype.BlockUnblock:
                {
                    string nickname = getBlock(1);
                    if (nickname.Length > 0 && nickname.Length <= 32)
                    {
                        int FriendID = Convert.ToInt32(DB.runReadRow("SELECT id FROM users WHERE nickname='" + DB.Stripslash(nickname) + "'")[0]);
                        if (FriendID > 0)
                        {
                            virtualMessenger v = User.getFriend(FriendID);

                            if (v.Status == 1)
                            {
                                v.Status = 2;
                            }
                            else if (v.Status == 2)
                            {
                                v.Status = 1;
                            }

                            DB.runQuery("UPDATE friends SET status='" + v.Status + "' WHERE id1='" + FriendID + "' AND id2='" + User.UserID + "' OR id1='" + User.UserID + "' AND id2='" + FriendID + "'");

                            virtualUser friend = UserManager.getUser(FriendID);
                            if (friend != null)
                            {
                                friend.send(new SP_MESSENGER_FRIENDS(friend));

                                virtualMessenger u2 = User.getFriend(FriendID);
                                if (u2 != null)
                                {
                                    u2.Status = v.Status;
                                }
                            }

                            User.send(new SP_MESSENGER_FRIENDS(User));
                        }
                    }
                    break;
                }

                case Subtype.DeleteFriend:
                {
                    string   Nickname = getBlock(1);
                    string[] Query    = DB.runReadRow("SELECT id FROM users WHERE nickname='" + Nickname + "'");
                    if (Query.Length > 0)
                    {
                        int FriendID = Convert.ToInt32(Query[0]);
                        if (FriendID > 0)
                        {
                            DB.runQuery("DELETE FROM friends WHERE id1='" + FriendID + "' AND id2='" + User.UserID + "' OR id1='" + User.UserID + "' AND id2='" + FriendID + "'");

                            virtualUser friend = UserManager.getUser(FriendID);
                            if (friend != null)
                            {
                                friend.Friends.Remove(User.UserID);
                                friend.send(new SP_MESSENGER_FRIENDS(User));
                            }

                            User.Friends.Remove(FriendID);
                            User.send(new SP_MESSENGER_FRIENDS(User));
                        }
                    }
                    break;
                }
                //case Subtype.FriendRequest:
                //    {
                //        string Nickname = getBlock(1);
                //        string[] SearchUser = DB.runReadRow("SELECT id FROM users WHERE nickname='" + Nickname + "'");
                //        if (SearchUser.Length > 0 && SearchUser[0] != User.UserID.ToString())
                //        {
                //            if (User.UserID == -1 || SearchUser[0] == "-1") return;
                //            DB.runQuery("INSERT INTO friends (id1, id2, requesterid, status) VALUES ('" + User.UserID + "', '" + SearchUser[0] + "', '" + User.UserID + "', '5')");
                //            virtualUser Friend = Managers.UserManager.getUser(Nickname);

                //            User.send(new SP_FRIEND_REQUEST(User.Nickname, Nickname));

                //            if (Friend != null)
                //            {
                //                User.send(new SP_FRIEND_REQUEST(User.Nickname, Nickname));
                //            }
                //            User.LoadFriends();
                //            User.send(new SP_MESSENGER_FRIENDS(User));
                //        }
                //        else
                //        {
                //            User.send(new PacketUnknown(32256, -11));
                //            //User.send(new SP_WARROCK_MESSENGER(SP_WARROCK_MESSENGER.Subtype.InvalidNickname));
                //        }
                //        break;
                //    }
                case Subtype.FriendRequest:
                {
                    string   Nickname   = getBlock(1);
                    string[] SearchUser = DB.runReadRow("SELECT id FROM users WHERE nickname='" + Nickname + "'");
                    if (SearchUser.Length > 0 && SearchUser[0] != User.UserID.ToString())
                    {
                        DB.runQuery("INSERT INTO friends (id1, id2, requesterid, status) VALUES ('" + User.UserID + "', '" + SearchUser[0] + "', '" + User.UserID + "', '5')");
                        virtualUser Friend = Managers.UserManager.getUser(Nickname);

                        User.send(new SP_FRIEND_REQUEST(User.Nickname, Nickname));

                        if (Friend != null)
                        {
                            User.send(new SP_FRIEND_REQUEST(User.Nickname, Nickname));
                        }
                        User.LoadFriends();
                        User.send(new SP_MESSENGER_FRIENDS(User));
                    }
                    else
                    {
                        User.send(new PacketUnknown(32256, -11));
                    }
                    break;
                }
                //case Subtype.FriendRequest:
                //    {
                //        //32256 1 5615 xK1llSt3am Realiity <- Server
                //        string Nickname = getBlock(1);
                //        string[] SearchUser = DB.runReadRow("SELECT id, nickname FROM users WHERE nickname='" + Nickname + "'");
                //        if (SearchUser.Length > 0 && SearchUser[0] != User.UserID.ToString())
                //        {
                //            int FriendID = Convert.ToInt32(SearchUser[0]);
                //            if (FriendID > 0)
                //            {
                //                if (User.UserID == -1 || FriendID <= 0) return;
                //                DB.runQuery("INSERT INTO friends (id1, id2, requesterid, status, nick1, nick2) VALUES ('" + User.UserID + "', '" + SearchUser[0] + "', '" + User.UserID + "', '5', '" + User.Nickname + "', '" + SearchUser[1] + "')");
                //                virtualUser Friend = UserManager.getUser(Convert.ToInt32(SearchUser[0]));

                //                User.send(new SP_FRIEND_REQUEST(User.Nickname, Nickname));
                //                if (Friend != null)
                //                {
                //                    Friend.AddFriend(User.UserID, User.UserID, User.Nickname);
                //                    Friend.send(new SP_FRIEND_REQUEST(User.Nickname, Nickname));
                //                    Friend.send(new SP_MESSENGER_FRIENDS(User));
                //                }

                //                User.AddFriend(Convert.ToInt32(SearchUser[0]), User.UserID, SearchUser[1]);
                //                User.send(new SP_FRIEND_REQUEST(User.Nickname, Nickname));
                //                User.LoadFriends();
                //                User.send(new SP_MESSENGER_FRIENDS(User));
                //            }
                //        }
                //        else
                //        {
                //            User.send(new PacketUnknown(32256, -11));
                //        }
                //        break;
                //    }
                case Subtype.FriendAccept:
                {
                    //5610 xK1llSt3am 0  <- Client
                    string Nickname = getBlock(1).Trim();
                    User.LoadFriends();
                    if (Nickname.Length > 0 && Nickname.Length <= 32)                                                  // Check for the nickname length for safety
                    {
                        string[] SearchUser = DB.runReadRow("SELECT id FROM users WHERE nickname='" + Nickname + "'"); // Search the user in the database
                        if (SearchUser.Length > 0 && SearchUser[0] != User.UserID.ToString())                          // If the user is in the database
                        {
                            int FriendID = Convert.ToInt32(SearchUser[0]);
                            if (FriendID > 0)
                            {
                                DB.runQuery("UPDATE friends SET requesterid='-1', status='1' WHERE id1='" + FriendID + "' AND id2='" + User.UserID + "' OR id1='" + User.UserID + "' AND id2='" + FriendID + "'");

                                virtualUser f = UserManager.getUser(FriendID);
                                if (f != null)
                                {
                                    virtualMessenger u = f.getFriend(User.UserID);
                                    if (u != null)
                                    {
                                        u.Status = 1;
                                    }
                                    f.send(new SP_MESSENGER_FRIENDS(f));
                                }

                                virtualMessenger u2 = User.getFriend(FriendID);
                                if (u2 != null)
                                {
                                    u2.Status = 1;
                                }
                                User.send(new SP_MESSENGER_FRIENDS(User));
                                break;
                            }
                        }
                    }

                    break;
                }

                case Subtype.FriendDecline:
                {
                    string Nickname = getBlock(1).Trim();
                    if (Nickname.Length > 0 && Nickname.Length <= 32)                                                  // Check for the nickname length for safety
                    {
                        string[] SearchUser = DB.runReadRow("SELECT id FROM users WHERE nickname='" + Nickname + "'"); // Search the user in the database
                        if (SearchUser.Length > 0)                                                                     // If the user is in the database
                        {
                            int FriendID = Convert.ToInt32(SearchUser[0]);
                            if (FriendID > 0)
                            {
                                DB.runQuery("DELETE FROM friends WHERE id1='" + FriendID + "' AND id2='" + User.UserID + "' OR id1='" + User.UserID + "' AND id2='" + FriendID + "'");
                                virtualUser f = UserManager.getUser(FriendID);
                                if (f != null)
                                {
                                    User.RemoveFriend(User.UserID);
                                    f.send(new SP_MESSENGER_FRIENDS(f));
                                }

                                User.RemoveFriend(FriendID);
                                User.LoadFriends();
                                User.send(new SP_MESSENGER_FRIENDS(User));
                                break;
                            }
                        }
                    }
                    break;
                }
                }
            }
            catch { Log.AppendError("Error on the Messenger: " + User.Nickname + " - " + string.Join(" ", getAllBlocks())); }
        }
Ejemplo n.º 32
0
        internal PassBikeResult Pass(int idUser, int idBike, string reserveCode)
        {
            PassBikeResult res = new PassBikeResult();

            BikeDao dao = new BikeDao();
            ReserveDao reDao = new ReserveDao();
            ReserveCancelationDao reCnsDao = new ReserveCancelationDao();

            UserManager usrManager = new UserManager();

            bool userOk = usrManager.isOkForPass(idUser);
            if (userOk == false)
            {
                throw new Exception("Usuario no tiene bicicleta");
            }

            Bike bike = dao.getBike(idBike);
            if (bike.idState != Constants.STATE_BIKE_RESERVED
                && bike.idState != Constants.STATE_BIKE_FREE)
            {
                throw new Exception("Bicicleta no disponible para entrega");
            }

            Reserve reserve = reDao.getReserve(idBike, reserveCode);
            if (reserve == null)
            {
                throw new Exception("Código de reserva inválido");
            }
            else if (reserve.idState != Constants.STATE_RESERVE_ACTIVE)
            {
                throw new Exception("La reserva no está en un estado válido");
            }
            else if ((DateTime.Now - reserve.creationTime).Minutes > Constants.RESERVE_TIMEOUT)
            {
                res.resCod = 1;
                res.resDesc = "La reserva ha expirado";

                reDao.UpdateStatus(reserve.id, Constants.STATE_RESERVE_EXPIRED);
                reCnsDao.Insert(reserve.id, Constants.RESERVE_CANCEL_REASON_TIMEOUT);
                User currentUsr = usrManager.getUser(idUser);
                if (currentUsr.profile == Constants.PROFILE_COMMON)
                {
                    dao.UpdateStatus(idBike, Constants.STATE_BIKE_FREE);
                }
                else if (currentUsr.profile == Constants.PROFILE_STATION)
                {
                    dao.UpdateStatus(idBike, Constants.STATE_BIKE_IN_STATION);
                }

                usrManager.cancelReservation(reserve.idUser);
            }
            else
            {
                dao.UpdateUser(idBike, reserve.idUser);
                dao.UpdateStatus(idBike, Constants.STATE_BIKE_IN_USE);
                reDao.UpdateStatus(reserve.id, Constants.STATE_RESERVE_USED);
                usrManager.changeState(reserve.idUser, Constants.STATE_USER_HAS_BIKE_ASSIGNED);
                usrManager.changeState(idUser, Constants.STATE_USER_HAS_NO_BIKE);
                res.resCod = 0;
            }
            return res;
        }