Beispiel #1
0
        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")
            });
        }