суббота, 18 декабря 2010 г.

MVC модель Repository(Поповнення)


public class PopovnennaRaxynkyRepository
    {
        private DataClasses1DataContext data()
        {
            return DataProvider.DataContext();
        }
        private DataClasses2DataContext data2()
        {
            return DataProvider.DataContextAcount();
        } 
        private Table<client> Client()
        {
            return data().client;
        }
        private Table<popovnennaRaxynky> PopovnennaRaxynku()
        {
            return data2().popovnennaRaxynky;
        }
        public decimal Check(string kod)
        {
            decimal summa=0;
            foreach (popovnennaRaxynky kodRax in PopovnennaRaxynku())
            {
                if (kodRax.numberPopodnenna == kod && kodRax.stan==false )
                {
                    summa=kodRax.summa.Value;
                    kodRax.stan = true;
                    data2().SubmitChanges();
                }
            }
            return summa;
        }
       
    }

MVC модель Repository(Акаунты)




 public class AccountRepository
    {
        private DataClasses2DataContext data()
        {
            return DataProvider.DataContextAcount();
        }
        private Table<Account> Accounts()
        {
            return data().Account;
        }
        public bool Check(string name, string pass)
        {
            bool Check=false;     
            foreach (Account account in Accounts())
            {
                if (account.login.ToString().Trim() == name && account.password.ToString().Trim()== pass && account.idPosadu==4)
                {                  
                    return Check = true;
                }
            }      
            return Check;
        }
        public int IDOper(string name)
        {           
            return (from s in Accounts()
                    where (s.login == name)
                    select s.id).Single();
        }
        public int IDClient(string name)
        {
            return (from s in Accounts()
                    where (s.login == name)
                    select s.idClient).Single().Value;
        }       


        public string Name(int id)
        {
            return (from s in Accounts()
                    where (s.id == id)
                    select s.login).Single().ToString();
        }
        public string CreateUser(string login, string password, int idclient)
        {            
            Account accounts = new Account();
            accounts.login = login;
            accounts.password = password;
            accounts.idClient = idclient;
            accounts.ip = "172.16.25.11";
            accounts.idPosadu =5;
            Accounts().InsertOnSubmit(accounts);
            data().SubmitChanges();
            return "Створений коричтувач";
        }
    }

четверг, 16 декабря 2010 г.

Скрипт создания базы данных


