예제 #1
0
        public IHttpActionResult GetTideSiteWithID([FromUri] int TideSiteID, [FromUri] string lang = "en", [FromUri] string extra = "")
        {
            using (CSSPDBContext db = new CSSPDBContext(DatabaseType))
            {
                TideSiteService tideSiteService = new TideSiteService(new Query()
                {
                    Language = (lang == "fr" ? LanguageEnum.fr : LanguageEnum.en)
                }, db, ContactID);

                tideSiteService.Query = tideSiteService.FillQuery(typeof(TideSite), lang, 0, 1, "", "", extra);

                if (tideSiteService.Query.Extra == "A")
                {
                    TideSiteExtraA tideSiteExtraA = new TideSiteExtraA();
                    tideSiteExtraA = tideSiteService.GetTideSiteExtraAWithTideSiteID(TideSiteID);

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

                    return(Ok(tideSiteExtraA));
                }
                else if (tideSiteService.Query.Extra == "B")
                {
                    TideSiteExtraB tideSiteExtraB = new TideSiteExtraB();
                    tideSiteExtraB = tideSiteService.GetTideSiteExtraBWithTideSiteID(TideSiteID);

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

                    return(Ok(tideSiteExtraB));
                }
                else
                {
                    TideSite tideSite = new TideSite();
                    tideSite = tideSiteService.GetTideSiteWithTideSiteID(TideSiteID);

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

                    return(Ok(tideSite));
                }
            }
        }
예제 #2
0
        public void GetTideSiteWithTideSiteID__tideSite_TideSiteID__Test()
        {
            foreach (CultureInfo culture in AllowableCulture)
            {
                ChangeCulture(culture);

                using (CSSPDBContext dbTestDB = new CSSPDBContext(DatabaseTypeEnum.SqlServerTestDB))
                {
                    TideSiteService tideSiteService = new TideSiteService(new Query()
                    {
                        Lang = culture.TwoLetterISOLanguageName
                    }, dbTestDB, ContactID);
                    TideSite tideSite = (from c in dbTestDB.TideSites select c).FirstOrDefault();
                    Assert.IsNotNull(tideSite);

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

                        if (string.IsNullOrWhiteSpace(extra))
                        {
                            TideSite tideSiteRet = tideSiteService.GetTideSiteWithTideSiteID(tideSite.TideSiteID);
                            CheckTideSiteFields(new List <TideSite>()
                            {
                                tideSiteRet
                            });
                            Assert.AreEqual(tideSite.TideSiteID, tideSiteRet.TideSiteID);
                        }
                        else
                        {
                            //Assert.AreEqual(true, false);
                        }
                    }
                }
            }
        }