Ejemplo n.º 1
0
        public void TVItemStat_Controller_Put_Test()
        {
            foreach (LanguageEnum LanguageRequest in AllowableLanguages)
            {
                foreach (int ContactID in new List <int>()
                {
                    AdminContactID
                })                                                             //, TestEmailValidatedContactID, TestEmailNotValidatedContactID })
                {
                    TVItemStatController tvItemStatController = new TVItemStatController(DatabaseTypeEnum.SqlServerTestDB);
                    Assert.IsNotNull(tvItemStatController);
                    Assert.AreEqual(DatabaseTypeEnum.SqlServerTestDB, tvItemStatController.DatabaseType);

                    TVItemStat tvItemStatLast = new TVItemStat();
                    using (CSSPDBContext db = new CSSPDBContext(DatabaseType))
                    {
                        Query query = new Query();
                        query.Language = LanguageRequest;

                        TVItemStatService tvItemStatService = new TVItemStatService(query, db, ContactID);
                        tvItemStatLast = (from c in db.TVItemStats select c).FirstOrDefault();
                    }

                    // ok with TVItemStat info
                    IHttpActionResult jsonRet = tvItemStatController.GetTVItemStatWithID(tvItemStatLast.TVItemStatID);
                    Assert.IsNotNull(jsonRet);

                    OkNegotiatedContentResult <TVItemStat> Ret = jsonRet as OkNegotiatedContentResult <TVItemStat>;
                    TVItemStat tvItemStatRet = Ret.Content;
                    Assert.AreEqual(tvItemStatLast.TVItemStatID, tvItemStatRet.TVItemStatID);

                    BadRequestErrorMessageResult badRequest = jsonRet as BadRequestErrorMessageResult;
                    Assert.IsNull(badRequest);

                    // Put to return success
                    IHttpActionResult jsonRet2 = tvItemStatController.Put(tvItemStatRet, LanguageRequest.ToString());
                    Assert.IsNotNull(jsonRet2);

                    OkNegotiatedContentResult <TVItemStat> tvItemStatRet2 = jsonRet2 as OkNegotiatedContentResult <TVItemStat>;
                    Assert.IsNotNull(tvItemStatRet2);

                    BadRequestErrorMessageResult badRequest2 = jsonRet2 as BadRequestErrorMessageResult;
                    Assert.IsNull(badRequest2);

                    // Put to return CSSPError because TVItemStatID of 0 does not exist
                    tvItemStatRet.TVItemStatID = 0;
                    IHttpActionResult jsonRet3 = tvItemStatController.Put(tvItemStatRet, LanguageRequest.ToString());
                    Assert.IsNotNull(jsonRet3);

                    OkNegotiatedContentResult <TVItemStat> tvItemStatRet3 = jsonRet3 as OkNegotiatedContentResult <TVItemStat>;
                    Assert.IsNull(tvItemStatRet3);

                    BadRequestErrorMessageResult badRequest3 = jsonRet3 as BadRequestErrorMessageResult;
                    Assert.IsNotNull(badRequest3);
                }
            }
        }
 public IHttpActionResult GetTVItemStatList([FromUri] string lang = "en", [FromUri] int skip  = 0, [FromUri] int take      = 200,
                                            [FromUri] string asc  = "", [FromUri] string desc = "", [FromUri] string where = "", [FromUri] string extra = "")
 {
     using (CSSPDBContext db = new CSSPDBContext(DatabaseType))
     {
         TVItemStatService tvItemStatService = new TVItemStatService(new Query()
         {
             Lang = lang
         }, db, ContactID);
        private void GenerateMunicipalityDocument(Document document)
        {
            Body      body      = new Body();
            Paragraph paragraph = new Paragraph();
            Run       run       = new Run();
            Table     table     = new Table();
            TableRow  tableRow  = new TableRow();
            TableCell tableCell = new TableCell();
            string    URL       = "";

            TVItemService     tvItemService     = new TVItemService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User);
            TVItemStatService tvItemStatService = new TVItemStatService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User);

            TVItemModel tvItemModelMunicipality = tvItemService.GetTVItemModelWithTVItemIDDB(_TaskRunnerBaseService._BWObj.appTaskModel.TVItemID);

            if (!string.IsNullOrWhiteSpace(tvItemModelMunicipality.Error))
            {
                paragraph = DocxBase.AddParagraph(body);
                DocxBase.AddRunWithCurrentParagraphStyle(paragraph, tvItemModelMunicipality.Error);
            }

            //tvItemStatService.SetTVItemStatForTVItemIDAndParentsTVItemID(tvItemModelMunicipality.TVItemID);

            DocxBase.CurrentParagraphStyle     = ParagraphStyleEnum.Heading1;
            DocxBase.CurrentJustificationValue = JustificationValues.Center;
            paragraph = DocxBase.AddParagraph(body);

            URL = _TaskRunnerBaseService.GetUrlFromTVItem(tvItemModelMunicipality);
            run = DocxBase.AddRunHyperlink(paragraph, URL, tvItemModelMunicipality.TVText);

            List <TVItemModel> tvItemModelInfrastructureList = tvItemService.GetChildrenTVItemModelListWithTVItemIDAndTVTypeDB(tvItemModelMunicipality.TVItemID, TVTypeEnum.Infrastructure);

            foreach (TVItemModel tvItemModelInfrastructure in tvItemModelInfrastructureList)
            {
                DocxBase.CurrentParagraphStyle = ParagraphStyleEnum.Heading2;
                paragraph = DocxBase.AddParagraph(body);

                URL = _TaskRunnerBaseService.GetUrlFromTVItem(tvItemModelInfrastructure);
                run = DocxBase.AddRunHyperlink(paragraph, URL, tvItemModelInfrastructure.TVText);
            }

            DocxBase.CurrentParagraphStyle     = ParagraphStyleEnum.Normal;
            DocxBase.CurrentJustificationValue = JustificationValues.Left;
            paragraph = DocxBase.AddParagraph(body);

            paragraph = DocxBase.AddParagraph(body);

            DocxBase.AddRunWithCurrentParagraphStyle(paragraph, "Etc ... ");

            DocxBase.AddSectionProp(body);

            document.Append(body);
        }
        public void TVItemStat_CRUD_Test()
        {
            foreach (CultureInfo culture in AllowableCulture)
            {
                ChangeCulture(culture);

                using (CSSPDBContext dbTestDB = new CSSPDBContext(DatabaseTypeEnum.SqlServerTestDB))
                {
                    TVItemStatService tvItemStatService = new TVItemStatService(new Query()
                    {
                        Lang = culture.TwoLetterISOLanguageName
                    }, dbTestDB, ContactID);

                    int count = 0;
                    if (count == 1)
                    {
                        // just so we don't get a warning during compile [The variable 'count' is assigned but its value is never used]
                    }

                    TVItemStat tvItemStat = GetFilledRandomTVItemStat("");

                    // -------------------------------
                    // -------------------------------
                    // CRUD testing
                    // -------------------------------
                    // -------------------------------

                    count = tvItemStatService.GetTVItemStatList().Count();

                    Assert.AreEqual(count, (from c in dbTestDB.TVItemStats select c).Count());

                    tvItemStatService.Add(tvItemStat);
                    if (tvItemStat.HasErrors)
                    {
                        Assert.AreEqual("", tvItemStat.ValidationResults.FirstOrDefault().ErrorMessage);
                    }
                    Assert.AreEqual(true, tvItemStatService.GetTVItemStatList().Where(c => c == tvItemStat).Any());
                    tvItemStatService.Update(tvItemStat);
                    if (tvItemStat.HasErrors)
                    {
                        Assert.AreEqual("", tvItemStat.ValidationResults.FirstOrDefault().ErrorMessage);
                    }
                    Assert.AreEqual(count + 1, tvItemStatService.GetTVItemStatList().Count());
                    tvItemStatService.Delete(tvItemStat);
                    if (tvItemStat.HasErrors)
                    {
                        Assert.AreEqual("", tvItemStat.ValidationResults.FirstOrDefault().ErrorMessage);
                    }
                    Assert.AreEqual(count, tvItemStatService.GetTVItemStatList().Count());
                }
            }
        }
        public IHttpActionResult GetTVItemStatWithID([FromUri] int TVItemStatID, [FromUri] string lang = "en", [FromUri] string extra = "")
        {
            using (CSSPDBContext db = new CSSPDBContext(DatabaseType))
            {
                TVItemStatService tvItemStatService = new TVItemStatService(new Query()
                {
                    Language = (lang == "fr" ? LanguageEnum.fr : LanguageEnum.en)
                }, db, ContactID);

                tvItemStatService.Query = tvItemStatService.FillQuery(typeof(TVItemStat), lang, 0, 1, "", "", extra);

                if (tvItemStatService.Query.Extra == "A")
                {
                    TVItemStatExtraA tvItemStatExtraA = new TVItemStatExtraA();
                    tvItemStatExtraA = tvItemStatService.GetTVItemStatExtraAWithTVItemStatID(TVItemStatID);

                    if (tvItemStatExtraA == null)
                    {
                        return(NotFound());
                    }

                    return(Ok(tvItemStatExtraA));
                }
                else if (tvItemStatService.Query.Extra == "B")
                {
                    TVItemStatExtraB tvItemStatExtraB = new TVItemStatExtraB();
                    tvItemStatExtraB = tvItemStatService.GetTVItemStatExtraBWithTVItemStatID(TVItemStatID);

                    if (tvItemStatExtraB == null)
                    {
                        return(NotFound());
                    }

                    return(Ok(tvItemStatExtraB));
                }
                else
                {
                    TVItemStat tvItemStat = new TVItemStat();
                    tvItemStat = tvItemStatService.GetTVItemStatWithTVItemStatID(TVItemStatID);

                    if (tvItemStat == null)
                    {
                        return(NotFound());
                    }

                    return(Ok(tvItemStat));
                }
            }
        }