USE [Abonka]
GO
/****** Object:  Table [dbo].[znuwku]    Script Date: 12/19/2010 18:45:38 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[znuwku](
[id] [int] IDENTITY(1,1) NOT NULL,
[vidsotok] [int] NULL,
[abonStaw] [int] NULL,
 CONSTRAINT [PK_znuwku] PRIMARY KEY CLUSTERED 
(
[id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object:  Table [dbo].[poslygu]    Script Date: 12/19/2010 18:45:36 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[poslygu](
[id] [int] IDENTITY(1,1) NOT NULL,
[opus] [nvarchar](50) NULL,
[truvalist] [datetime] NULL,
[vartist] [money] NULL,
 CONSTRAINT [PK_poslygu] PRIMARY KEY CLUSTERED 
(
[id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object:  Table [dbo].[taruf]    Script Date: 12/19/2010 18:45:37 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[taruf](
[id] [int] IDENTITY(1,1) NOT NULL,
[name] [nchar](10) NULL,
[vartist] [money] NULL,
 CONSTRAINT [PK_taruf] PRIMARY KEY CLUSTERED 
(
[id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object:  Table [dbo].[client]    Script Date: 12/19/2010 18:45:30 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[client](
[id] [int] IDENTITY(1,1) NOT NULL,
[idTaruf] [int] NULL,
[pib] [nvarchar](50) NULL,
[kilkPC] [int] NULL,
[dateConnect] [datetime] NULL CONSTRAINT [DF_client_dateConnect]  DEFAULT (getdate()),
[numberZnawku] [int] NULL,
[abonPlata] [money] NULL,
[stanClient] [nvarchar](50) NULL,
[summaNaRaxynky] [money] NULL,
[idAccount] [int] NULL,
[Misve] [varchar](50) NULL,
 CONSTRAINT [PK_Client] PRIMARY KEY CLUSTERED 
(
[id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object:  Table [dbo].[poslugeClient]    Script Date: 12/19/2010 18:45:34 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[poslugeClient](
[id] [int] IDENTITY(1,1) NOT NULL,
[idClient] [int] NULL,
[idPoslugu] [int] NULL,
 CONSTRAINT [PK_poslugeClient] PRIMARY KEY CLUSTERED 
(
[id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object:  Table [dbo].[oplata]    Script Date: 12/19/2010 18:45:33 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[oplata](
[id] [int] IDENTITY(1,1) NOT NULL,
[idClient] [int] NOT NULL,
[dateTimeOplatu] [datetime] NOT NULL CONSTRAINT [DF_oplata_dateTimeOplatu]  DEFAULT (getdate()),
[oplachenoDo] [datetime] NOT NULL,
[idOperator] [int] NULL,
[numberPopovnenna] [int] NULL,
[summa] [money] NOT NULL,
 CONSTRAINT [PK_oplata] PRIMARY KEY CLUSTERED 
(
[id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object:  ForeignKey [FK_client_taruf]    Script Date: 12/19/2010 18:45:31 ******/
ALTER TABLE [dbo].[client]  WITH CHECK ADD  CONSTRAINT [FK_client_taruf] FOREIGN KEY([idTaruf])
REFERENCES [dbo].[taruf] ([id])
GO
ALTER TABLE [dbo].[client] CHECK CONSTRAINT [FK_client_taruf]
GO
/****** Object:  ForeignKey [FK_client_znuwku]    Script Date: 12/19/2010 18:45:31 ******/
ALTER TABLE [dbo].[client]  WITH CHECK ADD  CONSTRAINT [FK_client_znuwku] FOREIGN KEY([numberZnawku])
REFERENCES [dbo].[znuwku] ([id])
GO
ALTER TABLE [dbo].[client] CHECK CONSTRAINT [FK_client_znuwku]
GO
/****** Object:  ForeignKey [FK_oplata_client]    Script Date: 12/19/2010 18:45:33 ******/
ALTER TABLE [dbo].[oplata]  WITH CHECK ADD  CONSTRAINT [FK_oplata_client] FOREIGN KEY([idClient])
REFERENCES [dbo].[client] ([id])
GO
ALTER TABLE [dbo].[oplata] CHECK CONSTRAINT [FK_oplata_client]
GO
/****** Object:  ForeignKey [FK_poslugeClient_poslygu]    Script Date: 12/19/2010 18:45:34 ******/
ALTER TABLE [dbo].[poslugeClient]  WITH CHECK ADD  CONSTRAINT [FK_poslugeClient_poslygu] FOREIGN KEY([idPoslugu])
REFERENCES [dbo].[poslygu] ([id])
GO
ALTER TABLE [dbo].[poslugeClient] CHECK CONSTRAINT [FK_poslugeClient_poslygu]
GO






--------------------------------------------------------------------------------------------------






USE [Account]
GO
/****** Object:  Table [dbo].[posada]    Script Date: 12/19/2010 18:46:57 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[posada](
[id] [int] IDENTITY(1,1) NOT NULL,
[posada] [nchar](10) NULL,
 CONSTRAINT [PK_posada] PRIMARY KEY CLUSTERED 
(
[id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object:  Table [dbo].[popovnennaRaxynky]    Script Date: 12/19/2010 18:46:54 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[popovnennaRaxynky](
[id] [int] IDENTITY(1,1) NOT NULL,
[numberPopodnenna] [nvarchar](50) NULL,
[summa] [money] NULL,
[stan] [bit] NULL,
 CONSTRAINT [PK_popovnennaRaxynky] PRIMARY KEY CLUSTERED 
(
[id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object:  Table [dbo].[Account]    Script Date: 12/19/2010 18:46:56 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Account](
[id] [int] IDENTITY(1,1) NOT NULL,
[login] [nvarchar](50) NULL,
[password] [nvarchar](50) NULL,
[ip] [nvarchar](50) NULL,
[idPosadu] [int] NULL,
[idClient] [int] NULL,
 CONSTRAINT [PK_Account] PRIMARY KEY CLUSTERED 
(
[id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object:  ForeignKey [FK_Account_posada1]    Script Date: 12/19/2010 18:46:56 ******/
ALTER TABLE [dbo].[Account]  WITH CHECK ADD  CONSTRAINT [FK_Account_posada1] FOREIGN KEY([idPosadu])
REFERENCES [dbo].[posada] ([id])
GO
ALTER TABLE [dbo].[Account] CHECK CONSTRAINT [FK_Account_posada1]
GO

