public void Create_Insert_Get_Delete()
        {
            var model = new MyModel();

            model.Name = Guid.NewGuid().ToString();

            m_SqlRepository.Insert(model);

            var existingId = model.Id;

            model = m_SqlRepository.Get <MyModel>(i => i.Id == existingId);

            Assert.IsNotNull(model);

            var name = Guid.NewGuid().ToString();

            model.Name = name;

            m_SqlRepository.Update(model);

            model = m_SqlRepository.Get <MyModel>(i => i.Id == existingId);

            Assert.AreEqual(name, model.Name);

            m_SqlRepository.Delete(model);

            model = m_SqlRepository.Get <MyModel>(i => i.Id == existingId);

            Assert.IsNull(model);
        }
        public async Task <IActionResult> OnGetAsync()
        {
            try
            {
                #region واکشی مکان ها از دیتابیس
                SqlRepository <tblPalces> repPalce = new SqlRepository <tblPalces>();

                double _NorthEastLat = double.Parse(Input.NorthEast.Split(new char[] { ',' })[0].Trim());
                double _NorthEastLng = double.Parse(Input.NorthEast.Split(new char[] { ',' })[1].Trim());

                double _SouthWestLat = double.Parse(Input.SouthWest.Split(new char[] { ',' })[0].Trim());
                double _SouthWestLng = double.Parse(Input.SouthWest.Split(new char[] { ',' })[1].Trim());

                var qLocalPlace = await repPalce.Get()
                                  //.Where(a => a.Zoom <= Input.Zoom)
                                  .Where(a => a.Name.Contains(Input.Address.Trim()))
                                  .Where(a => a.Lat <= _NorthEastLat)
                                  .Where(a => a.Lng <= _NorthEastLng)
                                  .Where(a => a.Lat >= _SouthWestLat)
                                  .Where(a => a.Lng >= _SouthWestLng)
                                  .Select(a => new vmCompo_ListSearch
                {
                    ImgName = a.tblPalceCategoris.ImgName,
                    Lat     = a.Lat,
                    Lng     = a.Lng,
                    Name    = a.Name,
                    Zoom    = a.Zoom
                })
                                  .OrderBy(a => a.Name)
                                  .Skip(0)
                                  .Take(5)
                                  .ToListAsync();

                Data.AddRange(qLocalPlace);
                #endregion

                #region واکشی اطلاعات از سرویس دهنده ها
                var _data = await new ComponentWapper().GetDataAsync("http://photon.komoot.de/api/", new { q = Input.Address, limit = 5 });

                var JsonData = JObject.Parse(_data);
                var qData    = JsonData["features"].Select(a => new vmCompo_ListSearch
                {
                    Lng     = double.Parse(a["geometry"]["coordinates"][0].ToString()),
                    Lat     = double.Parse(a["geometry"]["coordinates"][1].ToString()),
                    Name    = (a["properties"]["state"] == null ? "" : (a["properties"]["state"] + ", ")) + a["properties"]["name"],
                    Zoom    = 13,
                    ImgName = "marker-here.png"
                }).ToList();

                Data.AddRange(qData);
                #endregion

                return(Page());
            }
            catch (Exception ex)
            {
                logger.Error(ex);
                throw ex;
            }
        }
예제 #3
0
        public async Task <IActionResult> OnGetAsync()
        {
            try
            {
                SqlRepository <tblPalces> repPalce = new SqlRepository <tblPalces>();

                double _NorthEastLat = double.Parse(Input.NorthEast.Split(new char[] { ',' })[0].Trim());
                double _NorthEastLng = double.Parse(Input.NorthEast.Split(new char[] { ',' })[1].Trim());

                double _SouthWestLat = double.Parse(Input.SouthWest.Split(new char[] { ',' })[0].Trim());
                double _SouthWestLng = double.Parse(Input.SouthWest.Split(new char[] { ',' })[1].Trim());

                var qData = await repPalce.Get()
                            .Where(a => a.Zoom <= Input.Zoom)
                            .Where(a => a.Lat <= _NorthEastLat)
                            .Where(a => a.Lng <= _NorthEastLng)
                            .Where(a => a.Lat >= _SouthWestLat)
                            .Where(a => a.Lng >= _SouthWestLng)
                            .Select(a => new vmCompo_Places
                {
                    Category = a.tblPalceCategoris.Title,
                    ImgName  = a.tblPalceCategoris.ImgName,
                    Lat      = a.Lat,
                    Lng      = a.Lng,
                    Name     = a.Name
                }).ToListAsync();

                return(new JsonResult(qData));
            }
            catch (Exception ex)
            {
                logger.Error(ex);
                throw ex;
            }
        }
예제 #4
0
        public static async Task <tblUsers> GetUserDetailsAsync(this ClaimsPrincipal User)
        {
            var repUser = new SqlRepository <tblUsers>();

            try
            {
                var qUser = await repUser.Get()
                            .Where(a => a.UserName == User.Identity.Name)
                            .Select(a => new tblUsers
                {
                    Email    = a.Email,
                    Family   = a.Family,
                    Id       = a.Id,
                    Name     = a.Name,
                    UserName = a.UserName
                })
                            .SingleOrDefaultAsync();

                return(qUser);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                repUser.Dispose();
            }
        }
예제 #5
0
        public static IEnumerable<Snapshot> GetSnapshots(SqlRepository Repository)
        {
            string Query =
                "SELECT Name, Active FROM " + _SnapshotTable;

            return Repository.Get<Snapshot>(Query, null, false);
        }