using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using UF.AssessmentProject.Model;

namespace UF.AssessmentProject.Model
{
    public class dbContext : DbContext
    {
        public DbSet<UF.AssessmentProject.Model.Partner.Partner> Partners { get; set; }
     
        public dbContext(DbContextOptions<dbContext> options) : base(options)
        {
            LoadData();
        }


        public void LoadData()
        {
            UF.AssessmentProject.Model.Partner.Partner p1 = new Partner.Partner { partnerkey = "FAKEGOOGLE", partnerpassword = "FAKEPASSWORD1234" };
            UF.AssessmentProject.Model.Partner.Partner p2 = new Partner.Partner { partnerkey = "FAKEPEOPLE", partnerpassword = "FAKEPASSWORD4578" };
            Partners.Add(p1);
            Partners.Add(p2);

        //    List<UF.AssessmentProject.Model.Transaction.itemdetail> lstitem = new List<Transaction.itemdetail>();
        //    lstitem.Add(new Transaction.itemdetail { name = "Pen", partneritemref = "i-00001", qty = 10, unitprice = 1 });
        //    lstitem.Add(new Transaction.itemdetail { name = "Ruler", partneritemref = "i-00002", qty = 100, unitprice = 2 });

        //    UF.AssessmentProject.Model.Transaction.RequestMessage r1 = new Transaction.RequestMessage
        //    {
        //        partnerkey = "FAKEGOOGLE",
        //        partnerrefno = "FG-00001",
        //        totalamount = 100,
        //        items = lstitem,
        //        partnerpassword = System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes("1234")),
        //        sig = System.Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes("2013-11-22T02:11:22.0000000ZFAKEGOOGLEFG-00001100xxx"))
        //};

        //    RequestMessages.Add(r1);


        }


        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {

            modelBuilder.Entity<UF.AssessmentProject.Model.Partner.Partner>( e => {
                e.HasKey(k => k.partnerkey);
               
                });
          
            base.OnModelCreating(modelBuilder);
        }
    }
}