- Repozytorium
- UnitTesty
- MVC
Założeniem jest stworzenie repozytorium w którym będzie zbudowany model danych w oparciu o entity framework. Dodatkowo widoki z ms sql-a będą odwzorowane w klasach gdyż EF nie radzi sobie z widokami bez klucza głównego (albo czegokolwiek co go przypomina). Dodatkowo chce żeby cała logika aplikacji "siedziała" w repozytorium. Aplikacja MVC będzie się łączyć z repo za pomocą interfejsów.
Założeniem moim jest aby każde zapytanie o jakiekolwiek dane było kierowane do repozytorium poprzez interfejs.
MarketSquareDataSource
public interface IMarketSquareDataSource
{
IEnumerable<MarketSquareDataSource>
viewAllStockInMarketSquare();
}
public class MarketSquareDataSource : IMarketSquareDataSource
{
public string stockName;
public int stockNumber;
public decimal? stockPriceBuy;
public decimal? stockPriceSell;
public string transactionStatus;
public int marketS_id;
public bool transactionActive;
public string stockSeria;
public int stockId;
public IEnumerable<MarketSquareDataSource>
viewAllStockInMarketSquare()
{
using (var db = new StockExchangeEntities())
{
var result =
db.MarketSquare.Join(db.BuyingSelling,
MS => MS.bs_id,
BS => BS.bs_id,
(MS, BS) => new
{
transactionStatus = BS.bs_action,
marketS_id = MS.mark_id,
stockPriceBuy =
MS.mark_sharePriceBuy,
stockPriceSell =
MS.mark_sharePriceSell,
stock_id = MS.stock_id,
stockNumber = MS.mark_numberOfShares,
transactionActive =
MS.mark_aktywny
}).Join(db.Stock,
MS => MS.stock_id,
St => St.stock_id,
(MS, St) => new
{
transactionStatus = MS.transactionStatus,
marketS_id = MS.marketS_id,
stockPriceBuy =
MS.stockPriceBuy,
stockPriceSell = MS.stockPriceSell,
stock_id = MS.stock_id,
stockNumber =
MS.stockNumber,
transactionActive =
MS.transactionActive,
stockN_id = St.stockN_id,
stockSeria =
St.stock_seria
}).Join(db.StockName,
MS => MS.marketS_id,
SN => SN.stockN_id,
(MS,SN) => new MarketSquareDataSource
{
transactionStatus =
MS.transactionStatus,
marketS_id = MS.marketS_id,
stockPriceBuy =
MS.stockPriceBuy,
stockPriceSell =
MS.stockPriceSell,
stockNumber = MS.stockNumber == null ? 0 : (int)MS.stockNumber, transactionActive = MS.transactionActive == null ? false : (bool)MS.transactionActive,
stockName = SN.stockN_name,
stockSeria = MS.stockSeria,
stockId = MS.stock_id == null ? 0 : (int)MS.stock_id
}).AsEnumerable();
return result;
}
}
}
Brak komentarzy:
Prześlij komentarz