public void GetNextLabSheet() { string retStr = ""; try { using (WebClient webClient = new WebClient()) { WebProxy webProxy = new WebProxy(); webClient.Proxy = webProxy; string FullLabSheetText = webClient.DownloadString(new Uri("http://cssplabsheet.azurewebsites.net/GetNextLabSheet.aspx")); if (FullLabSheetText.Length > 0) { int posStart = FullLabSheetText.IndexOf("OtherServerLabSheetID|||||[") + 27; int posEnd = FullLabSheetText.IndexOf("]", posStart); string OtherServerLabSheetIDTxt = FullLabSheetText.Substring(posStart, posEnd - posStart); int OtherServerLabSheetID = int.Parse(OtherServerLabSheetIDTxt); posStart = FullLabSheetText.IndexOf("SubsectorTVItemID|||||[") + 23; posEnd = FullLabSheetText.IndexOf("]", posStart); string SubsectorTVItemIDTxt = FullLabSheetText.Substring(posStart, posEnd - posStart); int SubsectorTVItemID = int.Parse(SubsectorTVItemIDTxt); TVItem tvItemSubsector = new TVItem(); TVItem tvItemCountry = new TVItem(); TVItem tvItemProvince = new TVItem(); LabSheetAndA1Sheet labSheetAndA1Sheet = new LabSheetAndA1Sheet(); using (TransactionScope ts = new TransactionScope()) { LabSheetService labSheetService = new LabSheetService(LanguageEnum.en, _User); LabSheet labSheetRet = labSheetService.AddOrUpdateLabSheetDB(FullLabSheetText); if (!string.IsNullOrWhiteSpace(labSheetRet.Error)) { richTextBoxStatus.AppendText("Lab sheet adding error OtherServerLabSheetID [" + OtherServerLabSheetID.ToString() + "]" + labSheetRet.Error + "]\r\n"); return; } TVItemService tvItemService = new TVItemService(LanguageEnum.en, _User); tvItemSubsector = tvItemService.GetTVItemModelWithTVItemIDDB(SubsectorTVItemID); if (!string.IsNullOrWhiteSpace(tvItemSubsector.Error)) { richTextBoxStatus.AppendText("Lab sheet parsing error OtherServerLabSheetID [" + OtherServerLabSheetID.ToString() + "]" + tvItemSubsector.Error + "]\r\n"); return; } List <TVItem> tvItemList = tvItemService.GetParentsTVItemList(tvItemSubsector.TVPath); foreach (TVItem tvItem in tvItemList) { if (tvItem.TVType == TVTypeEnum.Province) { tvItemProvince = tvItem; } if (tvItem.TVType == TVTypeEnum.Country) { tvItemCountry = tvItem; } } labSheetAndA1Sheet.LabSheet = labSheetRet; labSheetAndA1Sheet.LabSheetA1Sheet = labSheetService.ParseLabSheetA1WithLabSheetID(labSheetRet.LabSheetID); if (!string.IsNullOrWhiteSpace(labSheetAndA1Sheet.LabSheetA1Sheet.Error)) { richTextBoxStatus.AppendText("Lab sheet parsing error OtherServerLabSheetID [" + OtherServerLabSheetID.ToString() + "]" + labSheetAndA1Sheet.LabSheetA1Sheet.Error + "]\r\n"); richTextBoxStatus.AppendText("Full Lab Sheet Text below\r\n"); richTextBoxStatus.AppendText("---------------- Start of full lab sheet text -----------\r\n"); richTextBoxStatus.AppendText(FullLabSheetText); richTextBoxStatus.AppendText("---------------- End of full lab sheet text -----------\r\n"); retStr = UpdateOtherServerWithOtherServerLabSheetIDAndLabSheetStatus(OtherServerLabSheetID, LabSheetStatusEnum.Error); if (!string.IsNullOrWhiteSpace(retStr)) { richTextBoxStatus.AppendText("Error updating other server lab sheet [" + retStr + "]"); } return; } string retStr2 = UploadLabSheetDetailInDB(labSheetAndA1Sheet); if (!string.IsNullOrWhiteSpace(retStr2)) { // Error message already sent to richTextboxStatus retStr = UpdateOtherServerWithOtherServerLabSheetIDAndLabSheetStatus(OtherServerLabSheetID, LabSheetStatusEnum.Error); if (!string.IsNullOrWhiteSpace(retStr)) { richTextBoxStatus.AppendText("Error updating other server lab sheet [" + retStr + "]"); } return; } ts.Complete(); } string href = "http://wmon01dtchlebl2/csspwebtools/en-CA/#!View/" + (tvItemCountry.TVText + "-" + tvItemProvince.TVText).Replace(" ", "-") + "|||" + tvItemProvince.TVItemID.ToString() + "|||010003030200000000000000000000"; if (labSheetAndA1Sheet.LabSheetA1Sheet.LabSheetA1MeasurementList.Where(c => c.MPN != null && c.MPN >= MPNLimitForEmail).Any()) { SendNewLabSheetEmailBigMPN(href, tvItemProvince, tvItemSubsector, labSheetAndA1Sheet); } else { SendNewLabSheetEmail(href, tvItemProvince, tvItemSubsector, labSheetAndA1Sheet); } retStr = UpdateOtherServerWithOtherServerLabSheetIDAndLabSheetStatus(OtherServerLabSheetID, LabSheetStatusEnum.Transferred); if (!string.IsNullOrWhiteSpace(retStr)) { richTextBoxStatus.AppendText("Error updating other server lab sheet [" + retStr + "]"); } } } } catch (Exception ex) { string errrrrr = ex.Message; } }