Example #1
0
        public async Task <ResponseDeal> GetRouting(string invoiceRef)
        {
            var client   = new HttpClient();
            var response = new ResponseDeal();

            try
            {
                var service = await client.GetAsync($"http://localhost:9002/api/v1/routing/getroutingdeal/{invoiceRef}");

                if (service.IsSuccessStatusCode)
                {
                    var json = await service.Content.ReadAsStringAsync();

                    response = JsonConvert.DeserializeObject <ResponseDeal>(json);
                }
                else
                {
                    var error = service.Content.ReadAsStringAsync().Result;

                    response.Code    = int.Parse(service.StatusCode.ToString());
                    response.Message = invoiceRef + "," + error;
                }
            }
            catch (Exception ex)
            {
                response.Code    = 500;
                response.Message = ex.Message;
                Console.WriteLine("Exception in Routing Service: " + ex.Message + ", " + invoiceRef);
            }

            return(response);
        }
        public async Task <IActionResult> AddRoutingDeal([FromBody] RequestDeal data)
        {
            var result          = new ResponseDeal();
            var validateRequest = SchemaEngine.Validate <RequestDeal>(data, reqDealSchema);

            if (validateRequest)
            {
                var serv = new RoutingBusiness(HttpContext);
                result = await serv.AddRoutingDeal(data);

                if (result.Code == 200)
                {
                    var validate = SchemaEngine.Validate <ResponseDeal>(result, respDealSchema);

                    if (!validate)
                    {
                        result.Code    = 500;
                        result.Message = "Invalid result data schema";
                        result.Data    = null;

                        return(StatusCode(500, result));
                    }
                }
                else
                {
                    return(StatusCode(result.Code, result));
                }

                return(Ok(result));
            }
            else
            {
                result.Code    = 500;
                result.Message = "Invalid params schema";
                result.Data    = null;

                return(StatusCode(500, result));
            }
        }
Example #3
0
        public async Task <ResponseDeal> GetRoutingDeal(string invoicekey)
        {
            var model  = new Deal();
            var result = new ResponseDeal();

            try
            {
                var db = System.IO.File.ReadAllLines(@AuxPathFileDb.Replace("wwwroot/", ""));

                foreach (var item in db)
                {
                    var line = item.Split("|");

                    if (line[2] == invoicekey)
                    {
                        model.Id              = long.Parse(line[0]);
                        model.Name            = line[1];
                        model.InvoiceKey      = line[2];
                        model.State           = bool.Parse(line[3]);
                        model.Url             = line[4];
                        model.Template        = line[5];
                        model.Type            = line[6];
                        model.RequestTemplate = line[7];
                        model.NumRequest      = int.Parse(line[8]);

                        break;
                    }
                }
                result.Code    = 200;
                result.Data    = model;
                result.Message = "OK";

                /*using (var conn = Get())
                 * {
                 *  conn.Open();
                 *  var cmd = new MySqlCommand($"select id, name, invoicekey, state, template, url, type, requesttemplate, numrequest from tbl_deal where invoicekey = '{invoicekey}'", conn);
                 *
                 *  using (var reader = cmd.ExecuteReader())
                 *  {
                 *      while (reader.Read())
                 *      {
                 *          model.Id = reader.GetInt64("id");
                 *          model.Name = reader.GetString("name");
                 *          model.InvoiceKey = reader.GetString("invoicekey");
                 *          model.State = reader.GetBoolean("state");
                 *          model.Template = reader.GetString("template");
                 *          model.Url = reader.GetString("url");
                 *          model.Type = reader.GetString("type");
                 *          model.RequestTemplate = reader.GetString("requesttemplate");
                 *          model.NumRequest = reader.GetInt32("numrequest");
                 *      }
                 *  }
                 *  result.Code = 200;
                 *  result.Data = model;
                 *  result.Message = "OK";
                 * }*/
            }
            catch (Exception ex)
            {
                result.Code    = 500;
                result.Message = ex.Message;
                result.Data    = null;
            }

            return(await Task.Run(() => result));
        }
Example #4
0
        public async Task <ResponseDeal> AddRoutingDeal(RequestDeal data)
        {
            var model  = new Deal();
            var result = new ResponseDeal();

            try
            {
                var path = @AuxPathFileDb.Replace("wwwroot/", "");
                var db   = System.IO.File.ReadAllLines(path);
                var id   = 0;

                foreach (var item in db)
                {
                    var line = item.Split("|");
                    id = int.Parse(line[0]);
                }
                id += 1;
                var insert = $"{id}|{data.Name}|{data.InvoiceKey}|true|{data.Url}|{data.Template}|{data.Type}|{data.RequestTemplate}|{data.NumRequest}";

                using (FileStream fs = new FileStream(path, FileMode.Append, FileAccess.Write))
                    using (StreamWriter sw = new StreamWriter(fs))
                    {
                        sw.WriteLine(insert);
                    }

                model.Id              = id;
                model.Name            = data.Name;
                model.InvoiceKey      = data.InvoiceKey;
                model.State           = true;
                model.Url             = data.Url;
                model.Type            = data.Type;
                model.Template        = data.Template;
                model.RequestTemplate = data.RequestTemplate;
                model.NumRequest      = data.NumRequest;

                result.Code    = 200;
                result.Data    = model;
                result.Message = "OK";

                /*using (var conn = Get())
                 * {
                 *  conn.Open();
                 *  var cmd = new MySqlCommand($"insert into tbl_deal (name, invoicekey, state, template, url) values('{data.Name}', '{data.InvoiceKey}',1, '{data.Template}', '{data.Url}')", conn);
                 *  var reader = cmd.ExecuteNonQuery();
                 *
                 *  result.Code = 200;
                 *  result.Data = new Deal()
                 *  {
                 *      Id = cmd.LastInsertedId,
                 *      Name = data.Name,
                 *      InvoiceKey = data.InvoiceKey,
                 *      State = true,
                 *      Template = data.Template,
                 *      Url = data.Url,
                 *  };
                 *  result.Message = "OK";
                 * }*/
            }
            catch (Exception ex)
            {
                result.Code    = 500;
                result.Message = ex.Message;
                result.Data    = null;
            }

            return(await Task.Run(() => result));
        }