Ejemplo n.º 6
0
        public void TVItemStat_Controller_GetTVItemStatWithID_Test()
        {
            foreach (LanguageEnum LanguageRequest in AllowableLanguages)
            {
                foreach (int ContactID in new List <int>()
                {
                    AdminContactID
                })                                                             //, TestEmailValidatedContactID, TestEmailNotValidatedContactID })
                {
                    TVItemStatController tvItemStatController = new TVItemStatController(DatabaseTypeEnum.SqlServerTestDB);
                    Assert.IsNotNull(tvItemStatController);
                    Assert.AreEqual(DatabaseTypeEnum.SqlServerTestDB, tvItemStatController.DatabaseType);

                    TVItemStat tvItemStatFirst = new TVItemStat();
                    using (CSSPDBContext db = new CSSPDBContext(DatabaseType))
                    {
                        TVItemStatService tvItemStatService = new TVItemStatService(new Query(), db, ContactID);
                        tvItemStatFirst = (from c in db.TVItemStats select c).FirstOrDefault();
                    }

                    // ok with TVItemStat info
                    IHttpActionResult jsonRet = tvItemStatController.GetTVItemStatWithID(tvItemStatFirst.TVItemStatID);
                    Assert.IsNotNull(jsonRet);

                    OkNegotiatedContentResult <TVItemStat> Ret = jsonRet as OkNegotiatedContentResult <TVItemStat>;
                    TVItemStat tvItemStatRet = Ret.Content;
                    Assert.AreEqual(tvItemStatFirst.TVItemStatID, tvItemStatRet.TVItemStatID);

                    BadRequestErrorMessageResult badRequest = jsonRet as BadRequestErrorMessageResult;
                    Assert.IsNull(badRequest);

                    // Not Found
                    IHttpActionResult jsonRet2 = tvItemStatController.GetTVItemStatWithID(0);
                    Assert.IsNotNull(jsonRet2);

                    OkNegotiatedContentResult <TVItemStat> tvItemStatRet2 = jsonRet2 as OkNegotiatedContentResult <TVItemStat>;
                    Assert.IsNull(tvItemStatRet2);

                    NotFoundResult notFoundRequest = jsonRet2 as NotFoundResult;
                    Assert.IsNotNull(notFoundRequest);
                }
            }
        }
        public IHttpActionResult Delete([FromBody] TVItemStat tvItemStat, [FromUri] string lang = "en")
        {
            using (CSSPDBContext db = new CSSPDBContext(DatabaseType))
            {
                TVItemStatService tvItemStatService = new TVItemStatService(new Query()
                {
                    Language = (lang == "fr" ? LanguageEnum.fr : LanguageEnum.en)
                }, db, ContactID);

                if (!tvItemStatService.Delete(tvItemStat))
                {
                    return(BadRequest(String.Join("|||", tvItemStat.ValidationResults)));
                }
                else
                {
                    tvItemStat.ValidationResults = null;
                    return(Ok(tvItemStat));
                }
            }
        }
        public void GetTVItemStatList_Test()
        {
            foreach (CultureInfo culture in AllowableCulture)
            {
                ChangeCulture(culture);

                using (CSSPDBContext dbTestDB = new CSSPDBContext(DatabaseTypeEnum.SqlServerTestDB))
                {
                    TVItemStatService tvItemStatService = new TVItemStatService(new Query()
                    {
                        Lang = culture.TwoLetterISOLanguageName
                    }, dbTestDB, ContactID);
                    TVItemStat tvItemStat = (from c in dbTestDB.TVItemStats select c).FirstOrDefault();
                    Assert.IsNotNull(tvItemStat);

                    List <TVItemStat> tvItemStatDirectQueryList = new List <TVItemStat>();
                    tvItemStatDirectQueryList = (from c in dbTestDB.TVItemStats select c).Take(200).ToList();

                    foreach (string extra in new List <string>()
                    {
                        null, "A", "B", "C", "D", "E"
                    })
                    {
                        tvItemStatService.Query.Extra = extra;

                        if (string.IsNullOrWhiteSpace(extra))
                        {
                            List <TVItemStat> tvItemStatList = new List <TVItemStat>();
                            tvItemStatList = tvItemStatService.GetTVItemStatList().ToList();
                            CheckTVItemStatFields(tvItemStatList);
                        }
                        else
                        {
                            //Assert.AreEqual(true, false);
                        }
                    }
                }
            }
        }
        public void GetTVItemStatList_2Where_Test()
        {
            foreach (CultureInfo culture in AllowableCulture)
            {
                ChangeCulture(culture);

                using (CSSPDBContext dbTestDB = new CSSPDBContext(DatabaseTypeEnum.SqlServerTestDB))
                {
                    foreach (string extra in new List <string>()
                    {
                        null, "A", "B", "C", "D", "E"
                    })
                    {
                        TVItemStatService tvItemStatService = new TVItemStatService(new Query()
                        {
                            Lang = culture.TwoLetterISOLanguageName
                        }, dbTestDB, ContactID);

                        tvItemStatService.Query = tvItemStatService.FillQuery(typeof(TVItemStat), culture.TwoLetterISOLanguageName, 0, 10000, "", "", "TVItemStatID,GT,2|TVItemStatID,LT,5", extra);

                        List <TVItemStat> tvItemStatDirectQueryList = new List <TVItemStat>();
                        tvItemStatDirectQueryList = (from c in dbTestDB.TVItemStats select c).Where(c => c.TVItemStatID > 2 && c.TVItemStatID < 5).ToList();

                        if (string.IsNullOrWhiteSpace(extra))
                        {
                            List <TVItemStat> tvItemStatList = new List <TVItemStat>();
                            tvItemStatList = tvItemStatService.GetTVItemStatList().ToList();
                            CheckTVItemStatFields(tvItemStatList);
                            Assert.AreEqual(tvItemStatDirectQueryList[0].TVItemStatID, tvItemStatList[0].TVItemStatID);
                        }
                        else
                        {
                            //Assert.AreEqual(true, false);
                        }
                    }
                }
            }
        }
