Example #1
0
        public IActionResult Post([FromBody] Krs value)
        {
            KrsRepo krs      = new KrsRepo();
            var     feedback = krs.insert(value);

            return(Ok(feedback));
        }
Example #2
0
 public static OHLCBar HistoricalDataEventArgsToOHLCBar(Krs.Ats.IBNet.HistoricalDataEventArgs e)
 {
     var bar = new OHLCBar
     {
         DTOpen = e.Date,
         Open = e.Open,
         High = e.High,
         Low = e.Low,
         Close = e.Close,
         Volume = e.Volume,
     };
     return bar;
 }
Example #3
0
        public IActionResult Put([FromBody] Krs value)
        {
            KrsRepo krs = new KrsRepo();

            if (krs.update(value) == true)
            {
                return(Ok(value));
            }
            else
            {
                var response = new ContentResult()
                {
                    StatusCode = StatusCodes.Status404NotFound,
                };
                return(response);
            }
        }
Example #4
0
        public IActionResult Delete(int id)
        {
            KrsRepo krs = new KrsRepo();
            Krs     kr  = new Krs();

            kr.Id = id;
            if (krs.delete(kr) == true)
            {
                return(Ok(kr));
            }
            else
            {
                var response = new ContentResult()
                {
                    StatusCode = StatusCodes.Status404NotFound,
                };
                return(response);
            }
        }
Example #5
0
        public Krs GetKrsforCreate(string nim, string periode, string semester)
        {
            Krs data = new Krs();

            using (SqlConnection conn = new SqlConnection(GetConnStr()))
            {
                var strSql = @"select * from Krs where Nim='" + nim + "' and Periode='" + periode + "' and Semester='" + semester + "'";
                var krs    = conn.QuerySingleOrDefault <Krs>(strSql);

                data.Id_krs   = krs.Id_krs;
                data.Nim      = krs.Nim;
                data.Semester = krs.Semester;
                data.Periode  = krs.Periode;

                var sql2 = @"select Kode_Transkrip from Transkrip_Nilai where Nim='" + nim + "' and Periode='" + periode + "' and Semester='" + semester + "'";
                var i    = conn.QueryFirstOrDefault <int>(sql2);

                if (i > 0)
                {
                    var sql1 = @"select g.id, g.Kode_matkul, m.Nama_makul, m.SKS, m.Harga, g.Grup, d.Nilai" +
                               " from Detail_KRS de inner join Grup_makul g on de.id_makul=g.id inner join Mata_Kuliah m on g.Kode_matkul=m.Kode_matkul " +
                               "inner join Detail_Transkrip d on g.id=d.id_makul where de.Id_krs=" + krs.Id_krs + " and d.Kode_Transkrip=" + i;
                    var det = conn.Query <DetailKrs_ViewModel>(sql1);
                    data.detail = det;
                }
                else
                {
                    var sql1 = @"select g.id, g.Kode_matkul, m.Nama_makul, m.SKS, m.Harga, g.Grup" +
                               " from Detail_KRS de inner join Grup_makul g on de.id_makul=g.id inner join Mata_Kuliah m on g.Kode_matkul=m.Kode_matkul " +
                               "where de.Id_krs=" + krs.Id_krs;
                    var det = conn.Query <DetailKrs_ViewModel>(sql1);
                    data.detail = det;
                }
            }
            return(data);
        }
Example #6
0
 public static QDMS.BarSize BarSizeConverter(Krs.Ats.IBNet.BarSize freq)
 {
     if (freq == Krs.Ats.IBNet.BarSize.OneYear) return QDMS.BarSize.OneYear;
     return (QDMS.BarSize)(int)freq;
 }
        //cancelReplace

        public void errorReceived(Object sender, Krs.Ats.IBNet.ErrorEventArgs e)
        {
            log.Error("ERROR " + e.ErrorCode + " for ticker " + e.TickerId + ": " + e.ErrorMsg);
        }
        private void placeOrder(Krs.Ats.IBNet.Order order, Krs.Ats.IBNet.Contract contract)
        {
            orderInputQueue.Remove(order);
            openOrders.Add(order.OrderId, order);

            //Send the order to Interactive Brokers
            ibClient.PlaceOrder(order.OrderId, contract, order);
        }
