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();
}
}
}
вторник, 23 ноября 2010 г.
суббота, 20 ноября 2010 г.
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();
}
}
Подписаться на:
Комментарии (Atom)