[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 199
  • Last Modified:

loading indicator when a try fails.

I need to implement a loading indicator.

try
                {
                    cellPriceValue = ((Excel.Range)(inputRange.Cells[rowCount, pricesColumn]));
                    bool CheckNumeric = IsNumeric(cellPriceValue.Value2.ToString());

                    if (cellPriceValue.Value2.ToString().Length > 0 || cellPriceValue.Value2 != null)
                    {
                        if (cellPriceValue.Value2.ToString() == "Stones" || cellPriceValue.Value2.ToString() == "Tough")
                        {
                            currRow = rowCount + 1; //  skip a row to where the discounts are
                            break;
                        }

                        cellGradeValue = ((Excel.Range)(inputRange.Cells[rowCount, 15]));
                        gradeName = cellGradeValue.Value2.ToString();

                        InitialPrices.InitialPriceReportingServiceWS.InitialPriceReportingService WS = new InitialPrices.InitialPriceReportingServiceWS.InitialPriceReportingService();
                        int GradeCodeDetailID = 0;
                        string Status = null;
                        WS.GetGradeCodeDetailID(gradeName, ref  GradeCodeDetailID, ref Status);
                           
                        if (CheckNumeric)
                        {
                            Price = (decimal)cellPriceValue.Value2;
                            sum_prices += Price;
                         
                        }
                        else
                        {
                            InsertPriceListLoadError(PLHO.price_list_hdr_id.ToString(),
                                GradeCodeDetailID, rowCount + 1, gradeName, null, 'E',
                                "Price contains a non-numeric value.");
                        }

                       
                        count_rows += 1;
                           
                           
                        // Look at errors 'E'

                        if (GradeCodeDetailID == -1)
                        {
                             InsertPriceListLoadError(PLHO.price_list_hdr_id.ToString(), GradeCodeDetailID, rowCount + 1, gradeName, Price, 'E',
                             "Grade Code not found in Grade Code Details table.");

                        }
                           
                        if ((Price) < 0.00M)
                        {
                              InsertPriceListLoadError(PLHO.price_list_hdr_id.ToString(), GradeCodeDetailID, rowCount + 1, gradeName, Price, 'E',
                                "Price cannot be negative.");
                        }

                        for (int i = 0; i < 4; i++)
                        {
                           for (int j = 0; j < 3; j++)
                           {
                              if ((double)(discounts[i, j]) >= 0.00)
                              {
                                 if ((i == 2) && (j == 2)) break;
                                    InsertPriceListLoadError(PLHO.price_list_hdr_id.ToString(), GradeCodeDetailID, rowCount + 1, discountnames[i, j],
                                    discounts[i, j], 'E', "Discount cannot be positive.");
                              }
                           }

                         }
                         ///////////////////////
                           

                         // Look at warnings 'W'
                         if ((Price) > 1000.00M)
                         {
                            InsertPriceListLoadError(PLHO.price_list_hdr_id, GradeCodeDetailID, rowCount + 1, gradeName,
                                              Price, 'W', "Price is over $1000.00.  Please confirm with SP&P.");

                         }
                         if ((Price) == 0.00M)
                         {
                            InsertPriceListLoadError(PLHO.price_list_hdr_id, GradeCodeDetailID, rowCount + 1, gradeName,
                                              (decimal)(0.00), 'W', "Grade has no price.  Please confirm with SP&P.");
                         }
                           
                                       
                        }
                     
                    }

                   catch
                   {
                       Console.WriteLine("Blank Price encountered.  Likely a blank row.");
                   }

            }

In the catch this takes alot of time.
Can I put a loading thing.
0
mathieu_cupryk
Asked:
mathieu_cupryk
  • 2
1 Solution
 
anarki_jimbelCommented:
Not very clear what you want to achieve. From the first glance I'd say you code will fail if cell values are not numeric. And yes - execution goes to the catch block, just to see the mesage ("Blank Price encountered.  Likely a blank row.").

I'd check values in the try block if they are numeric (e.g., not blank string). You may use TryParse() function (you already asked the question about checking numeric values recently).

0
 
mathieu_cuprykAuthor Commented:
this is not good enough.
0
 
anarki_jimbelCommented:
Again, not sure what you mean saying "this is not good enough."
My answer is not good enough? Checking if values are numbers not good enough? Your code is not good enough?

Try to understand: most people here are quite busy people. If you want to get fast reply with a solution to your problem try to be more clear and more precise. If experts ask you to clarify your question, like I did,  - probably it worth to do so (not just replying that answer is not good enough).

Your code is lacking comments , really, no comments at all. It is pretty hard to understand what you are doing. You are not giving any hints. How can we solve the problem?
0

Featured Post

Get quick recovery of individual SharePoint items

Free tool – Veeam Explorer for Microsoft SharePoint, enables fast, easy restores of SharePoint sites, documents, libraries and lists — all with no agents to manage and no additional licenses to buy.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now