Example #1
0
        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;
        }
Example #2
0
        private IList<ReportedData> GetDataRow(DataSet ds)
        {
            string categoryName = null;
            string regionName;
            string siteName;
            string productName;
            string duration;
            decimal amount;
            int stockout;
            int instrumentDownTime;
            decimal adjusited;
            int rowno = 0;
            bool haserror;
            string cName = "";
            string rName = "";
            string sName = "";
            string pName = "";
            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)
            //{
            //try
            //{
                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 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++])
                            productName = Convert.ToString(dr1[1]).Trim();   //(dr[colid++])product name
                        }
                        else
                        {
                            regionName = Convert.ToString(dr1[0]).Trim(); //(dr[colid++]) region name
                            siteName = Convert.ToString(dr1[1]).Trim();           //(dr[colid++]) site name
                            productName = Convert.ToString(dr1[2]).Trim();   //(dr[colid++])product name
                        }
                        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)
                        else
                            duration = Convert.ToString(dr[colid]);
                        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;
                        }

                        adjusited = 0;
                        ReportedData rd = null;

                        if (_forecastInfo.DatausageEnum == DataUsageEnum.DATA_USAGE3)
                        {
                            rd = new ReportedData(rowno, categoryName, productName, duration, amount, stockout, instrumentDownTime);//b
                            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(rowno, regionName, siteName, productName, duration, amount, stockout, instrumentDownTime);//b

                            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 (pName != productName)
                        {
                            if (!string.IsNullOrEmpty(productName))
                                product = DataRepository.GetProductByName(productName);
                            else
                                product = null;
                            pName = productName;
                        }

                        if (product != null)
                            rd.Product = product;
                        else
                        {
                            haserror = true;
                            errorDescription = errorDescription + " Product 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);
                }
            //}
            //catch (Exception ex)
            //{ }
            return rdlist;
        }