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
|
||||
{
|
||||
#region Public Constructors
|
||||
|
||||
public CacheService()
|
||||
{
|
||||
_memoryCache = MemoryCache.Default;
|
||||
}
|
||||
|
||||
#endregion Public Constructors
|
||||
|
||||
#region Private Fields
|
||||
|
||||
private readonly MemoryCache _memoryCache;
|
||||
|
||||
#endregion Private Fields
|
||||
|
||||
#region Public Methods
|
||||
|
||||
public bool Contains(CacheType type, int userId = 0)
|
||||
{
|
||||
var key = GetKey(userId, type);
|
||||
return MemoryCache.Default[key.ToString()] != null;
|
||||
return _memoryCache.Contains(key.ToString());
|
||||
}
|
||||
|
||||
public void Delete(CacheType type, int userId = 0)
|
||||
{
|
||||
var key = GetKey(userId, type);
|
||||
MemoryCache.Default.Remove(key.ToString());
|
||||
_memoryCache.Remove(key.ToString());
|
||||
}
|
||||
|
||||
public T Get<T>(CacheType type, int userId = 0)
|
||||
{
|
||||
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)
|
||||
@@ -38,7 +53,7 @@ namespace skydiveLogs_api.DomainBusiness
|
||||
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)
|
||||
|
||||
@@ -19,6 +19,10 @@ namespace skydiveLogs_api.DomainBusiness.Interfaces
|
||||
|
||||
Jump GetJumpById(int id);
|
||||
|
||||
int GetJumpCount();
|
||||
|
||||
IEnumerable<Jump> GetJumpsByIndexes(int beginIndex, int endIndex);
|
||||
|
||||
void UpdateJump(int id, Jump jump);
|
||||
|
||||
#endregion Public Methods
|
||||
|
||||
@@ -63,6 +63,16 @@ namespace skydiveLogs_api.DomainBusiness
|
||||
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)
|
||||
{
|
||||
var myJump = GetJumpById(id);
|
||||
|
||||
@@ -11,6 +11,10 @@ namespace skydiveLogs_api.DomainService.Repositories
|
||||
|
||||
IEnumerable<Jump> GetAll(User user);
|
||||
|
||||
IEnumerable<Jump> GetBetweenIndex(User user, int beginIndex, int endIndex);
|
||||
|
||||
int GetCount(User user);
|
||||
|
||||
#endregion Public Methods
|
||||
}
|
||||
}
|
||||
@@ -12,6 +12,8 @@ namespace skydiveLogs_api.DomainService.Repositories
|
||||
|
||||
T GetById(int id);
|
||||
|
||||
int GetCount();
|
||||
|
||||
bool Update(T updated);
|
||||
|
||||
#endregion Public Methods
|
||||
|
||||
@@ -48,6 +48,11 @@ namespace skydiveLogs_api.Infrastructure
|
||||
return _col.FindById(new BsonValue(id));
|
||||
}
|
||||
|
||||
public int GetCount()
|
||||
{
|
||||
throw new System.NotImplementedException();
|
||||
}
|
||||
|
||||
public bool Update(Aircraft aircraft)
|
||||
{
|
||||
return _col.Update(aircraft);
|
||||
|
||||
@@ -48,6 +48,11 @@ namespace skydiveLogs_api.Infrastructure
|
||||
return _col.FindById(new BsonValue(id));
|
||||
}
|
||||
|
||||
public int GetCount()
|
||||
{
|
||||
throw new System.NotImplementedException();
|
||||
}
|
||||
|
||||
public bool Update(DropZone updatedDz)
|
||||
{
|
||||
return _col.Update(updatedDz);
|
||||
|
||||
@@ -59,6 +59,11 @@ namespace skydiveLogs_api.Infrastructure
|
||||
throw new System.NotImplementedException();
|
||||
}
|
||||
|
||||
public int GetCount()
|
||||
{
|
||||
throw new System.NotImplementedException();
|
||||
}
|
||||
|
||||
public bool Update(FavoriteDropZone updated)
|
||||
{
|
||||
throw new System.NotImplementedException();
|
||||
|
||||
@@ -55,6 +55,11 @@ namespace skydiveLogs_api.Infrastructure
|
||||
return _col.FindById(new BsonValue(id));
|
||||
}
|
||||
|
||||
public int GetCount()
|
||||
{
|
||||
throw new System.NotImplementedException();
|
||||
}
|
||||
|
||||
public bool Update(Gear updatedGear)
|
||||
{
|
||||
return _col.Update(updatedGear);
|
||||
|
||||
@@ -56,11 +56,35 @@ namespace skydiveLogs_api.Infrastructure
|
||||
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)
|
||||
{
|
||||
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)
|
||||
{
|
||||
return _col.Update(updatedJump);
|
||||
|
||||
@@ -48,6 +48,11 @@ namespace skydiveLogs_api.Infrastructure
|
||||
return _col.FindById(new BsonValue(id));
|
||||
}
|
||||
|
||||
public int GetCount()
|
||||
{
|
||||
throw new System.NotImplementedException();
|
||||
}
|
||||
|
||||
public bool Update(JumpType updatedJumpType)
|
||||
{
|
||||
return _col.Update(updatedJumpType);
|
||||
|
||||
@@ -55,6 +55,11 @@ namespace skydiveLogs_api.Infrastructure
|
||||
return _col.FindById(new BsonValue(id));
|
||||
}
|
||||
|
||||
public int GetCount()
|
||||
{
|
||||
throw new System.NotImplementedException();
|
||||
}
|
||||
|
||||
public bool Update(UserImage image)
|
||||
{
|
||||
return _col.Update(image);
|
||||
|
||||
@@ -53,6 +53,11 @@ namespace skydiveLogs_api.Infrastructure
|
||||
return _col.FindOne(u => u.Login == login && u.Password == password);
|
||||
}
|
||||
|
||||
public int GetCount()
|
||||
{
|
||||
throw new System.NotImplementedException();
|
||||
}
|
||||
|
||||
public bool Update(User updated)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
|
||||
@@ -55,6 +55,11 @@ namespace skydiveLogs_api.Infrastructure
|
||||
throw new System.NotImplementedException();
|
||||
}
|
||||
|
||||
public int GetCount()
|
||||
{
|
||||
throw new System.NotImplementedException();
|
||||
}
|
||||
|
||||
public bool Update(UserStats stats)
|
||||
{
|
||||
//col.UpdateMany(x => new Customer { Name
|
||||
|
||||
@@ -5,6 +5,7 @@ using skydiveLogs_api.DataContract;
|
||||
using skydiveLogs_api.Domain;
|
||||
using skydiveLogs_api.DomainBusiness.Interfaces;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace skydiveLogs_api.Controllers
|
||||
{
|
||||
@@ -34,11 +35,32 @@ namespace skydiveLogs_api.Controllers
|
||||
// GET: api/Jump
|
||||
[HttpGet]
|
||||
[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
|
||||
|
||||
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