Диаграмма базы данных

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;
        }
      
    }

MVC модель Repository(Оплата)





 public class OplataRepository
    {
        private DataClasses1DataContext data()
        {
            return DataProvider.DataContext();
        }
        private Table<oplata> Oplata()
        {
            return data().oplata;
        }
        private Table<client> Client()
        {
            return data().client;
        }
        public string AddOplataClietnt(int id, int month,decimal valuta,int IDOper)
        {
            DateTime t = ZvitOplataLast(id).oplachenoDo;
            client c = Client().Single(o => o.id == id);
            oplata opp = new oplata();
            opp.idOperator = IDOper;
            opp.numberPopovnenna = 0;
            opp.dateTimeOplatu = DateTime.Now;
            opp.oplachenoDo = t.AddMonths(month);
            opp.summa = valuta;
            c.oplata.Add(opp);
            data().SubmitChanges();
            return "Оплата внесена";
        }
        public string AddOplataClietnts(int id, decimal valuta, int IDOper)
        {
            DateTime t = DateTime.Now;
            client c = Client().Single(o => o.id == id);
            oplata opp = new oplata();
            opp.idOperator = IDOper;
            opp.numberPopovnenna = 0;
            opp.dateTimeOplatu = DateTime.Now;
            opp.oplachenoDo = t.AddMonths(1);
            opp.summa = valuta;
            c.oplata.Add(opp);
            data().SubmitChanges();
            return "Оплата внесена";
        }
        public decimal AddOplataTerminal(int id, int month, decimal valuta)
        {
            DateTime t = ZvitOplataLast(id).oplachenoDo;
            client c = Client().Single(o => o.id == id);
            oplata opp = new oplata();
            opp.numberPopovnenna = 0;
            opp.dateTimeOplatu = DateTime.Now;
            opp.oplachenoDo = t.AddMonths(month);
            opp.summa = valuta * month;
            c.oplata.Add(opp);
            data().SubmitChanges();


            return opp.summa;
        }
      
        public decimal obraxynokSumma(decimal taruf,int kilk,int znuwka,int month)
        {
            decimal summa = taruf * month * kilk;
            decimal summaZnawkouuu = summa - (summa * znuwka / 100);
            return summaZnawkouuu;
        }
        public decimal obraxynokSummaStart(decimal tarufss, int kilk)
        {      
            decimal p = tarufss * kilk;
            return p;
        }
        public IQueryable ZvitOplata(int id)
        {
            return from opp in Oplata()
                   where (id == opp.idClient)
                   select new
                   {
                       Індентифікатор = opp.id,
                       Дата_операції =opp.dateTimeOplatu,
                       Оплачено_до = opp.oplachenoDo,
                       Сума = opp.summa
                   };
        }
        public oplata ZvitOplataLast(int id)
        {
            return (from opp in Oplata()
                    from c in Client()
                    where (c.id == opp.idClient)
                    select opp).ToList().Last();       
                   
        }
    }

вторник, 23 ноября 2010 г.

Чтение данных с Excel

 public class TarufExcel
    {
        private DataClasses1DataContext data()
        {
            return DataProvider.DataContext();
        }


        private OleDbConnection Connection()
        {
           return DataProvider.ConnectionExcel();
        }


        public TarufExcel()
        {
            Connection().Open();           
            AdapterFill();
        }
        // Получаем списко листов в файле
        private DataTable ListSheetInFile()
        {
            return Connection().GetOleDbSchemaTable(OleDbSchemaGuid.Tables,
                                     new object[] { null, null, null, "TABLE" });
        }


        private string NameFirstSheet()
        {
            return (string)ListSheetInFile().Rows[0].ItemArray[2];
        }
        // Выбираем все данные с листа
        private string FullDataInFile()
        {
            return String.Format("SELECT * FROM [{0}]", NameFirstSheet());
        }


        OleDbDataAdapter adapte;
        private OleDbDataAdapter DataAdapterTaruf()
        {
           if(adapte==null)
            adapte = new OleDbDataAdapter(FullDataInFile(), Connection());
            return adapte;
        }


        DataSet ds=new DataSet("EXCEL");        
        private void AdapterFill()
        {
          
            DataAdapterTaruf().Fill(ds);
        }
        public DataTable dataTable()
        {            
            return ds.Tables[0];
        }
       
       
        public DataTable dataRow(int i)
        {
            DataTable NewTable = dataTable().Rows[i].Table.Clone();
            NewTable.BeginLoadData();
            NewTable.LoadDataRow(dataTable().Rows[i].ItemArray, true);
            NewTable.EndLoadData();
            return NewTable;        
        }


        taruf t;
        public void CopyExcelToDatabase()
        {            
            foreach(DataRow row in dataTable().Rows)
            {
                t = new taruf();
                t.name = Convert.ToString(row.ItemArray[0]);
                t.cena = Convert.ToInt32(row.ItemArray[1]);
                data().taruf.InsertOnSubmit(t);
                data().SubmitChanges();
            }
        }
    }

