コード例 #1
0
        public IActionResult ModifyOne(long userId, string id, [FromBody] UserHouse userHouse)
        {
            userHouse.Id = id;
            var update = _userHouseService.Modify(userId, userHouse);

            return(Ok(new { success = true, data = update }));
        }
コード例 #2
0
    public void Init(UserHouse _userHouse)
    {
        userHouse = _userHouse;
        // _empireBuilding = empireBuilding;

        Sprite sprite = Helper.LoadSpriteForBuilding(userHouse.HouseId);

        icon.sprite = sprite;

        float widthRatio = (float)sprite.texture.width / (float)sprite.texture.height;

        float sizeRatio = (userHouse.SizeX + userHouse.SizeY) / 2.0f;

        Vector2 sizeResult = new Vector2(size.x * sizeRatio * widthRatio, size.y * sizeRatio);

        RectTransform rect = icon.GetComponent <RectTransform>();

        rect.sizeDelta = sizeResult;
        Vector3 pos = rect.localPosition;

        pos.y = sizeResult.y / 4f;
        rect.localPosition = pos;

        if (UIEmpireManager.Instance.togCustomBuilding.isOn)
        {
            OnCustom();
        }
        else
        {
            OnDeCustom();
        }
    }
コード例 #3
0
    private void CreateBuilddingAtPos(Vector3 pos, UserHouse userHouse, Vector2 posInMap)
    {
        GameObject go = GameObject.Instantiate(BuidingFinishedPrefab) as GameObject;

        go.transform.SetParent(BuidingFinishedRoot.transform);
        go.transform.localPosition = pos;
        go.transform.localScale    = new Vector3(1, 1, 1);

        float depth = Mathf.Abs(Vector3.Distance(go.transform.position, Camera.main.transform.position));

        go.name = string.Format("Building_{0:D4}", (int)(depth));

        UIEmpireBuildingFinished bdf = go.GetComponent <UIEmpireBuildingFinished>();

        go.SetActive(true);



        bdf.Init(userHouse);

        listBuidingFinished.Add(bdf);

        SortDepthListBuilding();


        if (userHouse.HouseId == 1)
        {
            uiContaint.silverOfBank.transform.position = go.transform.position + Vector3.up * 50;
        }
    }
コード例 #4
0
        public UserHouse AddOne(UserHouse newOne)
        {
            if (newOne == null)
            {
                throw new UnProcessableException("object can not empty.");
            }

            _context.UserHouses.Add(newOne);
            _context.SaveChanges();
            return(newOne);
        }
コード例 #5
0
        public ActionResult StoreManager(ManagerHouse mh)
        {
            if (Session["user_id"] != null)
            {
                if (Session["check_pass"] == null)
                {
                    return(RedirectToAction("CheckingNManager"));
                }
                if (!ModelState.IsValid)
                {
                    return(View("CreateManager", mh));
                }
                var keyChecking = _Context.HouseKeys.SingleOrDefault(hk => hk.Key == mh.Key);
                if (keyChecking == null)
                {
                    ModelState.AddModelError("Key", "Invalid Key. Please Try Another.");
                    return(View("CreateManager", mh));
                }
                var checkExistingManage =
                    _Context.ManagerHouses.SingleOrDefault(m => m.Key == m.Key && m.IsActive == true);
                if (checkExistingManage != null)
                {
                    ModelState.AddModelError("Key", "Already have a manager.");
                    return(View("CreateManager", mh));
                }
                mh.IsActive = true;
                _Context.ManagerHouses.Add(mh);
                _Context.SaveChanges();

                var existingUser = _Context.Users.Find((int)Session["user_id"]);

                existingUser.IsAManager = true;
                _Context.SaveChanges();

                var       user_id = (int)Session["user_id"];
                var       user    = _Context.Users.Find(user_id);
                UserHouse uh      = new UserHouse();
                uh.UserId     = user.UserId;
                uh.IsActive   = true;
                uh.HouseKeyId = keyChecking.Id;

                _Context.UserHouses.Add(uh);
                _Context.SaveChanges();

                return(RedirectToAction("Index", "Users"));
            }
            return(RedirectToAction("LogInUser", "Users"));
        }
コード例 #6
0
        public UserHouse AddOne(UserHouse newOne)
        {
            if (newOne == null)
            {
                throw new UnProcessableException("object can not empty.");
            }
            // todo check newOne field:title,text,price latitude,throw UnProcessableException

            if (CheckLastHousePubtime(newOne))
            {
                throw new UnProcessableException("7天只允许发布一条房源信息.");
            }
            newOne.Id = Tools.GetUUId();
            _context.UserHouses.Add(newOne);
            _context.SaveChanges();
            return(newOne);
        }
コード例 #7
0
        public UserHouse Modify(long userId, UserHouse update)
        {
            var modifyOne = _context.UserHouses.FirstOrDefault(h => h.Id == update.Id && h.UserId == userId);

            if (modifyOne == null)
            {
                throw new NotFiniteNumberException("house not found.");
            }
            modifyOne.Price      = update.Price;
            modifyOne.Tags       = update.Tags;
            modifyOne.Title      = update.Title;
            modifyOne.Text       = update.Text;
            modifyOne.RentType   = update.RentType;
            modifyOne.Latitude   = update.Longitude;
            modifyOne.Longitude  = update.Longitude;
            modifyOne.Location   = update.Location;
            modifyOne.UpdateTime = DateTime.Now;
            _context.SaveChanges();
            return(modifyOne);
        }
コード例 #8
0
    public void OnBuilHouseSuccess()
    {
        //if (empireMap.cellMouseOver != null && houseDataSelected != null)
        //{
        //    Vector2 buildingSize = new Vector2(houseDataSelected.SizeX, houseDataSelected.SizeY);
        //    Vector3 centerPos = empireMap.GetCenterPosition(empireMap.cellMouseOver, buildingSize);
        //    CreateBuilddingAtPos(centerPos, houseDataSelected, empireMap.cellMouseOver.position);
        //    empireMap.OnFinishedBuilding();
        //}

        UIEmpireCursor.Instance.Hide(false);
        houseDataSelected = null;
        empireMap.CanNotBuilding();

        //foreach (UIEmpireBuildingFinished building in listBuidingFinished)
        //{
        //    GameObject.Destroy(building.gameObject);
        //}
        //listBuidingFinished.Clear();

        // StartCoroutine(InitOldBuiding());
        //foreach (UserHouse userHouse in curLand.Houses)
        //{
        //    if (listBuidingFinished.FirstOrDefault(p => p.userHouse.UID == userHouse.UID) == null)
        //    {
        UserHouse userHouse    = curLand.Houses[curLand.Houses.Count - 1];
        Vector2   sizeBuilding = new Vector2(userHouse.SizeX, userHouse.SizeY);
        Vector2   posBuilding  = new Vector2(userHouse.PosX, userHouse.PosY);

        posBuilding = PosServerToClient(posBuilding, sizeBuilding);
        Vector3 centerPos = empireMap.GetCenterPosition(empireMap.GetCell(posBuilding), sizeBuilding);

        CreateBuilddingAtPos(centerPos, userHouse, posBuilding);

        //}
        //}

        empireMap.OnFinishedBuilding();
        OnResponseOpenCell();
    }
コード例 #9
0
 public UserHouse InsertUser(UserHouse userHouse)
 {
     using (IDbConnection dbConnection = GetConnection())
     {
         var collection = dbConnection.Query <UserHouse>(@"INSERT INTO `housecrawler`.`UserHouses`
                             (
                             `UserId`,
                             `HouseTitle`,
                             `HouseOnlineURL`,
                             `HouseLocation`,
                             `DisPlayPrice`,
                             `PubTime`,
                             `HousePrice`,
                             `LocationCityName`,
                             `Source`,
                             `HouseText`,
                             `Status`,
                             `PicURLs`,
                             `RentTyp`)
                             VALUES
                             (
                             @UserId,
                             @HouseTitle,
                             @HouseOnlineURL,
                             @HouseLocation,
                             @DisPlayPrice,
                             @PubTime,
                             @HousePrice,
                             @LocationCityName,
                             @Source,
                             @HouseText,
                             @Status,
                             @PicURLs,
                             @RentTyp);",
                                                         userHouse).FirstOrDefault();
         return(collection);
     }
 }
