public IActionResult Post([FromBody] Financial financial) { financial.Period = 7; _context.FinancialSet.Add(financial); _context.SaveChanges(); return(Ok()); }
public bool Delete(int id) { var result = false; var x = Find(id); if (x != null) { _xcontext.Set <T>().Remove(x); _xcontext.SaveChanges(); result = true; } return(result); }
public IActionResult Post([FromBody] Quote quote) { quote.lastUpdate = DateTime.Now; _context.QuoteSet.Update(quote); _context.SaveChanges(); return(Ok()); }
public async Task <IActionResult> Post() { MicexISSClient micexClient = new MicexISSClient(new CommonLib.WebApiClient()); var apiClient = new CommonLib.WebApiClient(); TinkoffClient tinkoffClient = new TinkoffClient(apiClient); apiClient.addHeader("Authorization", "Bearer t.FwRjwQy5LHo3uXE0iQ6D4VGVFRvccr1_PItEHgLIOt4sc7QkQkBzd_eDACB0TTfnBBOWi_mtg84cPbvKwD4gpQ"); string tinkoff_stocks = await tinkoffClient.GetStocks(); string moex_json = await micexClient.GetSecurityList("shares", "TQBR"); JObject obj = JObject.Parse(tinkoff_stocks); JObject moexObj = JObject.Parse(moex_json); JArray instruments = (JArray)obj["payload"]["instruments"]; JArray moex_data = (JArray)moexObj["securities"]["data"]; IList <string> moex_columns = moexObj["securities"]["columns"].Select(c => (string)c).ToList(); int isin_column = moex_columns.IndexOf("ISIN"); IList <string> moex_isin = moex_data.Select(t => (string)t[isin_column]).ToList(); foreach (var jtoken in instruments) { SecurityRaw raw = jtoken.ToObject <SecurityRaw>(); raw.Board = moex_isin.Contains(raw.isin) ? "TQBR" : "SPBMX"; Security sec = _context.SecuritySet.Include(s => s.Emitent).SingleOrDefault(c => c.ISIN == raw.isin); if (sec != null) { raw.Processed = true; raw.Emitent = sec.Emitent.Code; } ; if (!_context.SecurityRawSet.Any(r => r.isin == raw.isin)) { _context.SecurityRawSet.Add(raw); } } _context.SaveChanges(); return(Ok()); }
public IActionResult Post([FromBody] Deal deal) { //TimeZoneInfo cstZone = TimeZoneInfo.FindSystemTimeZoneById("Russian Standard Time"); TimeZoneInfo cstZone = TimeZoneInfo.FindSystemTimeZoneById("Europe/Moscow"); deal.Date = TimeZoneInfo.ConvertTimeFromUtc(deal.Date, cstZone); deal.DeliveryDate = TimeZoneInfo.ConvertTimeFromUtc(deal.DeliveryDate, cstZone); _context.DealSet.Add(deal); _context.SaveChanges(); return(Ok()); }
//Create and Edit public static ResponseResult Update(PeminjamanViewModel entity) { ResponseResult result = new ResponseResult(); try { using (var db = new XContext()) { #region Create New / Insert if (entity.Id == 0) { x_peminjaman peminjaman = new x_peminjaman(); peminjaman.biodata_id = entity.BiodataId; peminjaman.book_id = entity.BookId; peminjaman.pegawai = entity.Pegawai; peminjaman.tanggal_pinjam = entity.TanggalPinjam; peminjaman.tanggal_kembali = entity.TanggalKembali; peminjaman.status = "Dipinjam"; peminjaman.created_by = 1; peminjaman.created_on = DateTime.Now; db.x_peminjaman.Add(peminjaman); db.SaveChanges(); result.Entity = entity; } #endregion } } catch (Exception ex) { result.Success = false; result.Message = ex.Message; } return(result); }
public static ResponseResult Pengembalian(long id, string button) { ResponseResult result = new ResponseResult(); try { using (var db = new XContext()) { x_peminjaman permission = db.x_peminjaman .Where(o => o.id == id) .FirstOrDefault(); if (id != 0) { permission.status = button; permission.modified_by = 1; permission.modified_on = DateTime.Now; permission.tanggal_dikembalikan = DateTime.Now; db.SaveChanges(); //result.Entity = entity; } else { result.Success = false; result.Message = "Not Found ! "; } } } catch (Exception ex) { result.Success = false; result.Message = ex.Message; } return(result); }
//Delete public static ResponseResult Delete(CategoryViewModel entity) { ResponseResult result = new ResponseResult(); try { using (var db = new XContext()) { x_category category = db.x_category .Where(o => o.Id == entity.Id) .FirstOrDefault(); if (category != null) { category.delete_by = 1; category.delete_on = DateTime.Now; category.is_delete = true; db.SaveChanges(); result.Entity = entity; } else { result.Success = false; result.Message = "Category Not Found ! "; } } } catch (Exception ex) { result.Success = false; result.Message = ex.Message; } return(result); }
//Delete public static ResponseResult Delete(PeminjamanViewModel entity) { ResponseResult result = new ResponseResult(); try { using (var db = new XContext()) { x_peminjaman peminjaman = db.x_peminjaman .Where(o => o.id == entity.Id) .FirstOrDefault(); if (peminjaman != null) { peminjaman.deleted_by = 1; peminjaman.deleted_on = DateTime.Now; peminjaman.is_delete = true; db.SaveChanges(); result.Entity = entity; } else { result.Success = false; result.Message = "Data Not Found ! "; } } } catch (Exception ex) { result.Success = false; result.Message = ex.Message; } return(result); }
//Create and Update public static ResponseResult Update(CategoryViewModel entity) { ResponseResult result = new ResponseResult(); try { using (var db = new XContext()) { #region Create New / Insert if (entity.Id == 0) { x_category category = new x_category(); category.initial = entity.Initial; category.name = entity.Name; category.description = entity.Description; category.is_delete = false; category.created_by = 1; category.created_on = DateTime.Now; db.x_category.Add(category); db.SaveChanges(); result.Entity = entity; } #endregion #region Edit else { x_category category = db.x_category .Where(o => o.Id == entity.Id) .FirstOrDefault(); if (category != null) { category.initial = entity.Initial; category.name = entity.Name; category.description = entity.Description; category.modified_by = 1; category.modified_on = DateTime.Now; db.SaveChanges(); result.Entity = entity; } else { result.Success = false; result.Message = "Category Not Found ! "; } } #endregion } } catch (Exception ex) { result.Success = false; result.Message = ex.Message; } return(result); }
public async Task <IActionResult> Post([FromBody] YahooRequest request) { if (request.Type == "process") { foreach (string code in request.Codes) { var raw = _context.YahooFinanceRawSet.FirstOrDefault(y => y.Code == code && y.Status == FinanceProcessEnum.Loaded); JObject obj = JObject.Parse(raw.Data); System.DateTime dateTime = new System.DateTime(1970, 1, 1, 0, 0, 0, 0); IList <CommonLib.Objects.FinanceAnnual> _reports = obj["timeSeries"]["timestamp"] .Select(s => new CommonLib.Objects.FinanceAnnual() { Id = Guid.NewGuid(), Code = code, CreateDate = DateTime.Now, Data = "", Year = dateTime.AddSeconds((int)s).Year }) .OrderByDescending(r => r.Year) .ToList(); for (int i = 0; i < _reports.Count; i++) { JObject report = new JObject(); report["financialsTemplate"] = obj["financialsTemplate"]; report["incomeStatement"] = obj["incomeStatementHistory"]["incomeStatementHistory"][i]; report["balanceSheet"] = obj["balanceSheetHistory"]["balanceSheetStatements"][i]; report["cashflowStatement"] = obj["cashflowStatementHistory"]["cashflowStatements"][i]; _reports[i].Data = report.ToString(); } foreach (var rep in _reports) { if (_context.FinanceAnnualSet.Count(f => f.Code == rep.Code && f.Year == rep.Year) == 0) { _context.FinanceAnnualSet.Add(rep); } } raw.Status = FinanceProcessEnum.Processed; _context.SaveChanges(); } } if (request.Type == "financial") { var apiClient = new CommonLib.WebApiClient(); YahooClient yahooClient = new YahooClient(apiClient); apiClient.addHeader("x-rapidapi-host", "apidojo-yahoo-finance-v1.p.rapidapi.com"); apiClient.addHeader("x-rapidapi-key", "d8c3e2c892msh13cac0704b75eb0p115a47jsn5be47ce5097d"); foreach (string code in request.Codes) { string resp = await yahooClient.GetFinancial(code); JObject obj = JObject.Parse(resp); int max_timestamp = obj["timeSeries"]["timestamp"].Select(s => (int)s).Max(); System.DateTime dateTime = new System.DateTime(1970, 1, 1, 0, 0, 0, 0); var raw = _context.YahooFinanceRawSet.FirstOrDefault(y => y.Code == code && y.Status == FinanceProcessEnum.Init); raw.Data = resp; raw.LoadDate = DateTime.Now; raw.Status = FinanceProcessEnum.Loaded; raw.LastFinance = dateTime.AddSeconds(max_timestamp); _context.SaveChanges(); } } if (request.Type == "init") { foreach (string code in request.Codes) { _context.YahooFinanceRawSet.Add(new CommonLib.Objects.YahooFinanceRaw() { Id = Guid.NewGuid(), Status = FinanceProcessEnum.Init, Code = code, }); } _context.SaveChanges(); } return(Ok()); }
public IActionResult Post() { //calculate all _context.Database.ExecuteSqlCommand("TRUNCATE TABLE \"SnapshootSet\""); _context.SaveChanges(); List <PortfolioSnapshoot> snapshoots = new List <PortfolioSnapshoot>(); IDictionary <DateTime, int> snapshootIndex = new Dictionary <DateTime, int>(); Func <PortfolioSnapshoot, PortfolioSnapshoot> copySnap = (snap) => { PortfolioSnapshoot result = new PortfolioSnapshoot(); string json = snap.toJson(); result.read(json); //result.PositionItems = snap.PositionItems.ToList(); return(result); }; Func <DateTime, PortfolioSnapshoot> getSnap = (dt) => { var _dt = dt.Date; PortfolioSnapshoot result = null; if (snapshootIndex.ContainsKey(_dt)) { result = snapshoots[snapshootIndex[_dt]]; } if (!snapshootIndex.ContainsKey(_dt)) { int lastIndex = snapshootIndex.Values.Max(); result = copySnap(snapshoots[lastIndex]); snapshootIndex.Add(_dt, lastIndex + 1); snapshoots.Add(result); } return(result); }; Action <PortfolioSnapshoot, Deal> increase = (snap, deal) => { snap.increse(deal.accountId, deal.security.Code, deal.Date.Date, deal.Count); }; Action <PortfolioSnapshoot, Deal> decrease = (snap, deal) => { snap.decrease(deal.accountId, deal.security.Code, deal.Date.Date, deal.Count); }; var deals = _context.DealSet.Include(d => d.security) //.Where(d => (d.Date > new DateTime(2017, 01, 18)) && (d.security.Code == "LKOH")) //.OrderBy(d => d.Number).ToList(); .OrderBy(d => d.Date).ThenBy(d => d.security.Region).ThenBy(d => d.Number); var dates = deals.Select(d => d.Date.Date).Distinct().OrderBy(d => d).ToList(); snapshoots.Add(new PortfolioSnapshoot()); snapshootIndex.Add(dates.First(), 0); foreach (Deal deal in deals) { var snap = getSnap(deal.Date); if (deal.Operation == OrderOperationEnum.Buy) { increase(snap, deal); } if (deal.Operation == OrderOperationEnum.Sell) { decrease(snap, deal); } } foreach (int index in snapshootIndex.Values) { SnapshootData snapshootData = new SnapshootData() { Id = Guid.NewGuid(), ChangeDate = snapshootIndex.Single(kv => kv.Value == index).Key, Data = snapshoots[index].toJson() }; _context.SnapshootSet.Add(snapshootData); } _context.SaveChanges(); string last = snapshoots.Last().toJson(); return(Ok()); }
public int Complete() { return(_xContext.SaveChanges()); }
public IActionResult Post([FromBody] ImportRequest requestModel) { if (requestModel.Object == "deal") { var dealRaws = _context.DealRawSet.ToList(); var accounts = _context.AccountSet.ToList(); foreach (DealRaw rawItem in dealRaws) { var security = _context.SecuritySet.Single(s => s.Code == rawItem.symbol); Deal deal = new Deal() { Number = rawItem.number, Operation = rawItem.operation == "Купля" ? OrderOperationEnum.Buy : OrderOperationEnum.Sell, securityId = security.Id, accountId = accounts.Single(a => a.Client == rawItem.client).Id, Board = rawItem.board, Date = DateTime.ParseExact($"{rawItem.date} {rawItem.time}", "dd.MM.yyyy HH:mm:ss", CultureInfo.InvariantCulture), DeliveryDate = DateTime.ParseExact(rawItem.delivery_date, "dd.MM.yyyy", CultureInfo.InvariantCulture), Count = rawItem.count, Price = rawItem.price, Volume = rawItem.volume, NKD = security.Market == "bonds" ? rawItem.nkd : null }; _context.DealSet.Add(deal); } _context.SaveChanges(); } if (requestModel.Object == "stock") { foreach (string isin in requestModel.ISIN) { Emitent emitent = null; SecurityRaw rawItem = _context.SecurityRawSet.Single(s => s.isin == isin); if (string.IsNullOrEmpty(rawItem.Emitent)) { emitent = new Emitent() { Code = rawItem.ticker, Name = rawItem.name, FinancialPage = rawItem.Board == "SPBMX" ? rawItem.ticker : $"{rawItem.ticker}.ME" }; } else { emitent = _context.EmitentSet.Single(e => e.Code == rawItem.Emitent); } Share stock = new Share() { Emitent = emitent, ISIN = rawItem.isin, Code = rawItem.ticker, Name = rawItem.name, Region = rawItem.Board == "SPBMX" ? "United States" : "Moscow", Currency = rawItem.currency, Market = "shares", Board = rawItem.Board }; Quote quote = new Quote() { Id = Guid.NewGuid(), figi = rawItem.figi, symbol = rawItem.ticker, Board = rawItem.Board }; _context.ShareSet.Add(stock); _context.QuoteSet.Add(quote); rawItem.Processed = true; rawItem.Emitent = emitent.Code; _context.SecurityRawSet.Update(rawItem); _context.SaveChanges(); } } return(Ok()); }
//Create and Update public static ResponseResult Update(BiodataViewModel entity) { ResponseResult result = new ResponseResult(); try { using (var db = new XContext()) { #region Create New / Insert if (entity.Id == 0) { x_biodata biodata = new x_biodata(); biodata.identity_number = entity.NPM; biodata.fullname = entity.FullName; biodata.pob = entity.Pob; biodata.dob = entity.Dob; biodata.gender = entity.Gender; biodata.religion = entity.Religion; biodata.email = entity.Email; biodata.phone_number1 = entity.Phone_number; biodata.faculty = entity.Faculty; biodata.major = entity.Major; biodata.is_delete = false; biodata.created_by = 1; biodata.created_on = DateTime.Now; db.x_biodata.Add(biodata); db.SaveChanges(); result.Entity = entity; } #endregion #region Edit else { x_biodata biodata = db.x_biodata .Where(o => o.id == entity.Id) .FirstOrDefault(); if (biodata != null) { biodata.identity_number = entity.NPM; biodata.fullname = entity.FullName; biodata.pob = entity.Pob; biodata.dob = entity.Dob; biodata.gender = entity.Gender; biodata.religion = entity.Religion; biodata.email = entity.Email; biodata.phone_number1 = entity.Phone_number; biodata.faculty = entity.Faculty; biodata.major = entity.Major; biodata.modified_by = 1; biodata.modified_on = DateTime.Now; db.SaveChanges(); result.Entity = entity; } else { result.Success = false; result.Message = "Data Not Found ! "; } } #endregion } } catch (Exception ex) { result.Success = false; result.Message = ex.Message; } return(result); }
public void Add(T model) { _xContext.Set <T>().Add(model); _xContext.SaveChanges(); }
public static ResponseResult Update(BookViewModel entity) { ResponseResult result = new ResponseResult(); try { using (var db = new XContext()) { #region Create New / Insert if (entity.Id == 0) { x_book book = new x_book(); book.category_id = entity.CategoryId; book.judul = entity.Judul; book.penerbit = entity.Penerbit; book.pengarang = entity.Pengarang; book.tahun = entity.Tahun; book.lokasi_rak = entity.LokasiRak; book.deskripsi = entity.Deskripsi; book.created_by = 1; book.created_on = DateTime.Now; db.x_book.Add(book); db.SaveChanges(); result.Entity = entity; } #endregion #region Edit else { x_book book = db.x_book .Where(o => o.id == entity.Id) .FirstOrDefault(); if (book != null) { book.category_id = entity.CategoryId; book.judul = entity.Judul; book.penerbit = entity.Penerbit; book.pengarang = entity.Pengarang; book.tahun = entity.Tahun; book.lokasi_rak = entity.LokasiRak; book.deskripsi = entity.Deskripsi; book.modified_by = 1; book.modified_on = DateTime.Now; db.SaveChanges(); result.Entity = entity; } else { result.Success = false; result.Message = "Data Not Found !"; } } #endregion } } catch (Exception ex) { result.Success = false; result.Message = ex.Message; } return(result); }
public int Clean() { return(_xcontext.SaveChanges()); }
public int Flush() { return(_xcontext.SaveChanges()); }
public void Commit() { dataContext.SaveChanges(); }