Example #9
0
 void client_Error(object sender, Krs.Ats.IBNet.ErrorEventArgs e)
 {
     logger.Error(" TWS Message TickerId={0} ErrorCode={1} MSG:{2}", e.TickerId, e.ErrorCode, e.ErrorMsg);
     //if (e.ErrorCode.ToString() == "1100" || e.ErrorCode.ToString() == "1300") // see http://www.interactivebrokers.com/php/apiguide/interoperability/socket_client_c++/errors.htm
     //{
     //    logger.Error(" Requesting reconnect...");
     //    reconnectRequested = true;
     //}
 }
Example #10
0
        public Krs GetKrs(string nim, string periode2, string semester2)
        {
            Krs data     = new Krs();
            var tahun    = DateTime.Now.Year;
            var bulan    = DateTime.Now.Month;
            var angkatan = getAngkatan(nim);
            var semester = "";
            var periode  = "";
            var sem      = (Int32.Parse(tahun.ToString()) - Int32.Parse(angkatan)) * 2;

            if (bulan > 7)
            {
                sem    += 1;
                periode = tahun.ToString() + "/" + (tahun + 1).ToString();
            }
            else
            {
                periode = (tahun - 1).ToString() + "/" + tahun.ToString();
            }
            if (sem % 2 == 0)
            {
                semester = "Genap";
            }
            else
            {
                semester = "Ganjil";
            }
            using (SqlConnection conn = new SqlConnection(GetConnStr()))
            {
                Krs krs = new Krs();
                if (periode2 == null && semester2 == null)
                {
                    var strSql = @"select k.Id_Krs, k.Nim, m.Nama_mhs as Nama, k.Semester, k.Periode from Krs k inner join Mahasiswa m on k.Nim=m.Nim where k.Nim=" + nim + " and k.Periode='" + periode + "' and k.Semester='" + semester + "'";
                    krs = conn.QuerySingleOrDefault <Krs>(strSql);
                }
                else
                {
                    var strSql = @"select k.Id_Krs, k.Nim, m.Nama_mhs as Nama, k.Semester, k.Periode from Krs k inner join Mahasiswa m on k.Nim=m.Nim where k.Nim=" + nim + " and k.Periode='" + periode2 + "' and k.Semester='" + semester2 + "'";
                    krs = conn.QuerySingleOrDefault <Krs>(strSql);
                }

                if (krs == null)
                {
                    var sql2  = @"insert into Krs (Nim, Semester, Periode) values(@nim, @semester, @periode)";
                    var param = new { nim = nim, semester = semester, periode = periode };
                    conn.Execute(sql2, param);

                    var sql3 = @"select k.Id_Krs, k.Nim, m.Nama_mhs as Nama, k.Semester, k.Periode from Krs k inner join Mahasiswa m on k.Nim=m.Nim where k.Nim=" + nim + " and k.Periode='" + periode + "' and k.Semester='" + semester + "'";
                    krs = conn.QuerySingleOrDefault <Krs>(sql3);
                }
                data.Id_krs   = krs.Id_krs;
                data.Nim      = krs.Nim;
                data.Nama     = krs.Nama;
                data.Semester = krs.Semester;
                data.Periode  = krs.Periode;

                var sql1 = @"select g.id, g.Kode_matkul, m.Nama_makul, m.SKS, m.Harga, g.Grup, g.Jadwal, g.Sesi, g.Ruangan, d.Nama from Detail_KRS de inner join Grup_makul g on de.id_makul=g.id inner join Mata_Kuliah m on g.Kode_matkul=m.Kode_matkul inner join Dosen d on g.Nik=d.Nik where de.Id_krs=" + krs.Id_krs;
                var det  = conn.Query <DetailKrs_ViewModel>(sql1);
                data.detail = det;
            }
            return(data);
        }