Ejemplo n.º 10
0
        private void GenerateCountryDocument(Document document)
        {
            Body      body      = new Body();
            Paragraph paragraph = new Paragraph();
            Run       run       = new Run();
            Table     table     = new Table();
            TableRow  tableRow  = new TableRow();
            TableCell tableCell = new TableCell();
            string    URL       = "";

            BaseEnumService   baseEnumService   = new BaseEnumService(_TaskRunnerBaseService._BWObj.appTaskModel.Language);
            TVItemService     tvItemService     = new TVItemService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User);
            TVItemStatService tvItemStatService = new TVItemStatService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User);

            TVItemModel tvItemModelCounty = tvItemService.GetTVItemModelWithTVItemIDDB(_TaskRunnerBaseService._BWObj.appTaskModel.TVItemID);

            if (!string.IsNullOrWhiteSpace(tvItemModelCounty.Error))
            {
                paragraph = DocxBase.AddParagraph(body);
                DocxBase.AddRunWithCurrentParagraphStyle(paragraph, tvItemModelCounty.Error);
            }

            DocxBase.CurrentParagraphStyle     = ParagraphStyleEnum.Heading1;
            DocxBase.CurrentJustificationValue = JustificationValues.Center;
            paragraph = DocxBase.AddParagraph(body);

            URL = _TaskRunnerBaseService.GetUrlFromTVItem(tvItemModelCounty);
            run = DocxBase.AddRunHyperlink(paragraph, URL, tvItemModelCounty.TVText);

            List <TVItemModel> tvItemModelProvinceList = tvItemService.GetChildrenTVItemModelListWithTVItemIDAndTVTypeDB(tvItemModelCounty.TVItemID, TVTypeEnum.Province);

            foreach (TVItemModel tvItemModelProvince in tvItemModelProvinceList)
            {
                //tvItemStatService.SetTVItemStatForTVItemIDAndParentsTVItemID(tvItemModelProvince.TVItemID);

                DocxBase.CurrentParagraphStyle = ParagraphStyleEnum.Heading2;
                paragraph = DocxBase.AddParagraph(body);

                URL = _TaskRunnerBaseService.GetUrlFromTVItem(tvItemModelProvince);
                run = DocxBase.AddRunHyperlink(paragraph, URL, tvItemModelProvince.TVText);

                DocxBase.CurrentTableStyle = TableStyleEnum.ListTable7Colorful_Accent5;
                table    = DocxBase.AddTableStyle(body);
                tableRow = DocxBase.AddTableRow(table);

                // Doing Items
                tableCell = DocxBase.AddTableCell(tableRow);
                paragraph = DocxBase.AddTableCellParagraph(tableCell);
                run       = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, "Items");

                // Doing Count
                tableCell = DocxBase.AddTableCell(tableRow);
                paragraph = DocxBase.AddTableCellParagraph(tableCell);
                run       = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, "Count");

                List <TVItemStatModel> tvItemStatModelList = tvItemStatService.GetTVItemStatModelListWithTVItemIDDB(tvItemModelProvince.TVItemID);

                int count = 0;
                foreach (TVItemStatModel tvItemStatModel in tvItemStatModelList)
                {
                    count   += 1;
                    tableRow = DocxBase.AddTableRow(table);

                    // Doing Item
                    tableCell = DocxBase.AddTableCell(tableRow);
                    paragraph = DocxBase.AddTableCellParagraph(tableCell);
                    run       = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, baseEnumService.GetEnumText_TVTypeEnum(tvItemStatModel.TVType));

                    // Doing number
                    tableCell = DocxBase.AddTableCell(tableRow);
                    paragraph = DocxBase.AddTableCellParagraph(tableCell);

                    run = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, tvItemStatModel.ChildCount.ToString());
                }
            }

            DocxBase.CurrentParagraphStyle     = ParagraphStyleEnum.Normal;
            DocxBase.CurrentJustificationValue = JustificationValues.Left;
            paragraph = DocxBase.AddParagraph(body);

            paragraph = DocxBase.AddParagraph(body);

            DocxBase.AddRunWithCurrentParagraphStyle(paragraph, "Etc ... ");

            DocxBase.AddSectionProp(body);

            document.Append(body);
        }
        private void GenerateSubsectorFaecalColiformDensitiesDocument(Document document)
        {
            Body      body      = new Body();
            Paragraph paragraph = new Paragraph();
            Run       run       = new Run();
            Table     table     = new Table();
            TableRow  tableRow  = new TableRow();
            TableCell tableCell = new TableCell();
            //string URL = "";

            BaseEnumService      baseEnumService      = new BaseEnumService(_TaskRunnerBaseService._BWObj.appTaskModel.Language);
            TVItemService        tvItemService        = new TVItemService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User);
            TVItemStatService    tvItemStatService    = new TVItemStatService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User);
            MWQMSampleService    mwqmSampleService    = new MWQMSampleService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User);
            MWQMSiteService      mwqmSiteService      = new MWQMSiteService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User);
            TideSiteService      tideSiteService      = new TideSiteService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User);
            TideDataValueService tideDataValueService = new TideDataValueService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User);

            TVItemModel tvItemModelSubsector = tvItemService.GetTVItemModelWithTVItemIDDB(_TaskRunnerBaseService._BWObj.appTaskModel.TVItemID);

            if (!string.IsNullOrWhiteSpace(tvItemModelSubsector.Error))
            {
                paragraph = DocxBase.AddParagraph(body);
                DocxBase.AddRunWithCurrentParagraphStyle(paragraph, tvItemModelSubsector.Error);
            }

            //tvItemStatService.SetTVItemStatForTVItemIDAndParentsTVItemID(tvItemModelSubsector.TVItemID);

            TVItemModel tvItemModelTideSite = tvItemService.GetChildrenTVItemModelListWithTVItemIDAndTVTypeDB(tvItemModelSubsector.TVItemID, TVTypeEnum.TideSite).FirstOrDefault();

            if (tvItemModelTideSite == null)
            {
                if (!string.IsNullOrWhiteSpace(tvItemModelSubsector.Error))
                {
                    paragraph = DocxBase.AddParagraph(body);
                    DocxBase.AddRunWithCurrentParagraphStyle(paragraph, DocxServiceSubsectorFCDensitiesRes.CoundNotFindTideSite);
                    return;
                }
            }

            List <TVItemModel> tvItemModelMWQMList = tvItemService.GetChildrenTVItemModelListWithTVItemIDAndTVTypeDB(tvItemModelSubsector.TVItemID, TVTypeEnum.MWQMSite);

            List <StationDateValue> stationDateValueList = new List <StationDateValue>();
            List <DateTime>         DateWithDataList     = new List <DateTime>();
            List <string>           StationList          = new List <string>();

            foreach (TVItemModel tvItemModelMWQM in tvItemModelMWQMList)
            {
                string Station = mwqmSiteService.GetMWQMSiteModelWithMWQMSiteTVItemIDDB(tvItemModelMWQM.TVItemID).MWQMSiteNumber;

                StationList.Add(Station);

                List <MWQMSampleModel> mwqmSampleModelList = mwqmSampleService.GetMWQMSampleModelListWithMWQMSiteTVItemIDDB(tvItemModelMWQM.TVItemID);

                foreach (MWQMSampleModel mwqmSampleModel in mwqmSampleModelList.OrderByDescending(c => c.SampleDateTime_Local))
                {
                    StationDateValue stationDateValue = new StationDateValue()
                    {
                        Station = Station,
                        Date    = new DateTime(mwqmSampleModel.SampleDateTime_Local.Year, mwqmSampleModel.SampleDateTime_Local.Month, mwqmSampleModel.SampleDateTime_Local.Day),
                        Value   = mwqmSampleModel.FecCol_MPN_100ml,
                    };

                    if (!DateWithDataList.Contains(stationDateValue.Date))
                    {
                        DateWithDataList.Add(stationDateValue.Date);
                    }

                    stationDateValueList.Add(stationDateValue);
                }
            }

            DateWithDataList = DateWithDataList.OrderBy(c => c).ToList();
            StationList      = StationList.OrderBy(c => c).ToList();

            for (int i = 0, count = DateWithDataList.Count; i < count; i = i + 15)
            {
                DocxBase.CurrentFontName           = FontNameEnum.Arial;
                DocxBase.CurrentFontSize           = 16;
                DocxBase.CurrentParagraphStyle     = ParagraphStyleEnum.Caption;
                DocxBase.CurrentJustificationValue = JustificationValues.Left;
                paragraph = DocxBase.AddParagraph(body);
                paragraph = DocxBase.AddParagraph(body);

                string TableTitle = DocxServiceSubsectorFCDensitiesRes.Table + "1B-" + ((int)(i / 15) + 1).ToString() + "." + DocxServiceSubsectorFCDensitiesRes.FaecalColiformDensitiesMPNPer100 +
                                    " " + DocxServiceSubsectorFCDensitiesRes.For + " " + tvItemModelSubsector.TVText;
                run = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, TableTitle);

                DocxBase.CurrentTableStyle = TableStyleEnum.PlainTable1;
                DocxBase.CurrentFontName   = FontNameEnum.Arial;
                DocxBase.CurrentFontSize   = 10;
                table    = DocxBase.AddTableStyle(body);
                tableRow = DocxBase.AddTableRow(table);

                List <DateTime> dateTimeNext15 = (from c in DateWithDataList
                                                  where c >= DateWithDataList[i]
                                                  select c).Take(15).ToList <DateTime>();

                tableCell = DocxBase.AddTableCell(tableRow);
                paragraph = DocxBase.AddTableCellParagraph(tableCell);
                run       = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, " ");
                paragraph = DocxBase.AddTableCellParagraph(tableCell);
                run       = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, DocxServiceSubsectorFCDensitiesRes.Station);

                foreach (DateTime dateTime in dateTimeNext15)
                {
                    tableCell = DocxBase.AddTableCell(tableRow);
                    paragraph = DocxBase.AddTableCellParagraph(tableCell);
                    run       = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, dateTime.ToString("yyyy"));
                    paragraph = DocxBase.AddTableCellParagraph(tableCell);
                    run       = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, dateTime.ToString("dd MMM"));
                }

                List <StationDateValue> StationDateValueDataList = (from c in stationDateValueList
                                                                    orderby c.Station
                                                                    select c).ToList <StationDateValue>();

                foreach (string station in StationList)
                {
                    tableRow = DocxBase.AddTableRow(table);

                    tableCell = DocxBase.AddTableCell(tableRow);
                    paragraph = DocxBase.AddTableCellParagraph(tableCell);
                    run       = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, station);

                    foreach (DateTime dateTime in dateTimeNext15)
                    {
                        StationDateValue stationDateValueForDate = (from c in stationDateValueList
                                                                    where c.Station == station &&
                                                                    c.Date.Year == dateTime.Year &&
                                                                    c.Date.Month == dateTime.Month &&
                                                                    c.Date.Day == dateTime.Day
                                                                    select c).FirstOrDefault();

                        tableCell = DocxBase.AddTableCell(tableRow);
                        paragraph = DocxBase.AddTableCellParagraph(tableCell);
                        run       = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, (stationDateValueForDate == null ? " " : (stationDateValueForDate.Value < 2 ? "<2" : stationDateValueForDate.Value.ToString("F0"))));
                    }
                }

                // Tide Row
                tableRow = DocxBase.AddTableRow(table);

                tableCell = DocxBase.AddTableCell(tableRow);
                paragraph = DocxBase.AddTableCellParagraph(tableCell);
                run       = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, DocxServiceSubsectorFCDensitiesRes.Tide);

                foreach (DateTime dateTime in dateTimeNext15)
                {
                    TideDataValueModel tideDataValueModel = tideDataValueService.GetTideDataValueModelWithTideSiteTVItemIDAndDateDB(tvItemModelTideSite.TVItemID, dateTime);

                    string TideStartAccronym = GetTideTextAccronym(tideDataValueModel.TideStart);
                    string TideEndAccronym   = GetTideTextAccronym(tideDataValueModel.TideEnd);

                    tableCell = DocxBase.AddTableCell(tableRow);
                    paragraph = DocxBase.AddTableCellParagraph(tableCell);
                    run       = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, TideStartAccronym + "-" + TideEndAccronym);
                }

                // Rain (mm) Row
                tableRow = DocxBase.AddTableRow(table);

                tableCell = DocxBase.AddTableCell(tableRow);
                paragraph = DocxBase.AddTableCellParagraph(tableCell);
                run       = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, DocxServiceSubsectorFCDensitiesRes.Rain_mm);

                foreach (DateTime dateTime in dateTimeNext15)
                {
                    tableCell = DocxBase.AddTableCell(tableRow);
                    paragraph = DocxBase.AddTableCellParagraph(tableCell);
                    run       = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, "");
                }

                // 0-24 h Row
                tableRow = DocxBase.AddTableRow(table);

                tableCell = DocxBase.AddTableCell(tableRow);
                paragraph = DocxBase.AddTableCellParagraph(tableCell);
                run       = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, DocxServiceSubsectorFCDensitiesRes._0_24h);

                foreach (DateTime dateTime in dateTimeNext15)
                {
                    tableCell = DocxBase.AddTableCell(tableRow);
                    paragraph = DocxBase.AddTableCellParagraph(tableCell);
                    run       = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, "ToDo");
                }

                // 0-48 h Row
                tableRow = DocxBase.AddTableRow(table);

                tableCell = DocxBase.AddTableCell(tableRow);
                paragraph = DocxBase.AddTableCellParagraph(tableCell);
                run       = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, DocxServiceSubsectorFCDensitiesRes._0_48h);

                foreach (DateTime dateTime in dateTimeNext15)
                {
                    tableCell = DocxBase.AddTableCell(tableRow);
                    paragraph = DocxBase.AddTableCellParagraph(tableCell);
                    run       = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, "ToDo");
                }

                // 0-72 h Row
                tableRow = DocxBase.AddTableRow(table);

                tableCell = DocxBase.AddTableCell(tableRow);
                paragraph = DocxBase.AddTableCellParagraph(tableCell);
                run       = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, DocxServiceSubsectorFCDensitiesRes._0_72h);

                foreach (DateTime dateTime in dateTimeNext15)
                {
                    tableCell = DocxBase.AddTableCell(tableRow);
                    paragraph = DocxBase.AddTableCellParagraph(tableCell);
                    run       = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, "ToDo");
                }
            }


            DocxBase.CurrentParagraphStyle = ParagraphStyleEnum.Quote;
            paragraph = DocxBase.AddParagraph(body);
            string NoteTxt = DocxServiceSubsectorFCDensitiesRes.Note + " : ";

            for (int i = 1, count = Enum.GetNames(typeof(TideTextEnum)).Length; i < count; i++)
            {
                NoteTxt = GetTideTextAccronym((TideTextEnum)i) + " = " + baseEnumService.GetEnumText_TideTextEnum((TideTextEnum)i) + " | ";
            }

            DocxBase.AddRunWithCurrentParagraphStyle(paragraph, NoteTxt);

            DocxBase.AddSectionProp(body);

            document.Append(body);
        }
