Example #1
0
        public int insert(TradeDTO oTrade)
        {
            int           iReturn = 0;
            SqlConnection sqlCon  = DBLibrary.OpenConnection();

            try
            {
                SqlCommand sqlCmd = new SqlCommand();

                sqlCmd.Connection  = sqlCon;
                sqlCmd.CommandType = CommandType.StoredProcedure;
                sqlCmd.CommandText = "sp_trade_insert";
                sqlCmd.Parameters.AddWithValue("@IdCliente", oTrade.idCliente.ToString());
                sqlCmd.Parameters.AddWithValue("@TradeValue", oTrade.tradeValue);
                sqlCmd.Parameters.AddWithValue("@IdSector", oTrade.idSector.ToString());

                iReturn = sqlCmd.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                sqlCon.Close();
            }

            return(iReturn);
        }
Example #2
0
        public bool update(TradeDTO oTrade)
        {
            bool          bReturn = false;
            SqlConnection sqlCon  = DBLibrary.OpenConnection();

            try
            {
                SqlCommand sqlCmd = new SqlCommand();

                sqlCmd.Connection  = sqlCon;
                sqlCmd.CommandType = CommandType.StoredProcedure;
                sqlCmd.CommandText = "sp_trade_update";
                sqlCmd.Parameters.AddWithValue("@IdTrade", oTrade.idTrade);
                sqlCmd.Parameters.AddWithValue("@TradeValue", oTrade.tradeValue);
                sqlCmd.Parameters.AddWithValue("@IdSector", oTrade.idSector.ToString());

                sqlCmd.ExecuteNonQuery();

                bReturn = true;
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                sqlCon.Close();
            }

            return(bReturn);
        }
Example #3
0
        static void Main(string[] args)
        {
            TradeBS         obj        = new TradeBS();
            string          sReturn    = "";
            List <TradeDTO> oListTrade = new List <TradeDTO>();

            TradeDTO Trade1 = new TradeDTO();
            TradeDTO Trade2 = new TradeDTO();
            TradeDTO Trade3 = new TradeDTO();
            TradeDTO Trade4 = new TradeDTO();

            Trade1.tradeValue = 2000000; Trade1.dsSector = "Private";
            Trade2.tradeValue = 400000; Trade2.dsSector = "Public";
            Trade3.tradeValue = 500000; Trade3.dsSector = "Public";
            Trade4.tradeValue = 3000000; Trade4.dsSector = "Public";

            oListTrade.Add(Trade1);
            oListTrade.Add(Trade2);
            oListTrade.Add(Trade3);
            oListTrade.Add(Trade4);

            sReturn = obj.getSectorTrade(oListTrade);

            Console.WriteLine(sReturn);
        }
Example #4
0
        private static List <TradeDTO> GetExecutionsScenario3()
        {
            List <TradeDTO> trades = new List <TradeDTO>();

            TradeDTO trade1 = new TradeDTO()
            {
                Date = DateTime.Now, Side = TradeDTO._TRADE_BUY, Symbol = "xxx", ExecutionSize = 20, ExecutionPrice = 8100
            };
            TradeDTO trade2 = new TradeDTO()
            {
                Date = DateTime.Now, Side = TradeDTO._TRADE_BUY, Symbol = "xxx", ExecutionSize = 10, ExecutionPrice = 8200
            };
            TradeDTO trade3 = new TradeDTO()
            {
                Date = DateTime.Now, Side = TradeDTO._TRADE_SELL, Symbol = "xxx", ExecutionSize = 5, ExecutionPrice = 8300
            };
            TradeDTO trade4 = new TradeDTO()
            {
                Date = DateTime.Now, Side = TradeDTO._TRADE_SELL, Symbol = "xxx", ExecutionSize = 35, ExecutionPrice = 8400
            };


            trades.Add(trade1);
            trades.Add(trade2);
            trades.Add(trade3);
            trades.Add(trade4);

            return(trades);
        }
