/// <summary> /// 获取Table集合根据数据源 /// </summary> /// <param name="link"></param> /// <returns></returns> public IEnumerable <TableModel> GetTables([FromUri] data_source data_source) { db = DbFactory.GetDbHelper(data_source.TypeCode, data_source.Link); var table = db.GetTables(data_source.DbName); return(table); }
public IHttpActionResult Getdata_source(long id) { data_source data_source = db.data_source.Find(id); if (data_source == null) { return(NotFound()); } return(Ok(data_source)); }
//insert public static void Insert(DbLink dbLink, data_source dataSource) { string queryAmount = "select count(*) from data_source"; int ord_id = dbLink.GetConnection().QueryFirstOrDefault <int>(queryAmount); dataSource.ord_id = ord_id + 1; string query = string.Format(@"insert into data_source(ds_id, ident, description, ord_id) values(nextval('mir_sequence'), @ident, @description, @ord_id)"); dbLink.GetConnection().Execute(query, dataSource); }
public IHttpActionResult Deletedata_source(long id) { data_source data_source = db.data_source.Find(id); if (data_source == null) { return(NotFound()); } data_source.State = (int)DataState.Deleted; db.SaveChanges(); return(Ok(data_source)); }
public IHttpActionResult Postdata_source(data_source data_source) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } data_source.CreateTime = DateTime.Now; data_source.Creator = "self"; data_source.Modifier = "self"; data_source.ModifyTime = DateTime.Now; data_source.UserId = 1; db.data_source.Add(data_source); try { db.SaveChanges(); var dbHelper = DbFactory.GetDbHelper(data_source.TypeCode, data_source.Link); var nowDate = DateTime.Now; var fields = dbHelper.GetFields(data_source.TableName).Select(a => new data_source_fields { DataSourceId = data_source.Id, DataSourceName = data_source.DataSourceName, FieldComment = a.FieldComment, FieldLength = a.FieldLength, FieldName = a.FieldName, FieldType = a.FieldType, TableName = a.TableName, UserId = 1, UserName = "******", }); db.data_source_fields.AddRange(fields); db.SaveChanges(); } catch (DbUpdateException) { if (data_sourceExists(data_source.Id)) { return(Conflict()); } else { throw; } } return(CreatedAtRoute("DefaultApi", new { id = data_source.Id }, data_source)); }
public void TestInsertDataSource() { var tempConnection = DataBaseLink.Fabricate.CreateConnection(_connection, ConnectionType.Npgsql); DataBaseLink.DbLink dbLink = new DbLink(tempConnection); data_source dataSource = new data_source(); dataSource.ident = "CALCULATED"; dataSource.description = "valid data"; if (DataSource.FindId(dbLink, dataSource.ident) == null) { DataSource.Insert(dbLink, dataSource); } }
public IHttpActionResult Putdata_source(long id, data_source data_source) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (db.data_source.Any(a => a.DataSourceName == data_source.DataSourceName)) { return(BadRequest(ModelState)); } if (id != data_source.Id) { return(BadRequest()); } db.Entry(data_source).State = EntityState.Modified; try { var count = db.SaveChanges(); if (count > 0) { } } catch (DbUpdateConcurrencyException) { if (!data_sourceExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
private void Save(Dictionary <PortfolioPosition, TimeSeries> storage) { foreach (var x in storage) { var transaction = _dbLink.GetConnection().BeginTransaction(IsolationLevel.ReadCommitted); try { // найдем тип финансового инструмента var finIdent = x.Key.Ident; var finType = x.Key.FinType; string finTypeIdent = _mapping.GetAI(finType); #region финансовый инструмент fin_instrument finInstrument = new fin_instrument() { ident = finIdent, title = finIdent, ft_id = int.Parse(finTypeIdent) }; if (FinInstrument.FindId(_dbLink, finInstrument.ident) == null) { FinInstrument.Insert(_dbLink, finInstrument); } finInstrument = FinInstrument.FindId(_dbLink, finInstrument.ident); #endregion #region Data_source data_source dataSource = new data_source() { ident = _providerParams[SCALAR].ToString(), }; dataSource = DataSource.FindId(_dbLink, dataSource.ident); #endregion #region fisd_id ffd ffd = new ffd() { ds_id = dataSource.ds_id, fi_id = finInstrument.fi_id, fif_id = int.Parse(_mapping.GetAI(x.Value.Attribute)) }; if (FFD.Find(_dbLink, ffd.fi_id, ffd.ds_id, ffd.fif_id) == null) { FFD.Insert(_dbLink, ffd); } ffd = FFD.Find(_dbLink, ffd.fi_id, ffd.ds_id, ffd.fif_id); #endregion #region TimeSeries foreach (var z in x.Value.Series) { fisd_dq fisd_dq = new fisd_dq() { dat = z.Key, val = z.Value, fisd_id = ffd.fisd_id }; if (FisdDq.FindId(_dbLink, fisd_dq.fisd_id, fisd_dq.dat) == null) { FisdDq.Insert(_dbLink, fisd_dq); } else { FisdDq.Update(_dbLink, fisd_dq); } } #endregion transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); } } }
private void Save(Dictionary <KeyValuePair <PortfolioPosition, Enum>, ScalarNum> storage) { foreach (var x in storage) { var transaction = _dbLink.GetConnection().BeginTransaction(IsolationLevel.ReadCommitted); try { // найдем тип финансового инструмента var finIdent = x.Key.Key.Ident; var finType = x.Key.Key.FinType; string finTypeIdent = _mapping.GetAI(finType); #region финансовый инструмент fin_instrument finInstrument = new fin_instrument() { ident = finIdent, title = finIdent, ft_id = int.Parse(finTypeIdent) }; if (FinInstrument.FindId(_dbLink, finInstrument.ident) == null) { FinInstrument.Insert(_dbLink, finInstrument); } finInstrument = FinInstrument.FindId(_dbLink, finInstrument.ident); #endregion #region Data_source data_source dataSource = new data_source() { ident = _providerParams[SCALAR].ToString(), }; dataSource = DataSource.FindId(_dbLink, dataSource.ident); #endregion #region fisd_id ffd ffd = new ffd() { ds_id = dataSource.ds_id, fi_id = finInstrument.fi_id, fif_id = int.Parse(_mapping.GetAI(x.Key.Value)) }; if (FFD.Find(_dbLink, ffd.fi_id, ffd.ds_id, ffd.fif_id) == null) { FFD.Insert(_dbLink, ffd); } ffd = FFD.Find(_dbLink, ffd.fi_id, ffd.ds_id, ffd.fif_id); #endregion fisd_num fisdNum = new fisd_num() { dat_from = x.Value.Dictionary.First().Key, fisd_id = ffd.fisd_id, val = x.Value.Dictionary.First().Value }; FisdNum.Insert(_dbLink, fisdNum); transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); } } }
private void Save(Dictionary <PortfolioPosition, CashFlow> dictionary) { foreach (var x in dictionary) { var transaction = _dbLink.GetConnection().BeginTransaction(IsolationLevel.ReadCommitted); try { var finIdent = x.Key.Ident; var finType = x.Key.FinType; string finTypeIdent = _mapping.GetAI(finType); #region финансовый инструмент fin_instrument finInstrument = new fin_instrument() { ident = finIdent, title = finIdent, ft_id = int.Parse(finTypeIdent) }; if (FinInstrument.FindId(_dbLink, finInstrument.ident) == null) { FinInstrument.Insert(_dbLink, finInstrument); } finInstrument = FinInstrument.FindId(_dbLink, finInstrument.ident); #endregion #region Data_source data_source dataSource = new data_source() { ident = _providerParams[SCALAR].ToString(), }; dataSource = DataSource.FindId(_dbLink, dataSource.ident); #endregion #region fcs fcs ffd = new fcs() { ds_id = dataSource.ds_id, fi_id = finInstrument.fi_id, ct_id = int.Parse(_mapping.GetAI(x.Value.Attribute)) }; if (FCS.Find(_dbLink, ffd.fi_id, ffd.ds_id, ffd.ct_id) == null) { FCS.Insert(_dbLink, ffd); } ffd = FCS.Find(_dbLink, ffd.fi_id, ffd.ds_id, ffd.ct_id); #endregion #region Денежный поток foreach (var z in x.Value.Values) { cashflow cf = new cashflow() { cf_id = ffd.cf_id, dat = z.Key, val = z.Value, valid_dat = (DateTime)_providerParams[REPORTDATE] }; if (Cashflow.FindId(_dbLink, cf.cf_id, cf.dat, cf.valid_dat) == null) { //первое значение, следовательно 01.01.1900 год cf.valid_dat = new DateTime(1900, 01, 01); Cashflow.Insert(_dbLink, cf); } else { Cashflow.Insert(_dbLink, cf); } } #endregion transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); } } }