示例#1
0
        /// <summary>
        /// Sends data in json format to database via http post
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        static async Task <HttpStatusCode> SendDataToDatabaseAsync(B1620_data_model data)
        {
            HttpResponseMessage response = await databaseClient.PostAsJsonAsync("datastore/", data);

            // Return response status code
            return(response.StatusCode);
        }
示例#2
0
        [ActionName("GetAsync")]    // Attribute naming overcomes bug in aspnet core 3.1
        public async Task <ActionResult <B1620_data_model> > GetDataAsync(string id)
        {
            // Retrieve data asynchronously via database service
            B1620_data_model data = await cosmosDbService.GetDataAsync(id);

            // Handle missing data
            if (data == null)
            {
                return(NotFound());
            }

            // Return result
            else
            {
                return(data);
            }
        }
示例#3
0
        public async Task <ActionResult <B1620_data_model> > PostDataEntryAsync(B1620_data_model data)
        {
            // Post data to database
            try
            {
                await cosmosDbService.AddDataAsync(data);
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex);

                if (ex.Message.Contains("409"))
                {
                    // Is OK if data is already in database
                    return(Conflict(new { id = data.Id }));
                }
            }

            // Return result
            return(CreatedAtAction("Get", new { id = data.Id }, data));
        }
示例#4
0
        /// <summary>
        /// Converts bmrs csv data into list of JSON data elements.
        /// </summary>
        /// <param name="bmrsData"></param>
        /// <returns></returns>
        static List <B1620_data_model> ReturnDataAsJSON(string bmrsData)
        {
            // Create empty list of data models
            List <B1620_data_model> b1620List = new List <B1620_data_model>();

            // Create intermediate list of input strings?
            string[] lineSeparators = new string[] { "\n" };
            string[] linesArray;

            linesArray = bmrsData.Split(lineSeparators, StringSplitOptions.None);
            List <string> linesList = linesArray.ToList <string>();

            // Remove unwanted info
            for (int i = 0; i < linesList.Count; i++)
            {
                string line = linesList[i];

                if (line.Contains("*"))
                {
                    linesList.RemoveAt(i);
                }

                if (line.Contains("<EOF>"))
                {
                    linesList.RemoveAt(i);
                }
            }

            List <string> resultsList = new List <string>();

            foreach (var line in linesList)
            {
                resultsList.Add(line.Trim());
            }

            // Iterate over each line in input string
            foreach (var line in resultsList)
            {
                try
                {
                    if (!line.Contains("*"))
                    {
                        // Create a string array based on the line
                        string[] lineSeparator = new string[] { "," };
                        string[] lineArray;

                        lineArray = line.Split(lineSeparator, StringSplitOptions.None);

                        // Create JSON object
                        B1620_data_model dataElement = new B1620_data_model
                        {
                            DocType    = lineArray[0],
                            BusType    = lineArray[1],
                            ProType    = lineArray[2],
                            TimeId     = lineArray[3],
                            Quantity   = lineArray[4],
                            CurveType  = lineArray[5],
                            Resolution = lineArray[6],
                            SetDate    = lineArray[7],
                            SetPeriod  = lineArray[8],
                            PowType    = lineArray[9],
                            ActFlag    = lineArray[10],
                            DocId      = lineArray[11],
                            DocRevNum  = lineArray[12]
                        };

                        // Clean raw data
                        string powerType = lineArray[9];
                        powerType = powerType.Replace("\"", "");

                        string period = lineArray[8].ToString();
                        if (period.Length == 1)
                        {
                            period = "0" + period;
                        }

                        // Set Id parameter
                        dataElement.Id = lineArray[7] + "-P" + period + "-" + powerType;

                        // Add to list of data models
                        b1620List.Add(dataElement);
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine("\nException Caught trying to create JSON!");
                    Console.WriteLine("Message :{0} ", ex.Message);
                }
            }

            return(b1620List);
        }
 /// <summary>
 /// Add data item to container.
 /// </summary>
 /// <returns></returns>
 public async Task AddDataAsync(B1620_data_model data)
 {
     await this.container.CreateItemAsync <B1620_data_model>(data, new PartitionKey(data.Id));
 }