private void btnUploadUdc_Click(object sender, EventArgs e)
        {
            schecma = Microsoft.VisualBasic.Interaction.InputBox("What is the schema name?", "Schema Name", schecma);
            openFileDialog1.ShowDialog();
            string file = openFileDialog1.FileName;

            if (file != "openFileDialog1" && schecma != "")
            {
                UDC_UploadFile_Result response = client.UserDefinedCollections.BulkUploadFile(schecma, file);
                string message = "";
                if (response.TotalFailed == 0)
                {
                    message = "All lines were uploaded successfully!";
                }
                else
                {
                    message = "NOT all lines were uploaded successfully, some failed. See details in the below table.";
                    dataGridView1.DataSource = (List <UDC_UploadFile_Row>)response.FailedRows;
                }

                MessageBox.Show(message + Environment.NewLine
                                + "number of lines inserted is:  " + response.TotalInserted + Environment.NewLine
                                + "number of lines updated is:  " + response.TotalUpdated + Environment.NewLine
                                + "number of lines ignored is:  " + response.TotalIgnored);
            }
            else
            {
                MessageBox.Show("select file and schema!");
            }
        }
Example #2
0
        private UDC_UploadFile_Result GetImportFileDataResult(PepperiAuditLog auditLog)
        {
            var logResultObject    = auditLog?.AuditInfo?.ResultObject;
            var parsedResultObject = PepperiJsonSerializer.DeserializeOne <UDC_UploadFile_AuditLog_ResultObject>(logResultObject);
            var url = parsedResultObject?.URI;

            ValuesValidator.Validate(url, "Can't get URI Response!");

            var HttpClient = new HttpClient(new LoggingHandler(this.Logger))
            {
            };

            //send request
            HttpClient.Timeout = new TimeSpan(0, 5, 0);// by default wait 5 minutes
            HttpResponseMessage HttpResponseMessage = HttpClient.GetAsync(url).Result;
            string body = HttpResponseMessage.Content.ReadAsStringAsync().Result;

            ValuesValidator.Validate(HttpResponseMessage.StatusCode == HttpStatusCode.OK, $"Can't get Required File! (Status Code - {HttpResponseMessage.StatusCode})");

            var table = PepperiJsonSerializer.DeserializeCollection <UDC_UploadFile_Row>(body);

            var result = new UDC_UploadFile_Result()
            {
                Success      = true,
                Total        = table.Count(),
                TotalUpdated = 0,
                TotalIgnored = 0,
                TotalFailed  = 0,
                FailedRows   = new List <UDC_UploadFile_Row>()
                {
                }
            };

            var grouped = table.GroupBy(row => row.Status);

            foreach (var gropedRow in grouped)
            {
                switch (gropedRow.Key)
                {
                case "Error":
                    result.TotalFailed = gropedRow.Count();
                    result.FailedRows  = gropedRow.ToList();
                    break;

                case "Update":
                    result.TotalUpdated = gropedRow.Count();
                    break;

                case "Insert":
                    result.TotalInserted = gropedRow.Count();
                    break;

                case "Ignore":
                    result.TotalIgnored = gropedRow.Count();
                    break;

                default:
                    break;
                }
            }


            return(result);
        }