Ejemplo n.º 12
0
        public void TVItemStat_Controller_GetTVItemStatList_Test()
        {
            foreach (LanguageEnum LanguageRequest in AllowableLanguages)
            {
                foreach (int ContactID in new List <int>()
                {
                    AdminContactID
                })                                                             //, TestEmailValidatedContactID, TestEmailNotValidatedContactID })
                {
                    TVItemStatController tvItemStatController = new TVItemStatController(DatabaseTypeEnum.SqlServerTestDB);
                    Assert.IsNotNull(tvItemStatController);
                    Assert.AreEqual(DatabaseTypeEnum.SqlServerTestDB, tvItemStatController.DatabaseType);

                    TVItemStat tvItemStatFirst = new TVItemStat();
                    int        count           = -1;
                    Query      query           = new Query();
                    using (CSSPDBContext db = new CSSPDBContext(DatabaseTypeEnum.SqlServerTestDB))
                    {
                        TVItemStatService tvItemStatService = new TVItemStatService(query, db, ContactID);
                        tvItemStatFirst = (from c in db.TVItemStats select c).FirstOrDefault();
                        count           = (from c in db.TVItemStats select c).Count();
                        count           = (query.Take > count ? count : query.Take);
                    }

                    // ok with TVItemStat info
                    IHttpActionResult jsonRet = tvItemStatController.GetTVItemStatList();
                    Assert.IsNotNull(jsonRet);

                    OkNegotiatedContentResult <List <TVItemStat> > ret = jsonRet as OkNegotiatedContentResult <List <TVItemStat> >;
                    Assert.AreEqual(tvItemStatFirst.TVItemStatID, ret.Content[0].TVItemStatID);
                    Assert.AreEqual((count > query.Take ? query.Take : count), ret.Content.Count);

                    List <TVItemStat> tvItemStatList = new List <TVItemStat>();
                    count = -1;
                    query = new Query();
                    using (CSSPDBContext db = new CSSPDBContext(DatabaseTypeEnum.SqlServerTestDB))
                    {
                        TVItemStatService tvItemStatService = new TVItemStatService(query, db, ContactID);
                        tvItemStatList = (from c in db.TVItemStats select c).OrderBy(c => c.TVItemStatID).Skip(0).Take(2).ToList();
                        count          = (from c in db.TVItemStats select c).Count();
                    }

                    if (count > 0)
                    {
                        query.Skip = 0;
                        query.Take = 5;
                        count      = (query.Take > count ? query.Take : count);

                        // ok with TVItemStat info
                        jsonRet = tvItemStatController.GetTVItemStatList(query.Language.ToString(), query.Skip, query.Take);
                        Assert.IsNotNull(jsonRet);

                        ret = jsonRet as OkNegotiatedContentResult <List <TVItemStat> >;
                        Assert.AreEqual(tvItemStatList[0].TVItemStatID, ret.Content[0].TVItemStatID);
                        Assert.AreEqual((count > query.Take ? query.Take : count), ret.Content.Count);

                        if (count > 1)
                        {
                            query.Skip = 1;
                            query.Take = 5;
                            count      = (query.Take > count ? query.Take : count);

                            // ok with TVItemStat info
                            IHttpActionResult jsonRet2 = tvItemStatController.GetTVItemStatList(query.Language.ToString(), query.Skip, query.Take);
                            Assert.IsNotNull(jsonRet2);

                            OkNegotiatedContentResult <List <TVItemStat> > ret2 = jsonRet2 as OkNegotiatedContentResult <List <TVItemStat> >;
                            Assert.AreEqual(tvItemStatList[1].TVItemStatID, ret2.Content[0].TVItemStatID);
                            Assert.AreEqual((count > query.Take ? query.Take : count), ret2.Content.Count);
                        }
                    }
                }
            }
        }
