private IList <ReportedData> GetDataRow(DataSet ds) { //ArrayList errorList = new ArrayList(); //int count = 0; //try //{ string regionName; string siteName; string productName; string duration; decimal amount; int stockout; int instrumentDownTime;//b decimal adjusited; int rowno = 0; bool haserror; string rName = ""; string sName = ""; string pName = ""; ForlabRegion region = null; ForlabSite site = null; MasterProduct product = null; IList <ReportedData> rdlist = new List <ReportedData>(); foreach (DataRow dr in ds.Tables[0].Rows) { rowno++; haserror = false; regionName = Convert.ToString(dr[0]); //region name siteName = Convert.ToString(dr[1]); //site name productName = Convert.ToString(dr[2]); //product name duration = Convert.ToString(dr[3]); // reporting period(duration) try { amount = Convert.ToDecimal(dr[4]); //amount } catch { haserror = true; amount = 0; } try { stockout = Convert.ToInt32(dr[5]); //stock out } catch { haserror = true; stockout = 0; } try { instrumentDownTime = Convert.ToInt32(dr[6]); //instrumentDownTime } catch { haserror = true; instrumentDownTime = 0; } try { adjusited = Convert.ToDecimal(dr[7]); //adjusted } catch { haserror = true; adjusited = 0; } ReportedData rd = new ReportedData(rowno, regionName, siteName, productName, duration, amount, stockout, instrumentDownTime); if (rName != regionName) { if (!string.IsNullOrEmpty(regionName)) { region = DataRepository.GetRegionByName(regionName); } else { region = null; } rName = regionName; } if (region != null) { rd.Region = region; if (sName != siteName) { if (!string.IsNullOrEmpty(siteName)) { site = DataRepository.GetSiteByName(siteName, region.Id); } else { site = null; } sName = siteName; } if (site != null) { rd.Site = site; } else { haserror = true; } } else { haserror = true; } if (pName != productName) { if (!string.IsNullOrEmpty(productName)) { product = DataRepository.GetProductByName(productName); } else { product = null; } pName = productName; } if (product != null) { rd.Product = product; } else { haserror = true; } rd.HasError = haserror; rdlist.Add(rd); } //} //catch (Exception ex) //{ // //ShowError(ex.Message); //} return(rdlist); }
private IList <ReportedData> GetDataRow(DataSet ds) { string categoryName = null; string regionName; string siteName; string testName; string duration; decimal amount; int stockout; int instrumentDownTime; decimal adjusited; int rowno = 0; bool haserror; string cName = ""; string rName = ""; string sName = ""; string tName = ""; ForecastCategory fcategory = null; ForlabRegion region = null; ForlabSite site = null; //MasterProduct product = null; Test test = null; string errorDescription = ""; IList <ReportedData> rdlist = new List <ReportedData>(); DataRow dr = ds.Tables[0].Rows[0]; //foreach (DataRow dr in ds.Tables[0].Rows) //{ for (int i = 1; i < ds.Tables[0].Rows.Count; i = i + 4) { rowno++; haserror = false; DataRow dr1 = ds.Tables[0].Rows[i]; DataRow dr2 = ds.Tables[0].Rows[i + 1]; DataRow dr3 = ds.Tables[0].Rows[i + 2]; DataRow dr4 = ds.Tables[0].Rows[i + 3]; DataRow g = ds.Tables[0].Rows[0]; // int colid = 0; int f = 3; int colid; //0 if (_forecastInfo.DatausageEnum == DataUsageEnum.DATA_USAGE3) { colid = 3; } else { colid = 4; } do { regionName = ""; siteName = ""; if (_forecastInfo.DatausageEnum == DataUsageEnum.DATA_USAGE3) { categoryName = Convert.ToString(dr1[0]).Trim(); //(dr[colid++]) testName = Convert.ToString(dr1[1]).Trim(); //(dr[colid++])testName } else { regionName = Convert.ToString(dr1[0]).Trim(); //(dr[colid++]) region name siteName = Convert.ToString(dr1[1]).Trim(); //(dr[colid++]) site name testName = Convert.ToString(dr1[2]).Trim(); //(dr[colid++])testName } if (_forecastInfo.PeriodEnum != ForecastPeriodEnum.Monthly || _forecastInfo.PeriodEnum != ForecastPeriodEnum.Bimonthly) { duration = Convert.ToString(DateTime.FromOADate(Convert.ToDouble(dr[colid])));//(g[f]) Convert.ToString(dr[colid++]); // reporting period(duration) } // f = f + 3; else { duration = Convert.ToString(dr[colid]); } //duration = Convert.ToString(dr[colid++]); // reporting period(duration) try { if (dr1[colid].ToString() == string.Empty) { amount = 0; } else { amount = Convert.ToDecimal(dr1[colid]); //amount } ///if (amount == 0) // haserror = true; } catch { haserror = true; amount = 0; } try { if (dr2[colid].ToString() == string.Empty) { stockout = 0; } else { stockout = Convert.ToInt32(dr2[colid]); //stock out } } catch { haserror = true; stockout = 0; } try { if (dr3[colid].ToString() == string.Empty) { instrumentDownTime = 0; } else { instrumentDownTime = Convert.ToInt32(dr3[colid]); //instrumentDownTime } } catch { haserror = true; instrumentDownTime = 0; } //try //{ // adjusited = Convert.ToDecimal(dr[colid++]); //adjusted //} //catch //{ // haserror = true; adjusited = 0; // } ReportedData rd = null; if (_forecastInfo.DatausageEnum == DataUsageEnum.DATA_USAGE3) { rd = new ReportedData(categoryName, rowno, testName, duration, amount, stockout, instrumentDownTime); if (cName != categoryName) { if (!string.IsNullOrEmpty(categoryName)) { fcategory = DataRepository.GetForecastCategoryByName(_forecastInfo.Id, categoryName); } else { fcategory = null; } cName = categoryName; } if (fcategory != null) { rd.Category = fcategory; } else { rd.HasError = true; errorDescription = errorDescription + " Category Doesn't Exist"; } } else { rd = new ReportedData(regionName, rowno, siteName, testName, duration, amount, stockout, instrumentDownTime); if (rName != regionName) { if (!string.IsNullOrEmpty(regionName)) { region = DataRepository.GetRegionByName(regionName); } else { region = null; } rName = regionName; } if (region != null) { rd.Region = region; if (sName != siteName) { if (!string.IsNullOrEmpty(siteName)) { site = DataRepository.GetSiteByName(siteName, region.Id); } else { site = null; } sName = siteName; } if (site != null) { rd.Site = site; } else { haserror = true; errorDescription = errorDescription + " Site Doesn't Exist"; } } else { haserror = true; errorDescription = errorDescription + " Region Doesn't Exist"; } } if (tName != testName) { if (!string.IsNullOrEmpty(testName)) { test = DataRepository.GetTestByName(testName); } else { test = null; } tName = testName; } if (test != null) { rd.Test = test; } else { haserror = true; errorDescription = errorDescription + " Test Doesn't Exist"; } rd.HasError = haserror; rd.ErrorDescription = errorDescription; rdlist.Add(rd); colid++; errorDescription = ""; }while (colid < g.ItemArray.Length && g[colid].ToString() != "");// dr.ItemArray.Length / ds.Tables[0].Rows.Count); } return(rdlist); }