суббота, 20 ноября 2010 г.

ASP.NET MVC с использованием LINQ

NerdDinner. Шаг 3: Построение модели

MVC модель DataProvider


    public class DataProvider
    {
        static string
            connectionString = Abonka.Properties.Settings.Default.AbonkaConnectionString;


        static DataClasses1DataContext dataContext;
        public static DataClasses1DataContext DataContext()
        {          
                if (dataContext == null)
                    dataContext = new DataClasses1DataContext(connectionString);


                return dataContext;         
        }






        static string
           _connectionString = Abonka.Properties.Settings.Default.AcountConnectionString;


        static DataClasses1DataContext dataContextAcount;
        public static DataClasses1DataContext DataContextAcount()
        {
            if (dataContextAcount == null)
                dataContextAcount = new DataClasses1DataContext(_connectionString);


            return dataContextAcount;
        }   
    }
}

MVC модель Repository ( Тарифи )




public class TarufRepository
    {
        private DataClasses1DataContext data()
        {
            return DataProvider.DataContext();
        }


        public IQueryable<taruf> GetTarufs()
        {
            return data().taruf.OrderBy(t => t.name).Cast<taruf>();
        }


        public IQueryable<taruf> GetTarufs(taruf tarufs)
        {
            return data().taruf.Select(t => t.id == tarufs.id).Cast<taruf>();
        }


        public taruf GetTaruf(int tarufId)
        {
            return data().taruf.SingleOrDefault(t => t.id == tarufId);
        }


        public void DeleteTaruf(int tarufId)
        {
            data().taruf.DeleteOnSubmit(GetTaruf(tarufId));
            data().SubmitChanges();
        }


        public void UpdateTaruf(taruf Taruf)
        {
            taruf data1 = GetTaruf(Taruf.id);
            data1.id = Taruf.id;
            data1.name = Taruf.name;
            data1.vartist = Taruf.vartist;
            data().SubmitChanges();
        }


        public taruf CreateTaruf(string name, int vartist)
        {
            taruf tar = new taruf();
            tar.name = name;
            tar.vartist = vartist;
            data().taruf.InsertOnSubmit(tar);
            data().SubmitChanges();
            return tar;
        }


        public ObservableCollection<taruf> GetTaruf()
        {
            return new ObservableCollection<taruf>(data().taruf);
        }       


        public void DelTaruf()
        {
            var delete = from pole in data().taruf
                         select pole;


            foreach (var name in delete)
            {
                data().taruf.DeleteOnSubmit(name);
            }
            SaveTaruf();       
        }


        public string SaveTaruf()
        {
            string error = "Дані оновлені!";
            try
            {
                data().SubmitChanges();
            }
            catch (Exception ext)
            {
                error = "Помилка, ви не коректно вели дані";
            }
            return error;
        }
        public IQueryable<taruf> Search(string name)
        {
            return data().taruf.Where(o => o.name.StartsWith(name));
        }
        public object TarufName()
        {
            return from s in data().taruf
                   select s.name;
        }
        public decimal TarufNameVartist(string tar)
        {
            return (from s in data().taruf
                   where s.name==tar
                   select s.vartist).Single().Value;
        }
        public object TarufSetName(string tar)
        {
            return from s in data().taruf
                   where s.name!=tar
                   select s.name;
        }
        public int TarufSetClient(string tar)
        {
            return (from s in data().taruf
                    where s.name==tar
                    select s.id).Single();
        }
        public int TarufNameID(string tar)
        {
            return (from s in data().taruf
                    where s.name == tar
                    select s.id).Single();
        }
    }