Ejemplo n.º 13
0
        public void TVItemStat_Controller_Post_Test()
        {
            foreach (LanguageEnum LanguageRequest in AllowableLanguages)
            {
                foreach (int ContactID in new List <int>()
                {
                    AdminContactID
                })                                                             //, TestEmailValidatedContactID, TestEmailNotValidatedContactID })
                {
                    TVItemStatController tvItemStatController = new TVItemStatController(DatabaseTypeEnum.SqlServerTestDB);
                    Assert.IsNotNull(tvItemStatController);
                    Assert.AreEqual(DatabaseTypeEnum.SqlServerTestDB, tvItemStatController.DatabaseType);

                    TVItemStat tvItemStatLast = new TVItemStat();
                    using (CSSPDBContext db = new CSSPDBContext(DatabaseType))
                    {
                        Query query = new Query();
                        query.Language = LanguageRequest;
                        query.Asc      = "";
                        query.Desc     = "";

                        TVItemStatService tvItemStatService = new TVItemStatService(query, db, ContactID);
                        tvItemStatLast = (from c in db.TVItemStats select c).FirstOrDefault();
                    }

                    // ok with TVItemStat info
                    IHttpActionResult jsonRet = tvItemStatController.GetTVItemStatWithID(tvItemStatLast.TVItemStatID);
                    Assert.IsNotNull(jsonRet);

                    OkNegotiatedContentResult <TVItemStat> Ret = jsonRet as OkNegotiatedContentResult <TVItemStat>;
                    TVItemStat tvItemStatRet = Ret.Content;
                    Assert.AreEqual(tvItemStatLast.TVItemStatID, tvItemStatRet.TVItemStatID);

                    BadRequestErrorMessageResult badRequest = jsonRet as BadRequestErrorMessageResult;
                    Assert.IsNull(badRequest);

                    // Post to return CSSPError because TVItemStatID exist
                    IHttpActionResult jsonRet2 = tvItemStatController.Post(tvItemStatRet, LanguageRequest.ToString());
                    Assert.IsNotNull(jsonRet2);

                    OkNegotiatedContentResult <TVItemStat> tvItemStatRet2 = jsonRet2 as OkNegotiatedContentResult <TVItemStat>;
                    Assert.IsNull(tvItemStatRet2);

                    BadRequestErrorMessageResult badRequest2 = jsonRet2 as BadRequestErrorMessageResult;
                    Assert.IsNotNull(badRequest2);

                    // Post to return newly added TVItemStat
                    tvItemStatRet.TVItemStatID              = 0;
                    tvItemStatController.Request            = new System.Net.Http.HttpRequestMessage();
                    tvItemStatController.Request.RequestUri = new System.Uri("http://localhost:5000/api/tvItemStat");
                    IHttpActionResult jsonRet3 = tvItemStatController.Post(tvItemStatRet, LanguageRequest.ToString());
                    Assert.IsNotNull(jsonRet3);

                    CreatedNegotiatedContentResult <TVItemStat> tvItemStatRet3 = jsonRet3 as CreatedNegotiatedContentResult <TVItemStat>;
                    Assert.IsNotNull(tvItemStatRet3);

                    BadRequestErrorMessageResult badRequest3 = jsonRet3 as BadRequestErrorMessageResult;
                    Assert.IsNull(badRequest3);

                    IHttpActionResult jsonRet4 = tvItemStatController.Delete(tvItemStatRet, LanguageRequest.ToString());
                    Assert.IsNotNull(jsonRet4);

                    OkNegotiatedContentResult <TVItemStat> tvItemStatRet4 = jsonRet4 as OkNegotiatedContentResult <TVItemStat>;
                    Assert.IsNotNull(tvItemStatRet4);

                    BadRequestErrorMessageResult badRequest4 = jsonRet4 as BadRequestErrorMessageResult;
                    Assert.IsNull(badRequest4);
                }
            }
        }
        public IHttpActionResult GetTVItemStatList([FromUri] string lang = "en", [FromUri] int skip  = 0, [FromUri] int take      = 200,
                                                   [FromUri] string asc  = "", [FromUri] string desc = "", [FromUri] string where = "", [FromUri] string extra = "")
        {
            using (CSSPDBContext db = new CSSPDBContext(DatabaseType))
            {
                TVItemStatService tvItemStatService = new TVItemStatService(new Query()
                {
                    Lang = lang
                }, db, ContactID);

                if (extra == "A") // QueryString contains [extra=A]
                {
                    tvItemStatService.Query = tvItemStatService.FillQuery(typeof(TVItemStatExtraA), lang, skip, take, asc, desc, where, extra);

                    if (tvItemStatService.Query.HasErrors)
                    {
                        return(Ok(new List <TVItemStatExtraA>()
                        {
                            new TVItemStatExtraA()
                            {
                                HasErrors = tvItemStatService.Query.HasErrors,
                                ValidationResults = tvItemStatService.Query.ValidationResults,
                            },
                        }.ToList()));
                    }
                    else
                    {
                        return(Ok(tvItemStatService.GetTVItemStatExtraAList().ToList()));
                    }
                }
                else if (extra == "B") // QueryString contains [extra=B]
                {
                    tvItemStatService.Query = tvItemStatService.FillQuery(typeof(TVItemStatExtraB), lang, skip, take, asc, desc, where, extra);

                    if (tvItemStatService.Query.HasErrors)
                    {
                        return(Ok(new List <TVItemStatExtraB>()
                        {
                            new TVItemStatExtraB()
                            {
                                HasErrors = tvItemStatService.Query.HasErrors,
                                ValidationResults = tvItemStatService.Query.ValidationResults,
                            },
                        }.ToList()));
                    }
                    else
                    {
                        return(Ok(tvItemStatService.GetTVItemStatExtraBList().ToList()));
                    }
                }
                else // QueryString has no parameter [extra] or extra is empty
                {
                    tvItemStatService.Query = tvItemStatService.FillQuery(typeof(TVItemStat), lang, skip, take, asc, desc, where, extra);

                    if (tvItemStatService.Query.HasErrors)
                    {
                        return(Ok(new List <TVItemStat>()
                        {
                            new TVItemStat()
                            {
                                HasErrors = tvItemStatService.Query.HasErrors,
                                ValidationResults = tvItemStatService.Query.ValidationResults,
                            },
                        }.ToList()));
                    }
                    else
                    {
                        return(Ok(tvItemStatService.GetTVItemStatList().ToList()));
                    }
                }
            }
        }
        public void TVItemStat_Properties_Test()
        {
            foreach (CultureInfo culture in AllowableCulture)
            {
                ChangeCulture(culture);

                using (CSSPDBContext dbTestDB = new CSSPDBContext(DatabaseTypeEnum.SqlServerTestDB))
                {
                    TVItemStatService tvItemStatService = new TVItemStatService(new Query()
                    {
                        Lang = culture.TwoLetterISOLanguageName
                    }, dbTestDB, ContactID);

                    int count = 0;
                    if (count == 1)
                    {
                        // just so we don't get a warning during compile [The variable 'count' is assigned but its value is never used]
                    }

                    count = tvItemStatService.GetTVItemStatList().Count();

                    TVItemStat tvItemStat = GetFilledRandomTVItemStat("");

                    // -------------------------------
                    // -------------------------------
                    // Properties testing
                    // -------------------------------
                    // -------------------------------


                    // -----------------------------------
                    // [Key]
                    // Is NOT Nullable
                    // tvItemStat.TVItemStatID   (Int32)
                    // -----------------------------------

                    tvItemStat = null;
                    tvItemStat = GetFilledRandomTVItemStat("");
                    tvItemStat.TVItemStatID = 0;
                    tvItemStatService.Update(tvItemStat);
                    Assert.AreEqual(string.Format(CSSPServicesRes._IsRequired, "TVItemStatID"), tvItemStat.ValidationResults.FirstOrDefault().ErrorMessage);

                    tvItemStat = null;
                    tvItemStat = GetFilledRandomTVItemStat("");
                    tvItemStat.TVItemStatID = 10000000;
                    tvItemStatService.Update(tvItemStat);
                    Assert.AreEqual(string.Format(CSSPServicesRes.CouldNotFind_With_Equal_, "TVItemStat", "TVItemStatID", tvItemStat.TVItemStatID.ToString()), tvItemStat.ValidationResults.FirstOrDefault().ErrorMessage);


                    // -----------------------------------
                    // Is NOT Nullable
                    // [CSSPExist(ExistTypeName = "TVItem", ExistPlurial = "s", ExistFieldID = "TVItemID", AllowableTVtypeList = Root,Address,Area,ClimateSite,Contact,Country,Email,File,HydrometricSite,Infrastructure,MikeScenario,MikeSource,Municipality,MWQMSite,PolSourceSite,Province,Sector,Subsector,Tel,TideSite,WasteWaterTreatmentPlant,LiftStation,Spill,BoxModel,VisualPlumesScenario,OtherInfrastructure,MWQMRun,MeshNode,WebTideNode,SamplingPlan,SeeOtherMunicipality,LineOverflow,MapInfo,MapInfoPoint)]
                    // tvItemStat.TVItemID   (Int32)
                    // -----------------------------------

                    tvItemStat          = null;
                    tvItemStat          = GetFilledRandomTVItemStat("");
                    tvItemStat.TVItemID = 0;
                    tvItemStatService.Add(tvItemStat);
                    Assert.AreEqual(string.Format(CSSPServicesRes.CouldNotFind_With_Equal_, "TVItem", "TVItemID", tvItemStat.TVItemID.ToString()), tvItemStat.ValidationResults.FirstOrDefault().ErrorMessage);

                    tvItemStat          = null;
                    tvItemStat          = GetFilledRandomTVItemStat("");
                    tvItemStat.TVItemID = 13;
                    tvItemStatService.Add(tvItemStat);
                    Assert.AreEqual(string.Format(CSSPServicesRes._IsNotOfType_, "TVItemID", "Root,Address,Area,ClimateSite,Contact,Country,Email,File,HydrometricSite,Infrastructure,MikeScenario,MikeSource,Municipality,MWQMSite,PolSourceSite,Province,Sector,Subsector,Tel,TideSite,WasteWaterTreatmentPlant,LiftStation,Spill,BoxModel,VisualPlumesScenario,OtherInfrastructure,MWQMRun,MeshNode,WebTideNode,SamplingPlan,SeeOtherMunicipality,LineOverflow,MapInfo,MapInfoPoint"), tvItemStat.ValidationResults.FirstOrDefault().ErrorMessage);


                    // -----------------------------------
                    // Is NOT Nullable
                    // [CSSPEnumType]
                    // tvItemStat.TVType   (TVTypeEnum)
                    // -----------------------------------

                    tvItemStat        = null;
                    tvItemStat        = GetFilledRandomTVItemStat("");
                    tvItemStat.TVType = (TVTypeEnum)1000000;
                    tvItemStatService.Add(tvItemStat);
                    Assert.AreEqual(string.Format(CSSPServicesRes._IsRequired, "TVType"), tvItemStat.ValidationResults.FirstOrDefault().ErrorMessage);


                    // -----------------------------------
                    // Is NOT Nullable
                    // [Range(0, 10000000)]
                    // tvItemStat.ChildCount   (Int32)
                    // -----------------------------------

                    tvItemStat            = null;
                    tvItemStat            = GetFilledRandomTVItemStat("");
                    tvItemStat.ChildCount = -1;
                    Assert.AreEqual(false, tvItemStatService.Add(tvItemStat));
                    Assert.AreEqual(string.Format(CSSPServicesRes._ValueShouldBeBetween_And_, "ChildCount", "0", "10000000"), tvItemStat.ValidationResults.FirstOrDefault().ErrorMessage);
                    Assert.AreEqual(count, tvItemStatService.GetTVItemStatList().Count());
                    tvItemStat            = null;
                    tvItemStat            = GetFilledRandomTVItemStat("");
                    tvItemStat.ChildCount = 10000001;
                    Assert.AreEqual(false, tvItemStatService.Add(tvItemStat));
                    Assert.AreEqual(string.Format(CSSPServicesRes._ValueShouldBeBetween_And_, "ChildCount", "0", "10000000"), tvItemStat.ValidationResults.FirstOrDefault().ErrorMessage);
                    Assert.AreEqual(count, tvItemStatService.GetTVItemStatList().Count());

                    // -----------------------------------
                    // Is NOT Nullable
                    // [CSSPAfter(Year = 1980)]
                    // tvItemStat.LastUpdateDate_UTC   (DateTime)
                    // -----------------------------------

                    tvItemStat = null;
                    tvItemStat = GetFilledRandomTVItemStat("");
                    tvItemStat.LastUpdateDate_UTC = new DateTime();
                    tvItemStatService.Add(tvItemStat);
                    Assert.AreEqual(string.Format(CSSPServicesRes._IsRequired, "LastUpdateDate_UTC"), tvItemStat.ValidationResults.FirstOrDefault().ErrorMessage);
                    tvItemStat = null;
                    tvItemStat = GetFilledRandomTVItemStat("");
                    tvItemStat.LastUpdateDate_UTC = new DateTime(1979, 1, 1);
                    tvItemStatService.Add(tvItemStat);
                    Assert.AreEqual(string.Format(CSSPServicesRes._YearShouldBeBiggerThan_, "LastUpdateDate_UTC", "1980"), tvItemStat.ValidationResults.FirstOrDefault().ErrorMessage);

                    // -----------------------------------
                    // Is NOT Nullable
                    // [CSSPExist(ExistTypeName = "TVItem", ExistPlurial = "s", ExistFieldID = "TVItemID", AllowableTVtypeList = Contact)]
                    // tvItemStat.LastUpdateContactTVItemID   (Int32)
                    // -----------------------------------

                    tvItemStat = null;
                    tvItemStat = GetFilledRandomTVItemStat("");
                    tvItemStat.LastUpdateContactTVItemID = 0;
                    tvItemStatService.Add(tvItemStat);
                    Assert.AreEqual(string.Format(CSSPServicesRes.CouldNotFind_With_Equal_, "TVItem", "LastUpdateContactTVItemID", tvItemStat.LastUpdateContactTVItemID.ToString()), tvItemStat.ValidationResults.FirstOrDefault().ErrorMessage);

                    tvItemStat = null;
                    tvItemStat = GetFilledRandomTVItemStat("");
                    tvItemStat.LastUpdateContactTVItemID = 1;
                    tvItemStatService.Add(tvItemStat);
                    Assert.AreEqual(string.Format(CSSPServicesRes._IsNotOfType_, "LastUpdateContactTVItemID", "Contact"), tvItemStat.ValidationResults.FirstOrDefault().ErrorMessage);


                    // -----------------------------------
                    // Is NOT Nullable
                    // [NotMapped]
                    // tvItemStat.HasErrors   (Boolean)
                    // -----------------------------------

                    // No testing requied

                    // -----------------------------------
                    // Is NOT Nullable
                    // [NotMapped]
                    // tvItemStat.ValidationResults   (IEnumerable`1)
                    // -----------------------------------

                    // No testing requied
                }
            }
        }
        private void GenerateWorksheetAContent(WorksheetPart worksheetPart, int SheetOrdinal)
        {
            MergeCells mergeCells = new MergeCells();
            Row        row        = new Row();
            Cell       cell       = new Cell();
            Hyperlinks hyperlinks = new Hyperlinks();
            string     Id         = XlsxBase.sheetNameAndIDList[SheetOrdinal].SheetID;

            XlsxBase.CurrentColumn     = 0;
            XlsxBase.CurrentRow        = 0;
            XlsxBase.CurrentColumnProp = 0;
            Worksheet worksheet = new Worksheet()
            {
                MCAttributes = new MarkupCompatibilityAttributes()
                {
                    Ignorable = "x14ac"
                }
            };

            worksheet.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships");
            worksheet.AddNamespaceDeclaration("mc", "http://schemas.openxmlformats.org/markup-compatibility/2006");
            worksheet.AddNamespaceDeclaration("x14ac", "http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac");

            SheetViews sheetViews = new SheetViews();

            SheetView sheetView = new SheetView()
            {
                TabSelected = true, WorkbookViewId = (UInt32Value)0U
            };
            Selection selection = new Selection()
            {
                ActiveCell = "A1", SequenceOfReferences = new ListValue <StringValue>()
                {
                    InnerText = "A1"
                }
            };

            sheetView.Append(selection);

            sheetViews.Append(sheetView);
            SheetFormatProperties sheetFormatProperties = new SheetFormatProperties()
            {
                DefaultRowHeight = 15D, DyDescent = 0.25D
            };

            Columns        columns         = new Columns();
            List <double?> columnWidthList = new List <double?>()
            {
                30D
            };

            foreach (double?width in columnWidthList)
            {
                Column colum = XlsxBase.AddColumnProp(columns, width);
            }

            SheetData sheetData = new SheetData();

            BaseEnumService   baseEnumService   = new BaseEnumService(_TaskRunnerBaseService._BWObj.appTaskModel.Language);
            TVItemService     tvItemService     = new TVItemService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User);
            TVItemStatService tvItemStatService = new TVItemStatService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User);

            TVItemModel tvItemModelProvince = tvItemService.GetTVItemModelWithTVItemIDDB(_TaskRunnerBaseService._BWObj.appTaskModel.TVItemID);

            List <TVItemModel> tvItemModelAreaList = tvItemService.GetChildrenTVItemModelListWithTVItemIDAndTVTypeDB(tvItemModelProvince.TVItemID, TVTypeEnum.Area);


            foreach (TVItemModel tvItemModelArea in tvItemModelAreaList)
            {
                //tvItemStatService.SetTVItemStatForTVItemIDAndParentsTVItemID(tvItemModelArea.TVItemID);

                XlsxBase.CurrentRowHeight                = 24D;
                XlsxBase.CurrentFontSize                 = 18;
                XlsxBase.CurrentBorderStyleValue         = BorderStyleValues.Thick;
                XlsxBase.CurrentBottomBorder             = true;
                XlsxBase.CurrentBorderColor              = System.Drawing.Color.Green;
                XlsxBase.CurrentHorizontalAlignmentValue = HorizontalAlignmentValues.Center;

                row = XlsxBase.AddRow();
                string URL = _TaskRunnerBaseService.GetUrlFromTVItem(tvItemModelArea);
                XlsxBase.CurrentFontColor = System.Drawing.Color.Blue;
                cell = XlsxBase.AddCellHyperlink(hyperlinks, row, tvItemModelArea.TVText, URL);
                XlsxBase.CurrentFontColor = null;
                //cell = XlsxBase.AddCellString(row, tvItemModel.TVText);
                cell = XlsxBase.AddCellString(row, null);
                sheetData.Append(row);

                MergeCell mergeCell = new MergeCell()
                {
                    Reference = "A" + XlsxBase.CurrentRow.ToString() + ":B" + XlsxBase.CurrentRow.ToString()
                };

                mergeCells.Append(mergeCell);

                XlsxBase.CurrentRowHeight = 16D;
                XlsxBase.CurrentFontSize  = 12;
                XlsxBase.CurrentHorizontalAlignmentValue = HorizontalAlignmentValues.Center;

                List <TVItemStatModel> tvItemStatModelList = tvItemStatService.GetTVItemStatModelListWithTVItemIDDB(tvItemModelArea.TVItemID);

                int count = 0;
                foreach (TVItemStatModel tvItemStatModel in tvItemStatModelList)
                {
                    count += 1;
                    row    = XlsxBase.AddRow();

                    if (count % 5 == 0)
                    {
                        XlsxBase.CurrentBorderStyleValue = BorderStyleValues.Thin;
                        XlsxBase.CurrentBottomBorder     = true;
                    }
                    else
                    {
                        XlsxBase.CurrentBorderStyleValue = null;
                        XlsxBase.CurrentBottomBorder     = false;
                    }
                    XlsxBase.CurrentHorizontalAlignmentValue = HorizontalAlignmentValues.Right;
                    cell = XlsxBase.AddCellString(row, baseEnumService.GetEnumText_TVTypeEnum(tvItemStatModel.TVType));

                    XlsxBase.CurrentHorizontalAlignmentValue = HorizontalAlignmentValues.Center;
                    cell = XlsxBase.AddCellNumber(row, tvItemStatModel.ChildCount.ToString());

                    sheetData.Append(row);
                }

                XlsxBase.CurrentBorderStyleValue = null;
                XlsxBase.CurrentBottomBorder     = false;

                for (int i = 0; i < 2; i++)
                {
                    row  = XlsxBase.AddRow();
                    cell = XlsxBase.AddCellString(row, null);
                    sheetData.Append(row);
                }
            }

            PageMargins pageMargins = new PageMargins()
            {
                Left = 0.7D, Right = 0.7D, Top = 0.75D, Bottom = 0.75D, Header = 0.3D, Footer = 0.3D
            };
            PageSetup pageSetup = new PageSetup()
            {
                Orientation = OrientationValues.Portrait, Id = "rId" + SheetOrdinal.ToString()
            };

            worksheet.Append(sheetViews);
            worksheet.Append(sheetFormatProperties);

            if (columns.ChildElements.Count > 0)
            {
                worksheet.Append(columns);
            }

            worksheet.Append(sheetData);

            mergeCells.Count = (UInt32Value)((UInt32)mergeCells.ChildElements.Count);
            if (mergeCells.ChildElements.Count > 0)
            {
                worksheet.Append(mergeCells);
            }


            if (XlsxBase.UsedHyperlinkList.Count > 0)
            {
                worksheet.Append(hyperlinks);
            }

            worksheet.Append(pageMargins);
            worksheet.Append(pageSetup);

            worksheetPart.Worksheet = worksheet;
        }
