using System;
using System.Collections.Generic;
using System.Data.Entity.Infrastructure;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using Tango.TCC.BL.Entities;
using Tango.TCC.BL.Web;
using Tango.TCC.Service.DB;
using Tango.TCC.Service.DTO;
using Tango.TCC.Service.Filters;
using Tango.TCC.Service.Security;
using Tango.Web.Controllers;
namespace Tango.TCC.Service.Controllers
{
[JwtTokenFilter]
public class CardsController : TangoController<TokenObject>
{
[JwtTokenFilter]
[HttpGet]
public List<CardDTO> GetCards()
{
List<CardDTO> results = new List<CardDTO>();
using (var db = TccDbContext.CreateTCC())
{
var dbResults = db.Cards.Select(x=>x).ToList();
foreach (var item in dbResults)
{
CardDTO dto = new CardDTO();
dto.CardCode = item.Code;
dto.Columns = item.Columns;
dto.Rows = item.Rows;
dto.TargetIndex = item.TargetIndex;
dto.Version = item.Version;
dto.Batch = item.Batch;
dto.IsHomePrinted = item.IsHomePrinted;
results.Add(dto);
}
}
return results;
}
[JwtTokenFilter]
[HttpPost, ActionName("Edit")]
public void EditCard(int? id, [FromUri] ResultsByDateRequest request)
{
using (var db = TccDbContext.CreateTCC())
{
if (id == null)
{
var dbNewCard = new Card();
// dbNewCard.Code = request.Code;
// dbNewCard.Columns = request.Columns;
// dbNewCard.TargetIndex = request.TargetIndex;
dbNewCard.IsHomePrinted = false;
db.Cards.Add(dbNewCard);
}
else
{
var dbEditCard = db.Cards.First(i => i.ID == id);
if (dbEditCard == null)
{
return;// HttpNotFoundResult();
}
}
try
{
db.SaveChanges();
}
catch (RetryLimitExceededException /* dex */)
{
ModelState.AddModelError("", "Unable to save changes. Try again, and if the problem persists, see your system administrator.");
}
}
}
}
}