Example #11
0
        void ibclient_Error2(object sender, Krs.Ats.IBNet96.ErrorEventArgs e)
        {
            tStart("ibclient_Error() Ticker=" + e.TickerId.ToString() + ": " + e.ErrorMsg);
            string orderId = e.TickerId.ToString();

            switch ((int)e.ErrorCode)
            {
                case 135: // "Can't find Order"
                    logger.AddLog(LoggerLevel.Information, "Order " + e.TickerId.ToString()
                        + " not known in TWS, cancel in OQ: "
                        + e.ErrorMsg);

                    OnOrderError(orderId, e.ErrorMsg);
                    break;
                case 202: // Order Cancelled
                    logger.AddLog(LoggerLevel.Detail, "ibclient_Error: " + e.ErrorMsg);
                    if (e.ErrorMsg.EndsWith("Canceled - reason:"))
                    {

                        // IB sends also an OrderStatus: Canceled
                        // OnOrderCanceled(orderId);
                        return;
                    }
                    break;
                case 300: // can't find Eid with tickerID: N
                    // we canceled a Mkt data request which was not active
                    logger.AddLog(LoggerLevel.Detail, "TWS Error: " + e.ErrorMsg);
                    return; // ignore
                case 321: // Only FA or STL custoimers can request managed accounts list"
                    // this is returned when reqManagedAccounts() is called for a non-FA account
                    // signal to StingrayOQ that we don't have a FA account
                    isFAAccount = false; // now we know it
                    return; // and ignore
                case 399: // your order will not be placed at the exchange until ...
                    info("Order " + orderId + ": " + e.ErrorMsg);
                    return; // and ignore
                case 1100: // Connectivity between IB and TWS has been lost
                    error(e.ErrorMsg); // write error out
                    logger.AddLog(LoggerLevel.Error, "TWS Error: " + e.ErrorMsg);
                    return; // and ignore
                case 1102: // Connectivity between IB and TWS has been restored - data maintained
                    info(e.ErrorMsg); // write info out
                    logger.AddLog(LoggerLevel.Detail, "TWS Error: " + e.ErrorMsg);
                    return; // and ignore
                case 2100: // new account data requested
                case 2103: // Market data farm connection is broken
                case 2104: // Market Data Farm Connection ok
                case 2105:
                case 2106: // Market data farm connection is ok
                case 2107: // HMDS data farm connection is inactive but should be available...
                    // ignore
                    logger.AddLog(LoggerLevel.Detail, "TWS Error: " + e.ErrorMsg);
                    return;
                default:
                    if(workingOrders.ContainsKey(orderId))
                    {
                        OnOrderError(orderId, e.ErrorMsg);
                    }
                    break;
            }
            string code;
            if (((int)e.ErrorCode).ToString() != e.ErrorCode.ToString())
            {
                code = "(code="
                + ((int)e.ErrorCode).ToString() + " = " + e.ErrorCode.ToString()
                + ")";
            }
            else
            {
                code = "(code=" + e.ErrorCode.ToString() + ")";
            }
            string text = "Stingray: Error: " + code + ": " + e.ErrorMsg;
            if (e.TickerId >= 0 && e.TickerId < int.MaxValue)
            {
                text += ", TickerId: " + e.TickerId.ToString();
                //if (tickInfoDict.ContainsKey(e.TickerId))
                //{
                //    string symbol = tickInfoDict[e.TickerId].symbol.Name;
                //    text += ", Symbol: " + symbol;
                //}
            }
            error(text);
            tEnd("ibclient_Error()");
        }
Example #12
0
 void ibclient_Error(object sender, Krs.Ats.IBNet96.ErrorEventArgs e)
 {
     try
     {
         ibclient_Error2(sender, e);
     }
     catch (Exception ex)
     {
         error("ibclient_Error: Exception: " + ex.Message);
     }
 }