コード例 #10
0
        public ActionResult StoreMember(UserHouse uh)
        {
            if (Session["user_id"] != null)
            {
                var user_id = (int)Session["user_id"];
                if (!ModelState.IsValid)
                {
                    return(View("AddMember", uh));
                }
                var member = _Context.Users.SingleOrDefault(u => u.UserId == uh.UserId);
                if (member == null)
                {
                    ModelState.AddModelError("UserId", "User Id is not exists");
                    return(View("AddMember", uh));
                }

                var userHouse = _Context.UserHouses.SingleOrDefault(uhg => uhg.UserId == uh.UserId && uhg.IsActive == true);
                if (userHouse != null)
                {
                    ModelState.AddModelError("UserId", "User Id is already assign to a house key");
                    return(View("AddMember", uh));
                }
                var managerHouse = _Context.ManagerHouses.SingleOrDefault(mh => mh.User_Id == user_id && mh.IsActive == true);
                var houseKeyId   = _Context.HouseKeys.SingleOrDefault(hk => hk.Key == managerHouse.Key);

                UserHouse uHouse = new UserHouse();
                uHouse.UserId     = uh.UserId;
                uHouse.IsActive   = true;
                uHouse.HouseKeyId = houseKeyId.Id;

                _Context.UserHouses.Add(uHouse);
                _Context.SaveChanges();
                return(RedirectToAction("Index"));
            }
            return(RedirectToAction("LogInUser", "Users"));
        }
コード例 #11
0
        public ActionResult StoreNewManager(NewManagerWithExistingManagerViewModel nmwem)
        {
            if (Session["user_id"] != null)
            {
                if (Session["check_pass1"] == null)
                {
                    return(RedirectToAction("ReplaceManager"));
                }
                if (!ModelState.IsValid)
                {
                    return(View("CreateNewManager", nmwem));
                }
                string key             = (string)Session["temporary_key"];
                var    existingManager =
                    _Context.ManagerHouses.SingleOrDefault(
                        mh => mh.IsActive == true && mh.Key == nmwem.ManagerHouse.Key);
                if (key != nmwem.ManagerHouse.Key)
                {
                    ModelState.AddModelError("UserHouse.Key", "Key is not valid");
                    return(View("CreateNewManager", nmwem));
                }
                existingManager.IsActive = false;
                _Context.SaveChanges();

                var newManager = _Context.Users.SingleOrDefault(u => u.UserId == nmwem.UserId && u.IsValid == true);
                if (newManager == null)
                {
                    ModelState.AddModelError("UserId", "User is not valid. Please try valid user.");
                    return(View("CreateNewManager", nmwem));
                }
                ManagerHouse newManagerHouse = new ManagerHouse();
                newManagerHouse.User_Id  = newManager.Id;
                newManagerHouse.IsActive = true;
                newManagerHouse.Key      = nmwem.ManagerHouse.Key;
                _Context.ManagerHouses.Add(newManagerHouse);
                _Context.SaveChanges();


                var HouseKey = _Context.HouseKeys.SingleOrDefault(hk => hk.Key == key);


                var user = _Context.Users.Find(newManager.Id);
                user.IsAManager = true;
                _Context.SaveChanges();
                var checkingUser =
                    _Context.UserHouses.SingleOrDefault(
                        userHouse => userHouse.UserId == user.UserId && userHouse.IsActive == true);
                if (checkingUser == null)
                {
                    UserHouse uh = new UserHouse();
                    uh.UserId     = user.UserId;
                    uh.IsActive   = true;
                    uh.HouseKeyId = HouseKey.Id;

                    _Context.UserHouses.Add(uh);
                    _Context.SaveChanges();
                }

                Session["temporary_key"] = null;
                return(RedirectToAction("Index", "Users"));
            }
            return(RedirectToAction("LogInUser", "Users"));
        }
コード例 #12
0
        public IActionResult AddOne(long userId, [FromBody] UserHouse userHouse)
        {
            var newOne = _userHouseService.AddOne(userHouse);

            return(Ok(new { success = true, data = newOne }));
        }
コード例 #13
0
 private bool CheckLastHousePubtime(UserHouse newOne)
 {
     return(_context.UserHouses.Any(h => h.UserId == newOne.UserId && h.PubTime >= DateTime.Now.Date.AddDays(-PubTimeDay)));
 }