public TenderDetails ConvertGetTenderInfoById(Proc_GetTenderInformationById_Result result) { var tenderdet = new TenderDetails() { AgencyId = result.AgencyId.Value, OwnershipId = result.OwnershipId.Value, SectorId = result.SectorId.Value, StateId = result.StateId.Value, LocId = result.LocId.Value, CountryId = result.CountryId.Value, DocumentId = result.DocumentId.Value, dt = result.Dt.Value, SubmDate = result.SubmDate.Value, OpenDate = result.OpenDate.Value, PubDate = result.PubDate.Value, Corrigendum = result.Corrigendum, Ncbicb = result.NCBICB, WorkDesc = result.WorkDesc, OurRefNo = result.OurRefNo.Value, TenderNo = result.TenderNo, TenderSummary = result.TenderSummary, TenderAmount = result.TenderAmount.Value, EarnestAmount = result.EarnestAmount.Value, DocCost = result.DocCost.Value, RefId = result.RefId.Value, RandomNumber = result.RandomNumber, Location = result.Location, //AgencyName = result.AgencyName, //SectorName = result.SectorName, //OwnershipName = result.OwnershipName, Language = result.Language, RefSource = result.RefSource, }; return(tenderdet); }
public static async Task <HttpResponseMessage> Run( [HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = null)] HttpRequest req, ILogger log) { log.LogInformation("C# HTTP trigger function processed a request."); string requestBody = await new StreamReader(req.Body).ReadToEndAsync(); string id = Guid.NewGuid().ToString(); // string trimmedData = requestBody.Substring(0,requestBody.Length-2)+",\r\n \"hack\": \""+id+"\"}"; dynamic data = JsonConvert.DeserializeObject(requestBody); List <ResContent> z = (data?.attributes).ToObject <List <ResContent> >(); String tlog = ""; foreach (ResContent x in z) { if (x.Key == "tlog_id") { tlog = x.value; break; } } var client = new HttpClient(); //client.BaseAddress = new Uri("https://gateway-staging.ncrcloud.com/transaction-document/transaction-documents/" + tlog); client.DefaultRequestHeaders.Add("nep-organization", "ur-hack"); client.DefaultRequestHeaders.Add("nep-service-version", "2:1"); client.DefaultRequestHeaders.Add("nep-application-key", "8a008d406ddb112d016e0683ea5a003b"); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", "YWNjdDpyb290QGhhY2tfaGFja2VyY2xvd25zOiorQD5NODhmIVs="); var response = client.GetAsync("https://gateway-staging.ncrcloud.com/transaction-document/transaction-documents/" + tlog).Result.Content.ReadAsStringAsync().Result; dynamic tdmGetResponse = JsonConvert.DeserializeObject(response); string connectionString = @"mongodb://*****:*****@cmacherl.documents.azure.com:10255/?ssl=true&replicaSet=globaldb"; MongoClientSettings settings = MongoClientSettings.FromUrl( new MongoUrl(connectionString) ); settings.SslSettings = new SslSettings() { EnabledSslProtocols = SslProtocols.Tls12 }; // var client = new MongoClient(connectionString); var mongoClient = new MongoClient(settings); IMongoDatabase db = mongoClient.GetDatabase("RestaurantData"); var collection = db.GetCollection <ItemDetails>("ItemDetails"); foreach (JObject item in tdmGetResponse?.tlog.items) { ItemDetails itemDetails = new ItemDetails(); itemDetails.itemId = item.GetValue("id").ToString(); itemDetails.tlog_id = tlog; itemDetails.productName = item.GetValue("productName").ToString(); itemDetails.quantity = Convert.ToInt16(item["quantity"]["quantity"]); itemDetails.actualAmount = Convert.ToDouble(item["actualAmount"]["amount"]); itemDetails.extendedAmount = Convert.ToDouble(item["extendedAmount"]["amount"]); try{ itemDetails.foodcategory = (item["category"]["name"]).ToString(); } catch { itemDetails.foodcategory = "N/A"; } Console.WriteLine((item["endDateTimeUtc"]["dateTime"]).ToString()); itemDetails.TransTime = DateTime.Parse((item["endDateTimeUtc"]["dateTime"]).ToString()).Date; itemDetails.RevCenterName = (item["revenueCenter"]["name"]).ToString(); //bson1 = (itemDetails).ToBsonDocument();//itemsList.Add((itemDetails).ToBsonDocument()); var json = JsonConvert.SerializeObject(itemDetails, Formatting.Indented); await collection.InsertOneAsync(MongoDB.Bson.Serialization.BsonSerializer.Deserialize <ItemDetails>(json)); } var collection2 = db.GetCollection <TenderDetails>("TenderDetails"); TenderDetails tenderDetails = new TenderDetails(); tenderDetails.restName = tdmGetResponse?.siteInfo.name; tenderDetails.transTime = Convert.ToDateTime(tdmGetResponse?.closeDateTimeUtc.dateTime); tenderDetails.tlog_id = tlog; tenderDetails.tenderAmount = Convert.ToDouble(tdmGetResponse?.tlog.totals.grandAmount.amount); foreach (JObject item in tdmGetResponse?.tlog.tenders) { tenderDetails.empId = (item["employee"]["id"]).ToString(); tenderDetails.empName = (item["employee"]["name"]).ToString(); tenderDetails.tipAmount += Convert.ToDouble(item["tipAmount"]["amount"]); var json = JsonConvert.SerializeObject(tenderDetails, Formatting.Indented); await collection2.InsertOneAsync(MongoDB.Bson.Serialization.BsonSerializer.Deserialize <TenderDetails>(json)); } //resDetails.actualAmount = var test = tdmGetResponse?.id; BsonDocument bson = new BsonDocument { { "TDMData", tlog }, { "hack", id } }; // collection.InsertOne(MongoDB.Bson.Serialization.BsonSerializer.Deserialize<BsonDocument>(json)); //await collection.InsertOneAsync(MongoDB.Bson.Serialization.BsonSerializer.Deserialize<BsonDocument>(bson)); return(new HttpResponseMessage(HttpStatusCode.OK) { Content = new StringContent(requestBody, Encoding.UTF8, "application/json") }); }