Beispiel #1
0
		/// <summary>
		/// 
		/// </summary>
		/// <param name="obj"></param>
		/// <returns></returns>
		public Stat Add(Stat obj)
		{
			Stat stat = null;
			using (Entities model = new Entities())
			{
				stat = model.Stats.Add(obj);
				model.SaveChanges();
			}

			return stat;
		}
Beispiel #2
0
		/// <summary>
		/// 
		/// </summary>
		/// <param name="shortUrl"></param>
		/// <returns></returns>
		public Url Get(string shortUrl)
		{
			Url url = null;

			using (Entities model = new Entities())
			{
				model.Configuration.ProxyCreationEnabled = false;
				url= model.Urls.FirstOrDefault(u=>u.ShortUrl == shortUrl);
			}

			return url;
		}
Beispiel #3
0
		/// <summary>
		/// 
		/// </summary>
		/// <param name="obj"></param>
		/// <returns></returns>
		public Url Add(Url obj)
		{
			Url addedUrl = null;

			using (Entities model = new Entities())
			{
				addedUrl = model.Urls.Add(obj);
				model.SaveChanges();
			}

			return addedUrl;
		}
Beispiel #4
0
		/// <summary>
		/// 
		/// </summary>
		/// <param name="obj"></param>
		/// <returns></returns>
		public Url Delete(Url obj)
		{
			Url deletedUrl = null;

			using (Entities model = new Entities())
			{
				model.Urls.Attach(obj);
				model.Entry(obj).State = System.Data.Entity.EntityState.Deleted;
				model.SaveChanges();
			}

			return deletedUrl;
		}
Beispiel #5
0
		/// <summary>
		/// Gets all hits by specific url id
		/// </summary>
		/// <param name="shortUrlCode">The url id</param>
		/// <returns>Return a list of hits</returns>
		public IList<Stat> GetAll(string shortUrlCode)
		{
			List<Stat> hits = null;

			using (Entities model = new Entities())
			{
				model.Configuration.ProxyCreationEnabled = false;

				Url url = model.Urls.FirstOrDefault(u=>u.ShortUrl == shortUrlCode);
				if (url != null)
				{
					IQueryable<Stat> q = model.Stats.Where(s => s.UrlId == url.Id);
					hits = q.ToList();

					// reset time component
					hits.ForEach(s => s.HitDate = s.HitDate.Date);
                }
			}

			return hits;
		}
Beispiel #6
0
		/// <summary>
		/// 
		/// </summary>
		/// <returns></returns>
		public IList<Url> GetAll()
		{
			IList<Url> urls = null;

			using (Entities model = new Entities())
			{
				model.Configuration.ProxyCreationEnabled = false;
				urls = model.Urls.OrderByDescending(u=>u.CreationDate).ToList();
			}

			return urls;
		}
Beispiel #7
0
		/// <summary>
		/// 
		/// </summary>
		/// <param name="id"></param>
		/// <returns></returns>
		public Url Get(int id)
		{
			Url url = null;

			using (Entities model = new Entities())
			{
				model.Configuration.ProxyCreationEnabled = false;
				url = model.Urls.FirstOrDefault(u => u.Id == id);
			}

			return url;
		}
Beispiel #8
0
		/// <summary>
		/// 
		/// </summary>
		/// <param name="obj"></param>
		/// <returns></returns>
		public Url Update(Url obj)
		{
			Url url = null;

			using (Entities model = new Entities())
			{
				url = model.Urls.Attach(obj);
				model.Entry(obj).State = System.Data.Entity.EntityState.Modified;
				model.SaveChanges();
			}

			return url;
		}