Example #5
0
        public List <TradeCategoryDTO> getSectorTrade(TradeDTO pTrade)
        {
            List <TradeCategoryDTO> oReturn = new List <TradeCategoryDTO>();

            //SqlConnection sqlCon = DBLibrary.OpenConnection();

            try
            {
                //SqlCommand sqlCmd = new SqlCommand();

                //sqlCmd.Connection = sqlCon;
                //sqlCmd.CommandType = CommandType.StoredProcedure;
                //sqlCmd.CommandText = "sp_tradeCategory_sector";
                //sqlCmd.Parameters.AddWithValue("@TradeValue", pTrade.tradeValue);
                //sqlCmd.Parameters.AddWithValue("@DsSector", pTrade.dsSector);

                //var oData = sqlCmd.ExecuteReader();

                //while (oData.Read() == true)
                //{
                //    TradeCategoryDTO oTrade = new TradeCategoryDTO();

                //    oTrade.dsCategory = oData["dsCategory"].ToString();

                //    oReturn.Add(oTrade);
                //}
                string[,] aTrade = new string[3, 4] {
                    { "1000001", "3000000", "Private", "HIGHRISK" },
                    { "1000001", "3000000", "Public", "MEDIUMRISK" },
                    { "300001", "500000", "Public", "LOWRISK" }
                };

                int i = 0;
                for (i = 0; i < aTrade.GetLength(0); i++)
                {
                    if ((pTrade.tradeValue > int.Parse(aTrade[i, 0].ToString()) && pTrade.tradeValue <= int.Parse(aTrade[i, 1].ToString())) &&
                        (pTrade.dsSector == aTrade[i, 2].ToString()))
                    {
                        TradeCategoryDTO oTrade = new TradeCategoryDTO();

                        oTrade.dsCategory = aTrade[i, 3].ToString();

                        oReturn.Add(oTrade);
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                //sqlCon.Close();
            }

            return(oReturn);
        }
Example #6
0
 public static Trade FromDTO(TradeDTO trade)
 => new Trade
 {
     Id          = trade.Id,
     Name        = trade.Name,
     Description = trade.Description,
     ImageUrl    = trade.ImageUrl,
     Address     = trade.Address,
     Town        = trade.Town
 };
Example #7
0
        public void TestNotAddingInvalidTrade()
        {
            TradeDTO trade = new TradeDTO("Trade1", "Card1", "spell", 10);

            _tradeService.Setup(s => s.AddTrade(trade, "user-token")).Returns("POST ERR - Trade already exists");

            string result = _tradeController.AddTrade(trade, "user-token");

            Assert.AreEqual("POST ERR - Trade already exists", result);
        }
Example #8
0
        public string AddTrade(TradeDTO trade, string usertoken)
        {
            using NpgsqlConnection con = new NpgsqlConnection(_cs);
            try
            {
                con.Open();
            }
            catch (PostgresException e)
            {
                return("POST ERR - No DB connection");
            }

            using NpgsqlCommand cmd = new NpgsqlCommand();
            cmd.Connection          = con;
            cmd.CommandText         = @"CREATE TABLE IF NOT EXISTS trades(id VARCHAR(255), cardToTrade VARCHAR(255), type VARCHAR(255), minimumDamage DOUBLE PRECISION, usertoken VARCHAR(255))";
            cmd.ExecuteNonQuery();

            string sqlGetTrades = "SELECT * FROM trades";

            using NpgsqlCommand cmdGetTrades = new NpgsqlCommand(sqlGetTrades, con);
            using NpgsqlDataReader reader    = cmdGetTrades.ExecuteReader();
            while (reader.Read())
            {
                if (reader.GetString(0) == trade.Id)
                {
                    return("POST ERR - TradeID already exists");
                }
            }
            reader.Close();

            User user = null;

            ClientSingleton.GetInstance.ClientMap.TryGetValue(usertoken, out user);
            Card card = user.Stack.GetCard(trade.CardToTrade);

            if (card == null)
            {
                return("POST ERR - Card to trade not in Stack");
            }

            var sql = "INSERT INTO trades (id, cardToTrade, type, minimumDamage, usertoken) VALUES (@id, @cardToTrade, @type, @minimumDamage, @usertoken)";

            using (NpgsqlCommand cmdPrepared = new NpgsqlCommand(sql, con))
            {
                cmdPrepared.Parameters.AddWithValue("id", trade.Id);
                cmdPrepared.Parameters.AddWithValue("cardToTrade", trade.CardToTrade);
                cmdPrepared.Parameters.AddWithValue("type", trade.Type);
                cmdPrepared.Parameters.AddWithValue("minimumDamage", trade.MinimumDamage);
                cmdPrepared.Parameters.AddWithValue("usertoken", usertoken);
                cmdPrepared.ExecuteNonQuery();
            }

            con.Close();
            return("POST OK - Trade added");
        }
Example #9
0
        public async Task <IActionResult> GetAsync(int id)
        {
            TradeDTO trade = await _tradeDAO.FindById(id);

            if (trade == null)
            {
                return(new NotFoundResult());
            }

            return(new ObjectResult(trade));
        }
Example #10
0
        private NetPositionDTO BuildNewPosition(TradeDTO execution)
        {
            NetPositionDTO position = new NetPositionDTO()
            {
                Symbol           = execution.Symbol,
                NetContracts     = execution.Side == TradeDTO._TRADE_BUY ? execution.ExecutionSize : -1 * execution.ExecutionSize,
                PositionExposure = execution.Side == TradeDTO._TRADE_BUY ? NetPositionDTO._LONG : NetPositionDTO._SHORT,
                OpenPrice        = execution.ExecutionPrice
            };

            return(position);
        }
Example #11
0
        public void TestNotTradingWhenRequestedTypeNoMatched()
        {
            Card     wizard = new Wizard("wizhar", "Harry Potter", 75, ElementType.Normal);
            TradeDTO trade  = new TradeDTO("Trade1", "wizhar", "knight", 80);

            Card dragon = new Dragon("dravis", "Viserion", 90, ElementType.Water);

            _tradeService.Setup(s => s.TradeCards("Trade1", "dravis", "user-token")).Returns("POST ERR - Wrong type or too low damage for trade");

            string result = _tradeController.TradeCards("Trade1", "dravis", "user-token");

            Assert.AreEqual("POST ERR - Wrong type or too low damage for trade", result);
        }
Example #12
0
        public void TestTradingWhenRequestedMatched()
        {
            Card     wizard = new Wizard("wizhar", "Harry Potter", 75, ElementType.Normal);
            TradeDTO trade  = new TradeDTO("Trade1", "wizhar", "dragon", 70);

            Card dragon = new Dragon("dravis", "Viserion", 90, ElementType.Fire);

            _tradeService.Setup(s => s.TradeCards("Trade1", "dravis", "user-token")).Returns("POST OK - cards traded");

            string result = _tradeController.TradeCards("Trade1", "dravis", "user-token");

            Assert.AreEqual("POST OK - cards traded", result);
        }
Example #13
0
        public TradeApi(RequestContext request)
        {
            _request = request;
            try
            {
                _trade = JsonSerializer.Deserialize <TradeDTO>(_request.Content);
            }
            catch (Exception e)
            {
                _trade = null;
            }
            ITradeService tradeService = new TradeService();

            _tradeController = new TradeController(tradeService);
        }
Example #14
0
        public async Task <TradeDTO> Insert(TradeDTO dto)
        {
            Counter counter = await _counterDAO.GetCountersAsync();

            int id = counter.Trades++;
            await _counterDAO.UpdateCountersAsync(counter);

            Trade trade = Trade.FromDTO(dto);

            trade.Id = id;

            await _context.Trades.InsertOneAsync(trade);

            return(TradeDTO.FromTrade(trade));
        }
Example #15
0
        public async Task <TradeDTO> FindById(int id)
        {
            Trade trade = await _context.Trades
                          .Find(Builders <Trade> .Filter.Eq(t => t.Id, id))
                          .FirstOrDefaultAsync();

            if (trade == null)
            {
                return(null);
            }

            TradeDTO dto = TradeDTO.FromTrade(trade);

            return(dto);
        }
Example #16
0
        private static List <TradeDTO> GetSimplePAndLScenarios()
        {
            List <TradeDTO> trades = new List <TradeDTO>();

            TradeDTO trade1 = new TradeDTO()
            {
                Date = DateTime.Now, Side = TradeDTO._TRADE_SELL, Symbol = "xxx", ExecutionSize = 10, ExecutionPrice = 21000
            };

            //TradeDTO trade2 = new TradeDTO() { Date = DateTime.Now, Side = TradeDTO._TRADE_SELL, Symbol = "xxx", ExecutionSize = 10, ExecutionPrice = 21000 };

            trades.Add(trade1);
            //trades.Add(trade2);

            return(trades);
        }
Example #17
0
        public static bool Insert(TradeDTO person)
        {
            try
            {
                string query = "INSERT INTO tb_troca(ds_tipo, vl_compra, ds_moeda_compra, " +
                               "vl_venda, ds_moeda_venda, vl_taxa, ds_moeda_taxa, ds_comentario, dt_troca, cd_usuario) VALUES " +
                               $"('{person.Tipo}','{person.ValorCompra}','{person.MoedaCompra}','{person.ValorVenda}','{person.MoedaVenda}'," +
                               $"'{person.ValorTaxa}','{person.MoedaTaxa}','{person.Comentario}','{person.DataTroca.Date}','{person.UserId}')";

                new Commands().ExecuteCommand(query);

                return(true);
            }
            catch
            {
                return(false);
            }
        }
Example #18
0
        public JsonResult CreateTrade(TradeDTO trade)
        {
            var coin        = TradeCoinBLL.ListAll();
            var type        = OperationBLL.ListAll();
            var cookie_info = CookiesControll.UserAuthenticationInfo().Name;

            trade.Tipo   = type.Where(t => t.Id == trade.Tipo).FirstOrDefault().Tipo;
            trade.UserId = cookie_info;

            if (!string.IsNullOrEmpty(trade.MoedaCompra) && !string.IsNullOrWhiteSpace(trade.MoedaCompra))
            {
                trade.MoedaCompra = coin.Where(c => c.Id == trade.MoedaCompra).FirstOrDefault().Sigla;
            }

            if (!string.IsNullOrEmpty(trade.MoedaVenda) && !string.IsNullOrWhiteSpace(trade.MoedaVenda))
            {
                trade.MoedaVenda = coin.Where(c => c.Id == trade.MoedaVenda).FirstOrDefault().Sigla;
            }

            if (!string.IsNullOrEmpty(trade.MoedaTaxa) && !string.IsNullOrWhiteSpace(trade.MoedaTaxa))
            {
                trade.MoedaTaxa = coin.Where(c => c.Id == trade.MoedaTaxa).FirstOrDefault().Sigla;
            }

            bool inserts_ok = false;

            if (TradeBLL.RegisterUser(trade))
            {
                inserts_ok = true;

                HistoricDTO hist = new HistoricDTO
                {
                    Data      = DateTime.Now.Date,
                    UserId    = cookie_info,
                    Descricao = $"Adicionado uma nova {trade.Tipo}"
                };

                inserts_ok = HistoricBLL.RegisterHistoric(hist);
            }

            var url = Url.Action("Trocas", "Trocas");

            return(Json(new { insert = inserts_ok, url }, JsonRequestBehavior.AllowGet));
        }
Example #19
0
        public async Task <IActionResult> PostAsync([FromForm(Name = "image")] IFormFile imageFile, [FromForm] PostTradeRequest request)
        {
            System.Diagnostics.Trace.WriteLine("fooo");
            var storageConnectionString = _configuration["ConnectionStrings:AzureStorageConnectionString"];

            if (CloudStorageAccount.TryParse(storageConnectionString, out CloudStorageAccount storageAccount))
            {
                CloudBlobClient    blobClient = storageAccount.CreateCloudBlobClient();
                CloudBlobContainer container  = blobClient.GetContainerReference("tradeimages");
                await container.CreateIfNotExistsAsync();

                var permissions = container.GetPermissions();
                if (permissions.PublicAccess == BlobContainerPublicAccessType.Off)
                {
                    permissions.PublicAccess = BlobContainerPublicAccessType.Blob;
                    container.SetPermissions(permissions);
                }

                var blob = container.GetBlockBlobReference(imageFile.FileName);

                await blob.UploadFromStreamAsync(imageFile.OpenReadStream());

                string uri = blob.Uri.ToString();

                TradeDTO trade = new TradeDTO
                {
                    OwnerId     = request.OwnerId,
                    Name        = request.Name,
                    Description = request.Description,
                    ImageUrl    = uri,
                    Address     = request.Address,
                    Town        = request.Town
                };

                TradeDTO insertedTrade = await _tradeDAO.Insert(trade);

                return(new OkObjectResult(insertedTrade));
            }

            return(new StatusCodeResult(StatusCodes.Status500InternalServerError));
        }
Example #20
0
        public List <TradeDTO> getTradeByID(int pIdTrade)
        {
            List <TradeDTO> oReturn = new List <TradeDTO>();
            SqlConnection   sqlCon  = DBLibrary.OpenConnection();

            try
            {
                SqlCommand sqlCmd = new SqlCommand();

                sqlCmd.Connection  = sqlCon;
                sqlCmd.CommandType = CommandType.StoredProcedure;
                sqlCmd.CommandText = "sp_trade_consultar";
                sqlCmd.Parameters.AddWithValue("@IdTrade", pIdTrade);

                var oData = sqlCmd.ExecuteReader();

                while (oData.Read() == true)
                {
                    TradeDTO oTrade = new TradeDTO();

                    oTrade.idTrade    = int.Parse(oData["idTrade"].ToString());
                    oTrade.idCliente  = int.Parse(oData["idCliente"].ToString());
                    oTrade.tradeValue = decimal.Parse(oData["tradeValue"].ToString());
                    oTrade.idSector   = int.Parse(oData["idSector"].ToString());
                    oTrade.dsSector   = oData["dsSector"].ToString();

                    oReturn.Add(oTrade);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                sqlCon.Close();
            }

            return(oReturn);
        }
Example #21
0
        public static List <TradeDTO> ListAll(string clause = "")
        {
            string query = "select cd_troca as 'Id', ds_tipo as 'Tipo', vl_compra as 'ValorCompra', ds_moeda_compra as 'MoedaCompra', vl_venda as 'ValorVenda', " +
                           "ds_moeda_venda as 'MoedaVenda', vl_taxa as 'ValorTaxa', ds_moeda_taxa as 'MoedaTaxa', ds_comentario as 'Comentario', dt_troca as 'Data', " +
                           $"cd_usuario as 'UsuarioId' from tb_troca {clause}";

            Commands bd = new Commands();

            var Trade = new List <TradeDTO>();

            string selectProducts = query;

            SqlDataReader datareader = bd.ExecuteCommandReader(selectProducts);

            while (datareader.Read())
            {
                var trade = new TradeDTO
                {
                    Id          = datareader["Id"].ToString(),
                    Tipo        = datareader["Tipo"].ToString(),
                    ValorCompra = datareader["ValorCompra"].ToString(),
                    MoedaCompra = datareader["MoedaCompra"].ToString(),
                    ValorVenda  = datareader["ValorVenda"].ToString(),
                    MoedaVenda  = datareader["MoedaVenda"].ToString(),
                    ValorTaxa   = datareader["ValorTaxa"].ToString(),
                    MoedaTaxa   = datareader["MoedaTaxa"].ToString(),
                    Comentario  = datareader["Comentario"].ToString(),
                    DataTroca   = (DateTime)datareader["Data"],
                    UserId      = datareader["UsuarioId"].ToString()
                };

                Trade.Add(trade);
            }
            datareader.Close();

            return(Trade);
        }
Example #22
0
        public static List <TradeDTO> GetTrades(string csvFile)
        {
            List <TradeDTO> trades = new List <TradeDTO>();

            using (var reader = new StreamReader(csvFile))
            {
                List <string> listA = new List <string>();
                int           i     = 0;
                while (!reader.EndOfStream)
                {
                    var line   = reader.ReadLine();
                    var values = line.Split(',');


                    if (i == 0)
                    {
                        i++;
                        continue;
                    }


                    TradeDTO trade = new TradeDTO()
                    {
                        Date           = GetDate(values[0].Replace("\"", "")),
                        Symbol         = values[2].Replace("\"", ""),
                        Side           = values[1].Replace("\"", "") == _BUY_LABEL ? TradeDTO._TRADE_BUY : TradeDTO._TRADE_SELL,
                        ExecutionSize  = Convert.ToDouble(values[4].Replace("\"", "")),
                        ExecutionPrice = Convert.ToDouble(values[5].Replace("\"", "")),
                        FirmId         = values[11]
                    };

                    trades.Add(trade);
                }
            }

            return(trades);
        }
Example #23
0
        private static List <TradeDTO> GetExecutionsScenario1()
        {
            List <TradeDTO> trades = new List <TradeDTO>();

            TradeDTO tradexx = new TradeDTO()
            {
                Date = DateTime.Now, Side = TradeDTO._TRADE_BUY, Symbol = "xxx", ExecutionSize = 20, ExecutionPrice = 8100
            };

            TradeDTO trade2 = new TradeDTO()
            {
                Date = DateTime.Now, Side = TradeDTO._TRADE_BUY, Symbol = "xxx", ExecutionSize = 10, ExecutionPrice = 8200
            };
            TradeDTO trade3 = new TradeDTO()
            {
                Date = DateTime.Now, Side = TradeDTO._TRADE_SELL, Symbol = "xxx", ExecutionSize = 5, ExecutionPrice = 8300
            };
            TradeDTO trade4 = new TradeDTO()
            {
                Date = DateTime.Now, Side = TradeDTO._TRADE_SELL, Symbol = "xxx", ExecutionSize = 10, ExecutionPrice = 8400
            };
            TradeDTO trade5 = new TradeDTO()
            {
                Date = DateTime.Now, Side = TradeDTO._TRADE_SELL, Symbol = "xxx", ExecutionSize = 10, ExecutionPrice = 8500
            };

            //P&L=5*(8300-8100) +10*(8400-8100) + 5 (8500-8100) + 5 (8500-8200) +5 (9100-8200)

            trades.Add(tradexx);
            trades.Add(trade2);
            trades.Add(trade3);
            trades.Add(trade4);
            trades.Add(trade5);

            return(trades);
        }
Example #24
0
 public string AddTrade(TradeDTO trade, string usertoken)
 {
     return(_tradeService.AddTrade(trade, usertoken));
 }
Example #25
0
 public void AddToTrades(TradeDTO tradeDTO)
 {
     base.AddObject("Trades", tradeDTO);
 }
Example #26
0
 public static TradeDTO CreateTradeDTO(int ID, int supplierId, int suppierCompanyId, global::System.DateTime startDate, bool isClosed, int status)
 {
     TradeDTO tradeDTO = new TradeDTO();
     tradeDTO.Id = ID;
     tradeDTO.SupplierId = supplierId;
     tradeDTO.SuppierCompanyId = suppierCompanyId;
     tradeDTO.StartDate = startDate;
     tradeDTO.IsClosed = isClosed;
     tradeDTO.Status = status;
     return tradeDTO;
 }
Example #27
0
 public static bool RegisterUser(TradeDTO person) =>
 TradeDAO.Insert(person);