Add an endpoint to call the lof of jumps by page.
This commit is contained in:
@@ -7,24 +7,39 @@ namespace skydiveLogs_api.DomainBusiness
|
|||||||
{
|
{
|
||||||
public class CacheService : ICacheService
|
public class CacheService : ICacheService
|
||||||
{
|
{
|
||||||
|
#region Public Constructors
|
||||||
|
|
||||||
|
public CacheService()
|
||||||
|
{
|
||||||
|
_memoryCache = MemoryCache.Default;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion Public Constructors
|
||||||
|
|
||||||
|
#region Private Fields
|
||||||
|
|
||||||
|
private readonly MemoryCache _memoryCache;
|
||||||
|
|
||||||
|
#endregion Private Fields
|
||||||
|
|
||||||
#region Public Methods
|
#region Public Methods
|
||||||
|
|
||||||
public bool Contains(CacheType type, int userId = 0)
|
public bool Contains(CacheType type, int userId = 0)
|
||||||
{
|
{
|
||||||
var key = GetKey(userId, type);
|
var key = GetKey(userId, type);
|
||||||
return MemoryCache.Default[key.ToString()] != null;
|
return _memoryCache.Contains(key.ToString());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Delete(CacheType type, int userId = 0)
|
public void Delete(CacheType type, int userId = 0)
|
||||||
{
|
{
|
||||||
var key = GetKey(userId, type);
|
var key = GetKey(userId, type);
|
||||||
MemoryCache.Default.Remove(key.ToString());
|
_memoryCache.Remove(key.ToString());
|
||||||
}
|
}
|
||||||
|
|
||||||
public T Get<T>(CacheType type, int userId = 0)
|
public T Get<T>(CacheType type, int userId = 0)
|
||||||
{
|
{
|
||||||
var key = GetKey(userId, type);
|
var key = GetKey(userId, type);
|
||||||
return (T)MemoryCache.Default[key.ToString()];
|
return (T)_memoryCache.Get(key.ToString());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Put(CacheType type, object value, int duration, int userId = 0)
|
public void Put(CacheType type, object value, int duration, int userId = 0)
|
||||||
@@ -38,7 +53,7 @@ namespace skydiveLogs_api.DomainBusiness
|
|||||||
AbsoluteExpiration = DateTime.Now.AddMilliseconds(duration)
|
AbsoluteExpiration = DateTime.Now.AddMilliseconds(duration)
|
||||||
};
|
};
|
||||||
|
|
||||||
MemoryCache.Default.Set(key.ToString(), value, policy);
|
_memoryCache.Set(key.ToString(), value, policy);
|
||||||
}
|
}
|
||||||
|
|
||||||
private string GetKey(int userId, CacheType type)
|
private string GetKey(int userId, CacheType type)
|
||||||
|
|||||||
@@ -19,6 +19,10 @@ namespace skydiveLogs_api.DomainBusiness.Interfaces
|
|||||||
|
|
||||||
Jump GetJumpById(int id);
|
Jump GetJumpById(int id);
|
||||||
|
|
||||||
|
int GetJumpCount();
|
||||||
|
|
||||||
|
IEnumerable<Jump> GetJumpsByIndexes(int beginIndex, int endIndex);
|
||||||
|
|
||||||
void UpdateJump(int id, Jump jump);
|
void UpdateJump(int id, Jump jump);
|
||||||
|
|
||||||
#endregion Public Methods
|
#endregion Public Methods
|
||||||
|
|||||||
@@ -63,6 +63,16 @@ namespace skydiveLogs_api.DomainBusiness
|
|||||||
return _jumpRepository.GetById(id);
|
return _jumpRepository.GetById(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int GetJumpCount()
|
||||||
|
{
|
||||||
|
return _jumpRepository.GetCount(_identityService.ConnectedUser);
|
||||||
|
}
|
||||||
|
|
||||||
|
public IEnumerable<Jump> GetJumpsByIndexes(int beginIndex, int endIndex)
|
||||||
|
{
|
||||||
|
return _jumpRepository.GetBetweenIndex(_identityService.ConnectedUser, beginIndex, endIndex);
|
||||||
|
}
|
||||||
|
|
||||||
public void UpdateJump(int id, Jump updatedJump)
|
public void UpdateJump(int id, Jump updatedJump)
|
||||||
{
|
{
|
||||||
var myJump = GetJumpById(id);
|
var myJump = GetJumpById(id);
|
||||||
|
|||||||
@@ -11,6 +11,10 @@ namespace skydiveLogs_api.DomainService.Repositories
|
|||||||
|
|
||||||
IEnumerable<Jump> GetAll(User user);
|
IEnumerable<Jump> GetAll(User user);
|
||||||
|
|
||||||
|
IEnumerable<Jump> GetBetweenIndex(User user, int beginIndex, int endIndex);
|
||||||
|
|
||||||
|
int GetCount(User user);
|
||||||
|
|
||||||
#endregion Public Methods
|
#endregion Public Methods
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -12,6 +12,8 @@ namespace skydiveLogs_api.DomainService.Repositories
|
|||||||
|
|
||||||
T GetById(int id);
|
T GetById(int id);
|
||||||
|
|
||||||
|
int GetCount();
|
||||||
|
|
||||||
bool Update(T updated);
|
bool Update(T updated);
|
||||||
|
|
||||||
#endregion Public Methods
|
#endregion Public Methods
|
||||||
|
|||||||
@@ -48,6 +48,11 @@ namespace skydiveLogs_api.Infrastructure
|
|||||||
return _col.FindById(new BsonValue(id));
|
return _col.FindById(new BsonValue(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int GetCount()
|
||||||
|
{
|
||||||
|
throw new System.NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
public bool Update(Aircraft aircraft)
|
public bool Update(Aircraft aircraft)
|
||||||
{
|
{
|
||||||
return _col.Update(aircraft);
|
return _col.Update(aircraft);
|
||||||
|
|||||||
@@ -48,6 +48,11 @@ namespace skydiveLogs_api.Infrastructure
|
|||||||
return _col.FindById(new BsonValue(id));
|
return _col.FindById(new BsonValue(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int GetCount()
|
||||||
|
{
|
||||||
|
throw new System.NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
public bool Update(DropZone updatedDz)
|
public bool Update(DropZone updatedDz)
|
||||||
{
|
{
|
||||||
return _col.Update(updatedDz);
|
return _col.Update(updatedDz);
|
||||||
|
|||||||
@@ -59,6 +59,11 @@ namespace skydiveLogs_api.Infrastructure
|
|||||||
throw new System.NotImplementedException();
|
throw new System.NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int GetCount()
|
||||||
|
{
|
||||||
|
throw new System.NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
public bool Update(FavoriteDropZone updated)
|
public bool Update(FavoriteDropZone updated)
|
||||||
{
|
{
|
||||||
throw new System.NotImplementedException();
|
throw new System.NotImplementedException();
|
||||||
|
|||||||
@@ -55,6 +55,11 @@ namespace skydiveLogs_api.Infrastructure
|
|||||||
return _col.FindById(new BsonValue(id));
|
return _col.FindById(new BsonValue(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int GetCount()
|
||||||
|
{
|
||||||
|
throw new System.NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
public bool Update(Gear updatedGear)
|
public bool Update(Gear updatedGear)
|
||||||
{
|
{
|
||||||
return _col.Update(updatedGear);
|
return _col.Update(updatedGear);
|
||||||
|
|||||||
@@ -56,11 +56,35 @@ namespace skydiveLogs_api.Infrastructure
|
|||||||
throw new System.NotImplementedException();
|
throw new System.NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public IEnumerable<Jump> GetBetweenIndex(User user, int beginIndex, int endIndex)
|
||||||
|
{
|
||||||
|
return _col.Include(x => x.Aircraft)
|
||||||
|
.Include(x => x.DropZone)
|
||||||
|
.Include(x => x.Gear)
|
||||||
|
.Include(x => x.JumpType)
|
||||||
|
.Query()
|
||||||
|
.OrderByDescending(j => j.JumpDate)
|
||||||
|
.Where(j => j.User.Id == user.Id)
|
||||||
|
.Limit(endIndex - beginIndex)
|
||||||
|
.Offset(beginIndex)
|
||||||
|
.ToList();
|
||||||
|
}
|
||||||
|
|
||||||
public Jump GetById(int id)
|
public Jump GetById(int id)
|
||||||
{
|
{
|
||||||
return _col.FindById(new BsonValue(id));
|
return _col.FindById(new BsonValue(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int GetCount(User user)
|
||||||
|
{
|
||||||
|
return _col.Count(j => j.User.Id == user.Id);
|
||||||
|
}
|
||||||
|
|
||||||
|
public int GetCount()
|
||||||
|
{
|
||||||
|
throw new System.NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
public bool Update(Jump updatedJump)
|
public bool Update(Jump updatedJump)
|
||||||
{
|
{
|
||||||
return _col.Update(updatedJump);
|
return _col.Update(updatedJump);
|
||||||
|
|||||||
@@ -48,6 +48,11 @@ namespace skydiveLogs_api.Infrastructure
|
|||||||
return _col.FindById(new BsonValue(id));
|
return _col.FindById(new BsonValue(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int GetCount()
|
||||||
|
{
|
||||||
|
throw new System.NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
public bool Update(JumpType updatedJumpType)
|
public bool Update(JumpType updatedJumpType)
|
||||||
{
|
{
|
||||||
return _col.Update(updatedJumpType);
|
return _col.Update(updatedJumpType);
|
||||||
|
|||||||
@@ -55,6 +55,11 @@ namespace skydiveLogs_api.Infrastructure
|
|||||||
return _col.FindById(new BsonValue(id));
|
return _col.FindById(new BsonValue(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int GetCount()
|
||||||
|
{
|
||||||
|
throw new System.NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
public bool Update(UserImage image)
|
public bool Update(UserImage image)
|
||||||
{
|
{
|
||||||
return _col.Update(image);
|
return _col.Update(image);
|
||||||
|
|||||||
@@ -53,6 +53,11 @@ namespace skydiveLogs_api.Infrastructure
|
|||||||
return _col.FindOne(u => u.Login == login && u.Password == password);
|
return _col.FindOne(u => u.Login == login && u.Password == password);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int GetCount()
|
||||||
|
{
|
||||||
|
throw new System.NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
public bool Update(User updated)
|
public bool Update(User updated)
|
||||||
{
|
{
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
|
|||||||
@@ -55,6 +55,11 @@ namespace skydiveLogs_api.Infrastructure
|
|||||||
throw new System.NotImplementedException();
|
throw new System.NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int GetCount()
|
||||||
|
{
|
||||||
|
throw new System.NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
public bool Update(UserStats stats)
|
public bool Update(UserStats stats)
|
||||||
{
|
{
|
||||||
//col.UpdateMany(x => new Customer { Name
|
//col.UpdateMany(x => new Customer { Name
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ using skydiveLogs_api.DataContract;
|
|||||||
using skydiveLogs_api.Domain;
|
using skydiveLogs_api.Domain;
|
||||||
using skydiveLogs_api.DomainBusiness.Interfaces;
|
using skydiveLogs_api.DomainBusiness.Interfaces;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
namespace skydiveLogs_api.Controllers
|
namespace skydiveLogs_api.Controllers
|
||||||
{
|
{
|
||||||
@@ -34,11 +35,32 @@ namespace skydiveLogs_api.Controllers
|
|||||||
// GET: api/Jump
|
// GET: api/Jump
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
[EnableCors]
|
[EnableCors]
|
||||||
public IEnumerable<JumpResp> Get()
|
public JumpListResp Get()
|
||||||
{
|
{
|
||||||
var result = _jumpService.GetAllJumps();
|
var tmp = _jumpService.GetAllJumps();
|
||||||
|
var result = new JumpListResp
|
||||||
|
{
|
||||||
|
Rows = _mapper.Map<IEnumerable<JumpResp>>(tmp),
|
||||||
|
Count = tmp.Count()
|
||||||
|
};
|
||||||
|
|
||||||
return _mapper.Map<IEnumerable<JumpResp>>(result);
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
// GET: api/Jump/5/10
|
||||||
|
[HttpGet("{beginJumpIndex}/{endJumpIndex}")]
|
||||||
|
[EnableCors]
|
||||||
|
public JumpListResp Get(int beginJumpIndex, int endJumpIndex)
|
||||||
|
{
|
||||||
|
var totalJumps = _jumpService.GetJumpCount();
|
||||||
|
var tmp = _jumpService.GetJumpsByIndexes(beginJumpIndex, endJumpIndex);
|
||||||
|
var result = new JumpListResp
|
||||||
|
{
|
||||||
|
Rows = _mapper.Map<IEnumerable<JumpResp>>(tmp),
|
||||||
|
Count = totalJumps
|
||||||
|
};
|
||||||
|
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
// GET: api/Jump/5
|
// GET: api/Jump/5
|
||||||
|
|||||||
14
Back/skydiveLogs-api/DataContract/JumpListResp.cs
Normal file
14
Back/skydiveLogs-api/DataContract/JumpListResp.cs
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace skydiveLogs_api.DataContract
|
||||||
|
{
|
||||||
|
public class JumpListResp
|
||||||
|
{
|
||||||
|
#region Public Properties
|
||||||
|
|
||||||
|
public int Count { get; set; }
|
||||||
|
public IEnumerable<JumpResp> Rows { get; set; }
|
||||||
|
|
||||||
|
#endregion Public Properties
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user