using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using Newtonsoft.Json;
namespace TimeTracker_DAL.Model
{
public class TTWorkers
{
public List<TTWorker> Workers { get; set; } = new List<TTWorker>();
public string Get(int workerId)
{
if (workerId > -1)
{
FillClassByWorker(workerId);
}
else
{
FillClass();
}
string output = JsonConvert.SerializeObject(this);
return output;
}
public string GetByBillingType(int btId)
{
if (btId > -1)
{
FillClassByBillingType(btId);
}
else
{
FillClass();
}
string output = JsonConvert.SerializeObject(this);
return output;
}
public string GetByCompanyId(int compId)
{
if (compId > -1)
{
FillClassByCompany(compId);
}
else
{
FillClass();
}
string output = JsonConvert.SerializeObject(this);
return output;
}
public void FillClass()
{
TTWorker worker = new TTWorker();
this.Workers.Add(worker);
}
public void FillClassByWorker(int workerId)
{
if (workerId == 0)
{
try
{
TimeTrackerDataContext db = new TimeTrackerDataContext(ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString);
var workers = from p in db.Workers
where p.workerArch == false
orderby p.workerFName
select p;
foreach (var a in workers)
{
TTWorker myWorker = new TTWorker();
myWorker.Id = a.workerId;
myWorker.Title = a.workerTitle;
myWorker.FirstName = a.workerFName;
myWorker.LastName = a.workerLName;
myWorker.BillType = a.workerDefaultBillType;
this.Workers.Add(myWorker);
}
}
catch (Exception e)
{
//todo handle e
}
}
else
{
try
{
TTWorker myWorker = new TTWorker();
TimeTrackerDataContext db = new TimeTrackerDataContext(ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString);
var workers = from p in db.Workers
where p.workerId == workerId && p.workerArch == false
orderby p.workerFName
select p;
myWorker.Id = workers.First().workerId;
myWorker.BillType = workers.First().workerDefaultBillType;
myWorker.FirstName = workers.First().workerFName;
myWorker.LastName = workers.First().workerLName;
myWorker.Title = workers.First().workerTitle;
myWorker.Archived = workers.First().workerArch;
this.Workers.Add(myWorker);
}
catch (Exception e)
{
//TODO do something with e
}
}
}
public void FillClassByBillingType(int btId)
{
if (btId == 0)
{
try
{
TimeTrackerDataContext db = new TimeTrackerDataContext(ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString);
var workers = from p in db.Workers
where p.workerArch == false
orderby p.workerFName
select p;
foreach (var a in workers)
{
TTWorker myWorker = new TTWorker();
myWorker.Id = a.workerId;
myWorker.Title = a.workerTitle;
myWorker.FirstName = a.workerFName;
myWorker.LastName = a.workerLName;
myWorker.BillType = a.workerDefaultBillType;
this.Workers.Add(myWorker);
}
}
catch (Exception e)
{
//todo handle e
}
}
else
{
try
{
TimeTrackerDataContext db = new TimeTrackerDataContext(ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString);
var workers = from p in db.Workers
where p.workerArch == false && p.workerDefaultBillType == btId
orderby p.workerFName
select p;
foreach (var a in workers)
{
TTWorker myWorker = new TTWorker();
myWorker.Id = a.workerId;
myWorker.Title = a.workerTitle;
myWorker.FirstName = a.workerFName;
myWorker.LastName = a.workerLName;
myWorker.BillType = a.workerDefaultBillType;
this.Workers.Add(myWorker);
}
}
catch (Exception e)
{
//todo handle e
}
}
}
public void FillClassByCompany(int compId)
{
if (compId == 0)
{
try
{
TimeTrackerDataContext db = new TimeTrackerDataContext(ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString);
var workers = from p in db.Workers
where p.workerArch == false
orderby p.workerFName
select p;
foreach (var a in workers)
{
TTWorker myWorker = new TTWorker();
myWorker.Id = a.workerId;
myWorker.Title = a.workerTitle;
myWorker.FirstName = a.workerFName;
myWorker.LastName = a.workerLName;
myWorker.BillType = a.workerDefaultBillType;
this.Workers.Add(myWorker);
}
}
catch (Exception e)
{
//todo handle e
}
}
else
{
try
{
TimeTrackerDataContext db = new TimeTrackerDataContext(ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString);
var workers = from p in db.Workers
where p.workerArch == false && p.workerCompId == compId
orderby p.workerFName
select p;
foreach (var a in workers)
{
TTWorker myWorker = new TTWorker();
myWorker.Id = a.workerId;
myWorker.Title = a.workerTitle;
myWorker.FirstName = a.workerFName;
myWorker.LastName = a.workerLName;
myWorker.BillType = a.workerDefaultBillType;
this.Workers.Add(myWorker);
}
}
catch (Exception e)
{
//todo handle e
}
}
}
public string Count()
{
try
{
TimeTrackerDataContext db = new TimeTrackerDataContext(ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString);
var workers = from p in db.Workers
where p.workerArch == false
orderby p.workerFName
select p;
TTCount myCount = new TTCount();
if (workers.Any())
{
myCount.Items = workers.Count();
return JsonConvert.SerializeObject(myCount);
}
return JsonConvert.SerializeObject(myCount);
}
catch (Exception e)
{
return JsonConvert.SerializeObject(e);
}
}
public string CountByCompany(int companyId)
{
try
{
TimeTrackerDataContext db = new TimeTrackerDataContext(ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString);
var workers = from p in db.Workers
where p.workerArch == false && p.workerCompId == companyId
orderby p.workerFName
select p;
TTCount myCount = new TTCount();
if (workers.Any())
{
myCount.Items = workers.Count();
return JsonConvert.SerializeObject(myCount);
}
return JsonConvert.SerializeObject(myCount);
}
catch (Exception e)
{
return JsonConvert.SerializeObject(e);
}
}
public string CountByBillingType(int btId)
{
try
{
TimeTrackerDataContext db = new TimeTrackerDataContext(ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString);
var workers = from p in db.Workers
where p.workerArch == false && p.workerDefaultBillType == btId
orderby p.workerFName
select p;
TTCount myCount = new TTCount();
if (workers.Any())
{
myCount.Items = workers.Count();
return JsonConvert.SerializeObject(myCount);
}
return JsonConvert.SerializeObject(myCount);
}
catch (Exception e)
{
return JsonConvert.SerializeObject(e);
}
}
}
}
Comments
0 B
|👍
/👎