Ejemplo n.º 17
0
        private void GenerateSubsectorFaecalColiformSummaryStatDocument(Document document)
        {
            Body      body      = new Body();
            Paragraph paragraph = new Paragraph();
            Run       run       = new Run();
            Table     table     = new Table();
            TableRow  tableRow  = new TableRow();
            TableCell tableCell = new TableCell();
            //string URL = "";

            TVItemService     tvItemService     = new TVItemService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User);
            TVItemStatService tvItemStatService = new TVItemStatService(_TaskRunnerBaseService._BWObj.appTaskModel.Language, _TaskRunnerBaseService._User);

            TVItemModel tvItemModelSubsector = tvItemService.GetTVItemModelWithTVItemIDDB(_TaskRunnerBaseService._BWObj.appTaskModel.TVItemID);

            if (!string.IsNullOrWhiteSpace(tvItemModelSubsector.Error))
            {
                paragraph = DocxBase.AddParagraph(body);
                DocxBase.AddRunWithCurrentParagraphStyle(paragraph, tvItemModelSubsector.Error);
            }

            //tvItemStatService.SetTVItemStatForTVItemIDAndParentsTVItemID(tvItemModelSubsector.TVItemID);

            DocxBase.CurrentParagraphStyle     = ParagraphStyleEnum.Caption;
            DocxBase.CurrentJustificationValue = JustificationValues.Center;
            paragraph = DocxBase.AddParagraph(body);

            DocxBase.CurrentFontSize = 36;

            string TableTitle = DocxServiceSubsectorFCSummaryStatRes.Table + "1A-1." + DocxServiceSubsectorFCSummaryStatRes.SummaryStatOfFCDensitiesMPNPer100 +
                                " " + DocxServiceSubsectorFCSummaryStatRes.For + " " + tvItemModelSubsector.TVText;

            run = DocxBase.AddRunWithCurrentFontStyle(paragraph, TableTitle);

            DocxBase.CurrentTableStyle = TableStyleEnum.ListTable7Colorful_Accent5;
            table    = DocxBase.AddTableStyle(body);
            tableRow = DocxBase.AddTableRow(table);

            List <string> ColumnTitleList = new List <string>()
            {
                DocxServiceSubsectorFCSummaryStatRes.Station,
                DocxServiceSubsectorFCSummaryStatRes.Samples,
                DocxServiceSubsectorFCSummaryStatRes.Period,
                DocxServiceSubsectorFCSummaryStatRes.MinFC,
                DocxServiceSubsectorFCSummaryStatRes.MaxFC,
                DocxServiceSubsectorFCSummaryStatRes.GMean,
                DocxServiceSubsectorFCSummaryStatRes.Median,
                DocxServiceSubsectorFCSummaryStatRes.P90,
                DocxServiceSubsectorFCSummaryStatRes.PercBigger43,
            };

            // Doing Cell Title
            foreach (string cellTitle in ColumnTitleList)
            {
                tableCell = DocxBase.AddTableCell(tableRow);
                paragraph = DocxBase.AddTableCellParagraph(tableCell);
                run       = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, cellTitle);
            }

            List <TVItemModel> tvItemModelMWQMList = tvItemService.GetChildrenTVItemModelListWithTVItemIDAndTVTypeDB(tvItemModelSubsector.TVItemID, TVTypeEnum.MWQMSite);

            foreach (TVItemModel tvItemModelMWQM in tvItemModelMWQMList)
            {
                TVItemMoreInfoMWQMSiteModel tvItemMoreInfoMWQMSiteModel = new TVItemMoreInfoMWQMSiteModel();
                tvItemMoreInfoMWQMSiteModel = tvItemService.GetTVItemMoreInfoMWQMSiteTVItemIDDB(tvItemModelMWQM.TVItemID, 30);

                if (tvItemMoreInfoMWQMSiteModel.StatMaxYear > DateTime.Now.Year - 6)
                {
                    tableRow = DocxBase.AddTableRow(table);

                    // Doing Station
                    tableCell = DocxBase.AddTableCell(tableRow);
                    paragraph = DocxBase.AddTableCellParagraph(tableCell);
                    run       = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, tvItemModelMWQM.TVText);

                    // Doing Samples
                    tableCell = DocxBase.AddTableCell(tableRow);
                    paragraph = DocxBase.AddTableCellParagraph(tableCell);
                    string SampCountTxt = (tvItemMoreInfoMWQMSiteModel.SampCount == null ? "" : tvItemMoreInfoMWQMSiteModel.SampCount.ToString());
                    run = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, SampCountTxt);

                    // Doing Period
                    tableCell = DocxBase.AddTableCell(tableRow);
                    paragraph = DocxBase.AddTableCellParagraph(tableCell);
                    string StatMinMaxYearTxt = tvItemMoreInfoMWQMSiteModel.StatMinYear.ToString() + "-" + tvItemMoreInfoMWQMSiteModel.StatMaxYear.ToString();
                    run = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, StatMinMaxYearTxt);

                    // Doing MinFC
                    tableCell = DocxBase.AddTableCell(tableRow);
                    paragraph = DocxBase.AddTableCellParagraph(tableCell);
                    string MinFCTxt = (tvItemMoreInfoMWQMSiteModel.MinFC == null ? "" : ((float)tvItemMoreInfoMWQMSiteModel.MinFC).ToString("F0"));
                    if (MinFCTxt == "1")
                    {
                        MinFCTxt = "< 2";
                    }
                    run = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, MinFCTxt);

                    // Doing MaxFC
                    tableCell = DocxBase.AddTableCell(tableRow);
                    paragraph = DocxBase.AddTableCellParagraph(tableCell);
                    string MaxFCTxt = (tvItemMoreInfoMWQMSiteModel.MaxFC == null ? "" : ((float)tvItemMoreInfoMWQMSiteModel.MaxFC).ToString("F0"));
                    if (MaxFCTxt == "1")
                    {
                        MaxFCTxt = "< 2";
                    }
                    run = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, MaxFCTxt);

                    // Doing GMean
                    tableCell = DocxBase.AddTableCell(tableRow);
                    paragraph = DocxBase.AddTableCellParagraph(tableCell);
                    string GMeanTxt = (tvItemMoreInfoMWQMSiteModel.GeoMean == null ? "" : ((float)tvItemMoreInfoMWQMSiteModel.GeoMean).ToString("F0"));
                    if (tvItemMoreInfoMWQMSiteModel.GeoMean > 14)
                    {
                        int?TempFS = (int)DocxBase.CurrentFontSize;
                        DocxBase.CurrentHighlightColorValue = HighlightColorValues.Yellow;
                        DocxBase.CurrentFontSize            = 22;
                        run = DocxBase.AddRunWithCurrentFontStyle(paragraph, GMeanTxt);
                        DocxBase.CurrentHighlightColorValue = HighlightColorValues.None;
                        DocxBase.CurrentFontSize            = TempFS;
                    }
                    else
                    {
                        run = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, GMeanTxt);
                    }

                    // Doing Median
                    tableCell = DocxBase.AddTableCell(tableRow);
                    paragraph = DocxBase.AddTableCellParagraph(tableCell);
                    string MedianTxt = (tvItemMoreInfoMWQMSiteModel.Median == null ? "" : ((float)tvItemMoreInfoMWQMSiteModel.Median).ToString("F0"));
                    if (tvItemMoreInfoMWQMSiteModel.Median > 14)
                    {
                        int?TempFS = (int)DocxBase.CurrentFontSize;
                        DocxBase.CurrentHighlightColorValue = HighlightColorValues.Yellow;
                        DocxBase.CurrentFontSize            = 22;
                        run = DocxBase.AddRunWithCurrentFontStyle(paragraph, MedianTxt);
                        DocxBase.CurrentHighlightColorValue = HighlightColorValues.None;
                        DocxBase.CurrentFontSize            = TempFS;
                    }
                    else
                    {
                        run = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, MedianTxt);
                    }

                    // Doing P90
                    tableCell = DocxBase.AddTableCell(tableRow);
                    paragraph = DocxBase.AddTableCellParagraph(tableCell);
                    string P90Txt = (tvItemMoreInfoMWQMSiteModel.P90 == null ? "" : ((float)tvItemMoreInfoMWQMSiteModel.P90).ToString("F0"));
                    if (tvItemMoreInfoMWQMSiteModel.P90 > 43)
                    {
                        int?TempFS = (int)DocxBase.CurrentFontSize;
                        DocxBase.CurrentHighlightColorValue = HighlightColorValues.Yellow;
                        DocxBase.CurrentFontSize            = 22;
                        run = DocxBase.AddRunWithCurrentFontStyle(paragraph, P90Txt);
                        DocxBase.CurrentHighlightColorValue = HighlightColorValues.None;
                        DocxBase.CurrentFontSize            = TempFS;
                    }
                    else
                    {
                        run = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, P90Txt);
                    }

                    // Doing % > 43
                    tableCell = DocxBase.AddTableCell(tableRow);
                    paragraph = DocxBase.AddTableCellParagraph(tableCell);
                    string PercOver43Txt = (tvItemMoreInfoMWQMSiteModel.PercOver43 == null ? "" : ((float)tvItemMoreInfoMWQMSiteModel.PercOver43).ToString("F0"));
                    if (tvItemMoreInfoMWQMSiteModel.PercOver43 > 10)
                    {
                        int?TempFS = (int)DocxBase.CurrentFontSize;
                        DocxBase.CurrentHighlightColorValue = HighlightColorValues.Yellow;
                        DocxBase.CurrentFontSize            = 22;
                        run = DocxBase.AddRunWithCurrentFontStyle(paragraph, PercOver43Txt);
                        DocxBase.CurrentHighlightColorValue = HighlightColorValues.None;
                        DocxBase.CurrentFontSize            = TempFS;
                    }
                    else
                    {
                        run = DocxBase.AddRunWithCurrentParagraphStyle(paragraph, PercOver43Txt);
                    }
                }
            }

            DocxBase.CurrentParagraphStyle = ParagraphStyleEnum.Quote;
            paragraph = DocxBase.AddParagraph(body);
            string NoteTxt = DocxServiceSubsectorFCSummaryStatRes.Note + " : " + DocxServiceSubsectorFCSummaryStatRes.TheFollowingValuesHaveBeenShaded
                             + " : " + DocxServiceSubsectorFCSummaryStatRes.GeometricMeanBigger14 + ", " + DocxServiceSubsectorFCSummaryStatRes.MedianBigger14 + ", "
                             + DocxServiceSubsectorFCSummaryStatRes.PercBigger43More10Perc + ", " + DocxServiceSubsectorFCSummaryStatRes.Perc90Bigger43;

            DocxBase.AddRunWithCurrentParagraphStyle(paragraph, NoteTxt);

            DocxBase.AddSectionProp(body);

            document.Append(body);
        }