четверг, 16 декабря 2010 г.
MVC модель Repository (Клиенты)
public class ClientRepository
{
public int id { get; set; }
private DataClasses1DataContext data()
{
return DataProvider.DataContext();
}
private Table<client> Client()
{
return data().client;
}
public IQueryable<client> GetClients()
{
return data().client.OrderBy(t => t.pib).Cast<client>();
}
public IQueryable<client> GetClients(client clients)
{
return data().client.Select(t => t.id == clients.id).Cast<client>();
}
public client GetClient(int clientId)
{
return data().client.SingleOrDefault(t => t.id == clientId);
}
public IQueryable Search(string name)
{
return from cl in data().client
where cl.pib.StartsWith(name)
select new
{
ID=cl.id,
ПІБ = cl.pib,
Тариф = cl.taruf.name,
Ціна_тарифа = cl.taruf.vartist,
Кількість_ПК = cl.kilkPC,
Дата_підключення = cl.dateConnect,
Абоненський_стаж = cl.znuwku.abonStaw,
Відсоток_знижки = cl.znuwku.vidsotok
};
}
public void DeleteClient(int clientId)
{
data().client.DeleteOnSubmit(GetClient(clientId));
data().SubmitChanges();
}
public void UpdateClient(client Client)
{
client data = GetClient(Client.id);
data.id = Client.id;
data.idTaruf = Client.idTaruf;
data.pib = Client.pib;
data.kilkPC = Client.kilkPC;
data.dateConnect=Client.dateConnect;
data.numberZnawku = Client.numberZnawku;
data.abonPlata = Client.abonPlata;
data.stanClient = Client.stanClient;
data.summaNaRaxynky = Client.summaNaRaxynky;
data.idAccount = Client.idAccount;
DataProvider.DataContext().SubmitChanges();
}
public IQueryable GetClientView()
{
return from cl in data().client
select new
{
ID = cl.id,
ПІБ=cl.pib,
Тариф=cl.taruf.name,
Ціна_тарифа=cl.taruf.vartist,
Кількість_ПК=cl.kilkPC,
Дата_підключення=cl.dateConnect,
Абоненський_стаж=cl.znuwku.abonStaw,
Відсоток_знижки=cl.znuwku.vidsotok
};
}
public int CalculationStaw1()
{
DateTime d1 = DateTime.Parse("06.11.2005"), d2 = DateTime.Parse("05.11.2010");
TimeSpan ts = d2.Subtract(d1);
int p =Convert.ToInt32(ts.TotalDays / 365);
return p;
}
public void CalculationStaw()
{
var qvery=data().client;
int qveryStaw=0;
int client;
int t;
foreach (client p in qvery)
{
client = CalculationStawClient(p.dateConnect.Value);
qveryStaw = (from n in data().znuwku
where (n.abonStaw == client)
select n).Single().id;
p.numberZnawku = qveryStaw;
}
}
public int CalculationStawClient(DateTime date)
{
DateTime d1 = DateTime.Today;
TimeSpan ts = date.Subtract(d1);
int p = Convert.ToInt32(ts.TotalDays / 365);
return p;
}
public void Save()
{
data().SubmitChanges();
}
int len;
public int[] idClient()
{
int[] Qvery = (from p in data().client
select p.id).ToArray();
len = Qvery.Length;
return Qvery;
}
public int[] IdTarufInClient()
{
int[] Qvery = (from p in data().client
select p.idTaruf.Value).ToArray();
return Qvery;
}
public bool IdTarufInClientParam(int r)
{
bool t=true;
foreach (int array in IdTarufInClient())
{
if (r == array) t = false;
}
return t;
}
public bool IsnueClientTaruf(int t1)
{
bool p = true;
var qvery=from cls in data().client
where t1==cls.idTaruf
select cls;
if (qvery.Count()== 0) { p = false; }
return p;
}
public string SetTarufClient(int t1,int t2)
{
var Qvery = from p in data().client
where p.idTaruf == t1
select p;
foreach(client cl in Qvery)
{
cl.idTaruf = t2;
}
data().SubmitChanges();
return "Передеденно клієнтів на інший тариф";
}
public string Name(int id)
{
return (from s in Client()
where (s.id == id)
select s.pib).Single().ToString();
}
public decimal summaRaxynok(int id)
{
return (from s in Client()
where (s.id == id)
select s.summaNaRaxynky).Single().Value;
}
public decimal AddSummaRaxynok(decimal summa,int id)
{
client cl = Client().Single(o=>o.id==id);
cl.summaNaRaxynky += summa;
data().SubmitChanges();
return cl.summaNaRaxynky.Value;
}
public decimal RemoveSummaRaxynok(decimal summa, int id)
{
client cl = Client().Single(o => o.id == id);
cl.summaNaRaxynky -= summa;
data().SubmitChanges();
return cl.summaNaRaxynky.Value;
}
}
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий