예제 #1
0
 protected override void Initialize(System.Web.Routing.RequestContext requestContext)
 {
     base.Initialize(requestContext);
     _MWQMSubsectorService = new MWQMSubsectorService(LanguageRequest, User);
     _MWQMRunService       = new MWQMRunService(LanguageRequest, User);
     _UseOfSiteService     = new UseOfSiteService(LanguageRequest, User);
     _MapInfoService       = new MapInfoService(LanguageRequest, User);
 }
예제 #2
0
 public IHttpActionResult GetUseOfSiteList([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))
     {
         UseOfSiteService useOfSiteService = new UseOfSiteService(new Query()
         {
             Lang = lang
         }, db, ContactID);
예제 #3
0
        public void UseOfSite_Controller_Put_Test()
        {
            foreach (LanguageEnum LanguageRequest in AllowableLanguages)
            {
                foreach (int ContactID in new List <int>()
                {
                    AdminContactID
                })                                                             //, TestEmailValidatedContactID, TestEmailNotValidatedContactID })
                {
                    UseOfSiteController useOfSiteController = new UseOfSiteController(DatabaseTypeEnum.SqlServerTestDB);
                    Assert.IsNotNull(useOfSiteController);
                    Assert.AreEqual(DatabaseTypeEnum.SqlServerTestDB, useOfSiteController.DatabaseType);

                    UseOfSite useOfSiteLast = new UseOfSite();
                    using (CSSPDBContext db = new CSSPDBContext(DatabaseType))
                    {
                        Query query = new Query();
                        query.Language = LanguageRequest;

                        UseOfSiteService useOfSiteService = new UseOfSiteService(query, db, ContactID);
                        useOfSiteLast = (from c in db.UseOfSites select c).FirstOrDefault();
                    }

                    // ok with UseOfSite info
                    IHttpActionResult jsonRet = useOfSiteController.GetUseOfSiteWithID(useOfSiteLast.UseOfSiteID);
                    Assert.IsNotNull(jsonRet);

                    OkNegotiatedContentResult <UseOfSite> Ret = jsonRet as OkNegotiatedContentResult <UseOfSite>;
                    UseOfSite useOfSiteRet = Ret.Content;
                    Assert.AreEqual(useOfSiteLast.UseOfSiteID, useOfSiteRet.UseOfSiteID);

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

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

                    OkNegotiatedContentResult <UseOfSite> useOfSiteRet2 = jsonRet2 as OkNegotiatedContentResult <UseOfSite>;
                    Assert.IsNotNull(useOfSiteRet2);

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

                    // Put to return CSSPError because UseOfSiteID of 0 does not exist
                    useOfSiteRet.UseOfSiteID = 0;
                    IHttpActionResult jsonRet3 = useOfSiteController.Put(useOfSiteRet, LanguageRequest.ToString());
                    Assert.IsNotNull(jsonRet3);

                    OkNegotiatedContentResult <UseOfSite> useOfSiteRet3 = jsonRet3 as OkNegotiatedContentResult <UseOfSite>;
                    Assert.IsNull(useOfSiteRet3);

                    BadRequestErrorMessageResult badRequest3 = jsonRet3 as BadRequestErrorMessageResult;
                    Assert.IsNotNull(badRequest3);
                }
            }
        }
예제 #4
0
 protected override void Initialize(System.Web.Routing.RequestContext requestContext)
 {
     base.Initialize(requestContext);
     _PolSourceSiteEffectService     = new PolSourceSiteEffectService(LanguageRequest, User);
     _PolSourceSiteEffectTermService = new PolSourceSiteEffectTermService(LanguageRequest, User);
     _PolSourceSiteService           = new PolSourceSiteService(LanguageRequest, User);
     _MWQMSiteService            = new MWQMSiteService(LanguageRequest, User);
     _UseOfSiteService           = new UseOfSiteService(LanguageRequest, User);
     _PolSourceSiteEffectService = new PolSourceSiteEffectService(LanguageRequest, User);
     _BaseEnumService            = new BaseEnumService(LanguageRequest);
 }
        public void UseOfSite_CRUD_Test()
        {
            foreach (CultureInfo culture in AllowableCulture)
            {
                ChangeCulture(culture);

                using (CSSPDBContext dbTestDB = new CSSPDBContext(DatabaseTypeEnum.SqlServerTestDB))
                {
                    UseOfSiteService useOfSiteService = new UseOfSiteService(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]
                    }

                    UseOfSite useOfSite = GetFilledRandomUseOfSite("");

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

                    count = useOfSiteService.GetUseOfSiteList().Count();

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

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

                useOfSiteService.Query = useOfSiteService.FillQuery(typeof(UseOfSite), lang, 0, 1, "", "", extra);

                if (useOfSiteService.Query.Extra == "A")
                {
                    UseOfSiteExtraA useOfSiteExtraA = new UseOfSiteExtraA();
                    useOfSiteExtraA = useOfSiteService.GetUseOfSiteExtraAWithUseOfSiteID(UseOfSiteID);

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

                    return(Ok(useOfSiteExtraA));
                }
                else if (useOfSiteService.Query.Extra == "B")
                {
                    UseOfSiteExtraB useOfSiteExtraB = new UseOfSiteExtraB();
                    useOfSiteExtraB = useOfSiteService.GetUseOfSiteExtraBWithUseOfSiteID(UseOfSiteID);

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

                    return(Ok(useOfSiteExtraB));
                }
                else
                {
                    UseOfSite useOfSite = new UseOfSite();
                    useOfSite = useOfSiteService.GetUseOfSiteWithUseOfSiteID(UseOfSiteID);

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

                    return(Ok(useOfSite));
                }
            }
        }
예제 #7
0
        public void UseOfSite_Controller_GetUseOfSiteWithID_Test()
        {
            foreach (LanguageEnum LanguageRequest in AllowableLanguages)
            {
                foreach (int ContactID in new List <int>()
                {
                    AdminContactID
                })                                                             //, TestEmailValidatedContactID, TestEmailNotValidatedContactID })
                {
                    UseOfSiteController useOfSiteController = new UseOfSiteController(DatabaseTypeEnum.SqlServerTestDB);
                    Assert.IsNotNull(useOfSiteController);
                    Assert.AreEqual(DatabaseTypeEnum.SqlServerTestDB, useOfSiteController.DatabaseType);

                    UseOfSite useOfSiteFirst = new UseOfSite();
                    using (CSSPDBContext db = new CSSPDBContext(DatabaseType))
                    {
                        UseOfSiteService useOfSiteService = new UseOfSiteService(new Query(), db, ContactID);
                        useOfSiteFirst = (from c in db.UseOfSites select c).FirstOrDefault();
                    }

                    // ok with UseOfSite info
                    IHttpActionResult jsonRet = useOfSiteController.GetUseOfSiteWithID(useOfSiteFirst.UseOfSiteID);
                    Assert.IsNotNull(jsonRet);

                    OkNegotiatedContentResult <UseOfSite> Ret = jsonRet as OkNegotiatedContentResult <UseOfSite>;
                    UseOfSite useOfSiteRet = Ret.Content;
                    Assert.AreEqual(useOfSiteFirst.UseOfSiteID, useOfSiteRet.UseOfSiteID);

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

                    // Not Found
                    IHttpActionResult jsonRet2 = useOfSiteController.GetUseOfSiteWithID(0);
                    Assert.IsNotNull(jsonRet2);

                    OkNegotiatedContentResult <UseOfSite> useOfSiteRet2 = jsonRet2 as OkNegotiatedContentResult <UseOfSite>;
                    Assert.IsNull(useOfSiteRet2);

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

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

                using (CSSPDBContext dbTestDB = new CSSPDBContext(DatabaseTypeEnum.SqlServerTestDB))
                {
                    UseOfSiteService useOfSiteService = new UseOfSiteService(new Query()
                    {
                        Lang = culture.TwoLetterISOLanguageName
                    }, dbTestDB, ContactID);
                    UseOfSite useOfSite = (from c in dbTestDB.UseOfSites select c).FirstOrDefault();
                    Assert.IsNotNull(useOfSite);

                    List <UseOfSite> useOfSiteDirectQueryList = new List <UseOfSite>();
                    useOfSiteDirectQueryList = (from c in dbTestDB.UseOfSites select c).Take(200).ToList();

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

                        if (string.IsNullOrWhiteSpace(extra))
                        {
                            List <UseOfSite> useOfSiteList = new List <UseOfSite>();
                            useOfSiteList = useOfSiteService.GetUseOfSiteList().ToList();
                            CheckUseOfSiteFields(useOfSiteList);
                        }
                        else
                        {
                            //Assert.AreEqual(true, false);
                        }
                    }
                }
            }
        }
        public void GetUseOfSiteList_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"
                    })
                    {
                        UseOfSiteService useOfSiteService = new UseOfSiteService(new Query()
                        {
                            Lang = culture.TwoLetterISOLanguageName
                        }, dbTestDB, ContactID);

                        useOfSiteService.Query = useOfSiteService.FillQuery(typeof(UseOfSite), culture.TwoLetterISOLanguageName, 0, 10000, "", "", "UseOfSiteID,GT,2|UseOfSiteID,LT,5", extra);

                        List <UseOfSite> useOfSiteDirectQueryList = new List <UseOfSite>();
                        useOfSiteDirectQueryList = (from c in dbTestDB.UseOfSites select c).Where(c => c.UseOfSiteID > 2 && c.UseOfSiteID < 5).ToList();

                        if (string.IsNullOrWhiteSpace(extra))
                        {
                            List <UseOfSite> useOfSiteList = new List <UseOfSite>();
                            useOfSiteList = useOfSiteService.GetUseOfSiteList().ToList();
                            CheckUseOfSiteFields(useOfSiteList);
                            Assert.AreEqual(useOfSiteDirectQueryList[0].UseOfSiteID, useOfSiteList[0].UseOfSiteID);
                        }
                        else
                        {
                            //Assert.AreEqual(true, false);
                        }
                    }
                }
            }
        }
        public IHttpActionResult GetUseOfSiteList([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))
            {
                UseOfSiteService useOfSiteService = new UseOfSiteService(new Query()
                {
                    Lang = lang
                }, db, ContactID);

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

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

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

                    if (useOfSiteService.Query.HasErrors)
                    {
                        return(Ok(new List <UseOfSite>()
                        {
                            new UseOfSite()
                            {
                                HasErrors = useOfSiteService.Query.HasErrors,
                                ValidationResults = useOfSiteService.Query.ValidationResults,
                            },
                        }.ToList()));
                    }
                    else
                    {
                        return(Ok(useOfSiteService.GetUseOfSiteList().ToList()));
                    }
                }
            }
        }
        public void UseOfSite_Properties_Test()
        {
            foreach (CultureInfo culture in AllowableCulture)
            {
                ChangeCulture(culture);

                using (CSSPDBContext dbTestDB = new CSSPDBContext(DatabaseTypeEnum.SqlServerTestDB))
                {
                    UseOfSiteService useOfSiteService = new UseOfSiteService(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 = useOfSiteService.GetUseOfSiteList().Count();

                    UseOfSite useOfSite = GetFilledRandomUseOfSite("");

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


                    // -----------------------------------
                    // [Key]
                    // Is NOT Nullable
                    // useOfSite.UseOfSiteID   (Int32)
                    // -----------------------------------

                    useOfSite             = null;
                    useOfSite             = GetFilledRandomUseOfSite("");
                    useOfSite.UseOfSiteID = 0;
                    useOfSiteService.Update(useOfSite);
                    Assert.AreEqual(string.Format(CSSPServicesRes._IsRequired, "UseOfSiteID"), useOfSite.ValidationResults.FirstOrDefault().ErrorMessage);

                    useOfSite             = null;
                    useOfSite             = GetFilledRandomUseOfSite("");
                    useOfSite.UseOfSiteID = 10000000;
                    useOfSiteService.Update(useOfSite);
                    Assert.AreEqual(string.Format(CSSPServicesRes.CouldNotFind_With_Equal_, "UseOfSite", "UseOfSiteID", useOfSite.UseOfSiteID.ToString()), useOfSite.ValidationResults.FirstOrDefault().ErrorMessage);


                    // -----------------------------------
                    // Is NOT Nullable
                    // [CSSPExist(ExistTypeName = "TVItem", ExistPlurial = "s", ExistFieldID = "TVItemID", AllowableTVtypeList = ClimateSite,HydrometricSite,TideSite)]
                    // useOfSite.SiteTVItemID   (Int32)
                    // -----------------------------------

                    useOfSite = null;
                    useOfSite = GetFilledRandomUseOfSite("");
                    useOfSite.SiteTVItemID = 0;
                    useOfSiteService.Add(useOfSite);
                    Assert.AreEqual(string.Format(CSSPServicesRes.CouldNotFind_With_Equal_, "TVItem", "SiteTVItemID", useOfSite.SiteTVItemID.ToString()), useOfSite.ValidationResults.FirstOrDefault().ErrorMessage);

                    useOfSite = null;
                    useOfSite = GetFilledRandomUseOfSite("");
                    useOfSite.SiteTVItemID = 1;
                    useOfSiteService.Add(useOfSite);
                    Assert.AreEqual(string.Format(CSSPServicesRes._IsNotOfType_, "SiteTVItemID", "ClimateSite,HydrometricSite,TideSite"), useOfSite.ValidationResults.FirstOrDefault().ErrorMessage);


                    // -----------------------------------
                    // Is NOT Nullable
                    // [CSSPExist(ExistTypeName = "TVItem", ExistPlurial = "s", ExistFieldID = "TVItemID", AllowableTVtypeList = Subsector)]
                    // useOfSite.SubsectorTVItemID   (Int32)
                    // -----------------------------------

                    useOfSite = null;
                    useOfSite = GetFilledRandomUseOfSite("");
                    useOfSite.SubsectorTVItemID = 0;
                    useOfSiteService.Add(useOfSite);
                    Assert.AreEqual(string.Format(CSSPServicesRes.CouldNotFind_With_Equal_, "TVItem", "SubsectorTVItemID", useOfSite.SubsectorTVItemID.ToString()), useOfSite.ValidationResults.FirstOrDefault().ErrorMessage);

                    useOfSite = null;
                    useOfSite = GetFilledRandomUseOfSite("");
                    useOfSite.SubsectorTVItemID = 1;
                    useOfSiteService.Add(useOfSite);
                    Assert.AreEqual(string.Format(CSSPServicesRes._IsNotOfType_, "SubsectorTVItemID", "Subsector"), useOfSite.ValidationResults.FirstOrDefault().ErrorMessage);


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

                    useOfSite        = null;
                    useOfSite        = GetFilledRandomUseOfSite("");
                    useOfSite.TVType = (TVTypeEnum)1000000;
                    useOfSiteService.Add(useOfSite);
                    Assert.AreEqual(string.Format(CSSPServicesRes._IsRequired, "TVType"), useOfSite.ValidationResults.FirstOrDefault().ErrorMessage);


                    // -----------------------------------
                    // Is NOT Nullable
                    // [Range(0, 1000)]
                    // useOfSite.Ordinal   (Int32)
                    // -----------------------------------

                    useOfSite         = null;
                    useOfSite         = GetFilledRandomUseOfSite("");
                    useOfSite.Ordinal = -1;
                    Assert.AreEqual(false, useOfSiteService.Add(useOfSite));
                    Assert.AreEqual(string.Format(CSSPServicesRes._ValueShouldBeBetween_And_, "Ordinal", "0", "1000"), useOfSite.ValidationResults.FirstOrDefault().ErrorMessage);
                    Assert.AreEqual(count, useOfSiteService.GetUseOfSiteList().Count());
                    useOfSite         = null;
                    useOfSite         = GetFilledRandomUseOfSite("");
                    useOfSite.Ordinal = 1001;
                    Assert.AreEqual(false, useOfSiteService.Add(useOfSite));
                    Assert.AreEqual(string.Format(CSSPServicesRes._ValueShouldBeBetween_And_, "Ordinal", "0", "1000"), useOfSite.ValidationResults.FirstOrDefault().ErrorMessage);
                    Assert.AreEqual(count, useOfSiteService.GetUseOfSiteList().Count());

                    // -----------------------------------
                    // Is NOT Nullable
                    // [Range(1980, 2050)]
                    // useOfSite.StartYear   (Int32)
                    // -----------------------------------

                    useOfSite           = null;
                    useOfSite           = GetFilledRandomUseOfSite("");
                    useOfSite.StartYear = 1979;
                    Assert.AreEqual(false, useOfSiteService.Add(useOfSite));
                    Assert.AreEqual(string.Format(CSSPServicesRes._ValueShouldBeBetween_And_, "StartYear", "1980", "2050"), useOfSite.ValidationResults.FirstOrDefault().ErrorMessage);
                    Assert.AreEqual(count, useOfSiteService.GetUseOfSiteList().Count());
                    useOfSite           = null;
                    useOfSite           = GetFilledRandomUseOfSite("");
                    useOfSite.StartYear = 2051;
                    Assert.AreEqual(false, useOfSiteService.Add(useOfSite));
                    Assert.AreEqual(string.Format(CSSPServicesRes._ValueShouldBeBetween_And_, "StartYear", "1980", "2050"), useOfSite.ValidationResults.FirstOrDefault().ErrorMessage);
                    Assert.AreEqual(count, useOfSiteService.GetUseOfSiteList().Count());

                    // -----------------------------------
                    // Is Nullable
                    // [Range(1980, 2050)]
                    // useOfSite.EndYear   (Int32)
                    // -----------------------------------

                    useOfSite         = null;
                    useOfSite         = GetFilledRandomUseOfSite("");
                    useOfSite.EndYear = 1979;
                    Assert.AreEqual(false, useOfSiteService.Add(useOfSite));
                    Assert.AreEqual(string.Format(CSSPServicesRes._ValueShouldBeBetween_And_, "EndYear", "1980", "2050"), useOfSite.ValidationResults.FirstOrDefault().ErrorMessage);
                    Assert.AreEqual(count, useOfSiteService.GetUseOfSiteList().Count());
                    useOfSite         = null;
                    useOfSite         = GetFilledRandomUseOfSite("");
                    useOfSite.EndYear = 2051;
                    Assert.AreEqual(false, useOfSiteService.Add(useOfSite));
                    Assert.AreEqual(string.Format(CSSPServicesRes._ValueShouldBeBetween_And_, "EndYear", "1980", "2050"), useOfSite.ValidationResults.FirstOrDefault().ErrorMessage);
                    Assert.AreEqual(count, useOfSiteService.GetUseOfSiteList().Count());

                    // -----------------------------------
                    // Is Nullable
                    // useOfSite.UseWeight   (Boolean)
                    // -----------------------------------


                    // -----------------------------------
                    // Is Nullable
                    // [Range(0, 100)]
                    // useOfSite.Weight_perc   (Double)
                    // -----------------------------------

                    //CSSPError: Type not implemented [Weight_perc]

                    //CSSPError: Type not implemented [Weight_perc]

                    useOfSite             = null;
                    useOfSite             = GetFilledRandomUseOfSite("");
                    useOfSite.Weight_perc = -1.0D;
                    Assert.AreEqual(false, useOfSiteService.Add(useOfSite));
                    Assert.AreEqual(string.Format(CSSPServicesRes._ValueShouldBeBetween_And_, "Weight_perc", "0", "100"), useOfSite.ValidationResults.FirstOrDefault().ErrorMessage);
                    Assert.AreEqual(count, useOfSiteService.GetUseOfSiteList().Count());
                    useOfSite             = null;
                    useOfSite             = GetFilledRandomUseOfSite("");
                    useOfSite.Weight_perc = 101.0D;
                    Assert.AreEqual(false, useOfSiteService.Add(useOfSite));
                    Assert.AreEqual(string.Format(CSSPServicesRes._ValueShouldBeBetween_And_, "Weight_perc", "0", "100"), useOfSite.ValidationResults.FirstOrDefault().ErrorMessage);
                    Assert.AreEqual(count, useOfSiteService.GetUseOfSiteList().Count());

                    // -----------------------------------
                    // Is Nullable
                    // useOfSite.UseEquation   (Boolean)
                    // -----------------------------------


                    // -----------------------------------
                    // Is Nullable
                    // [Range(0, 100)]
                    // useOfSite.Param1   (Double)
                    // -----------------------------------

                    //CSSPError: Type not implemented [Param1]

                    //CSSPError: Type not implemented [Param1]

                    useOfSite        = null;
                    useOfSite        = GetFilledRandomUseOfSite("");
                    useOfSite.Param1 = -1.0D;
                    Assert.AreEqual(false, useOfSiteService.Add(useOfSite));
                    Assert.AreEqual(string.Format(CSSPServicesRes._ValueShouldBeBetween_And_, "Param1", "0", "100"), useOfSite.ValidationResults.FirstOrDefault().ErrorMessage);
                    Assert.AreEqual(count, useOfSiteService.GetUseOfSiteList().Count());
                    useOfSite        = null;
                    useOfSite        = GetFilledRandomUseOfSite("");
                    useOfSite.Param1 = 101.0D;
                    Assert.AreEqual(false, useOfSiteService.Add(useOfSite));
                    Assert.AreEqual(string.Format(CSSPServicesRes._ValueShouldBeBetween_And_, "Param1", "0", "100"), useOfSite.ValidationResults.FirstOrDefault().ErrorMessage);
                    Assert.AreEqual(count, useOfSiteService.GetUseOfSiteList().Count());

                    // -----------------------------------
                    // Is Nullable
                    // [Range(0, 100)]
                    // useOfSite.Param2   (Double)
                    // -----------------------------------

                    //CSSPError: Type not implemented [Param2]

                    //CSSPError: Type not implemented [Param2]

                    useOfSite        = null;
                    useOfSite        = GetFilledRandomUseOfSite("");
                    useOfSite.Param2 = -1.0D;
                    Assert.AreEqual(false, useOfSiteService.Add(useOfSite));
                    Assert.AreEqual(string.Format(CSSPServicesRes._ValueShouldBeBetween_And_, "Param2", "0", "100"), useOfSite.ValidationResults.FirstOrDefault().ErrorMessage);
                    Assert.AreEqual(count, useOfSiteService.GetUseOfSiteList().Count());
                    useOfSite        = null;
                    useOfSite        = GetFilledRandomUseOfSite("");
                    useOfSite.Param2 = 101.0D;
                    Assert.AreEqual(false, useOfSiteService.Add(useOfSite));
                    Assert.AreEqual(string.Format(CSSPServicesRes._ValueShouldBeBetween_And_, "Param2", "0", "100"), useOfSite.ValidationResults.FirstOrDefault().ErrorMessage);
                    Assert.AreEqual(count, useOfSiteService.GetUseOfSiteList().Count());

                    // -----------------------------------
                    // Is Nullable
                    // [Range(0, 100)]
                    // useOfSite.Param3   (Double)
                    // -----------------------------------

                    //CSSPError: Type not implemented [Param3]

                    //CSSPError: Type not implemented [Param3]

                    useOfSite        = null;
                    useOfSite        = GetFilledRandomUseOfSite("");
                    useOfSite.Param3 = -1.0D;
                    Assert.AreEqual(false, useOfSiteService.Add(useOfSite));
                    Assert.AreEqual(string.Format(CSSPServicesRes._ValueShouldBeBetween_And_, "Param3", "0", "100"), useOfSite.ValidationResults.FirstOrDefault().ErrorMessage);
                    Assert.AreEqual(count, useOfSiteService.GetUseOfSiteList().Count());
                    useOfSite        = null;
                    useOfSite        = GetFilledRandomUseOfSite("");
                    useOfSite.Param3 = 101.0D;
                    Assert.AreEqual(false, useOfSiteService.Add(useOfSite));
                    Assert.AreEqual(string.Format(CSSPServicesRes._ValueShouldBeBetween_And_, "Param3", "0", "100"), useOfSite.ValidationResults.FirstOrDefault().ErrorMessage);
                    Assert.AreEqual(count, useOfSiteService.GetUseOfSiteList().Count());

                    // -----------------------------------
                    // Is Nullable
                    // [Range(0, 100)]
                    // useOfSite.Param4   (Double)
                    // -----------------------------------

                    //CSSPError: Type not implemented [Param4]

                    //CSSPError: Type not implemented [Param4]

                    useOfSite        = null;
                    useOfSite        = GetFilledRandomUseOfSite("");
                    useOfSite.Param4 = -1.0D;
                    Assert.AreEqual(false, useOfSiteService.Add(useOfSite));
                    Assert.AreEqual(string.Format(CSSPServicesRes._ValueShouldBeBetween_And_, "Param4", "0", "100"), useOfSite.ValidationResults.FirstOrDefault().ErrorMessage);
                    Assert.AreEqual(count, useOfSiteService.GetUseOfSiteList().Count());
                    useOfSite        = null;
                    useOfSite        = GetFilledRandomUseOfSite("");
                    useOfSite.Param4 = 101.0D;
                    Assert.AreEqual(false, useOfSiteService.Add(useOfSite));
                    Assert.AreEqual(string.Format(CSSPServicesRes._ValueShouldBeBetween_And_, "Param4", "0", "100"), useOfSite.ValidationResults.FirstOrDefault().ErrorMessage);
                    Assert.AreEqual(count, useOfSiteService.GetUseOfSiteList().Count());

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

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

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

                    useOfSite = null;
                    useOfSite = GetFilledRandomUseOfSite("");
                    useOfSite.LastUpdateContactTVItemID = 0;
                    useOfSiteService.Add(useOfSite);
                    Assert.AreEqual(string.Format(CSSPServicesRes.CouldNotFind_With_Equal_, "TVItem", "LastUpdateContactTVItemID", useOfSite.LastUpdateContactTVItemID.ToString()), useOfSite.ValidationResults.FirstOrDefault().ErrorMessage);

                    useOfSite = null;
                    useOfSite = GetFilledRandomUseOfSite("");
                    useOfSite.LastUpdateContactTVItemID = 1;
                    useOfSiteService.Add(useOfSite);
                    Assert.AreEqual(string.Format(CSSPServicesRes._IsNotOfType_, "LastUpdateContactTVItemID", "Contact"), useOfSite.ValidationResults.FirstOrDefault().ErrorMessage);


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

                    // No testing requied

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

                    // No testing requied
                }
            }
        }
예제 #13
0
        public void UseOfSite_Controller_GetUseOfSiteList_Test()
        {
            foreach (LanguageEnum LanguageRequest in AllowableLanguages)
            {
                foreach (int ContactID in new List <int>()
                {
                    AdminContactID
                })                                                             //, TestEmailValidatedContactID, TestEmailNotValidatedContactID })
                {
                    UseOfSiteController useOfSiteController = new UseOfSiteController(DatabaseTypeEnum.SqlServerTestDB);
                    Assert.IsNotNull(useOfSiteController);
                    Assert.AreEqual(DatabaseTypeEnum.SqlServerTestDB, useOfSiteController.DatabaseType);

                    UseOfSite useOfSiteFirst = new UseOfSite();
                    int       count          = -1;
                    Query     query          = new Query();
                    using (CSSPDBContext db = new CSSPDBContext(DatabaseTypeEnum.SqlServerTestDB))
                    {
                        UseOfSiteService useOfSiteService = new UseOfSiteService(query, db, ContactID);
                        useOfSiteFirst = (from c in db.UseOfSites select c).FirstOrDefault();
                        count          = (from c in db.UseOfSites select c).Count();
                        count          = (query.Take > count ? count : query.Take);
                    }

                    // ok with UseOfSite info
                    IHttpActionResult jsonRet = useOfSiteController.GetUseOfSiteList();
                    Assert.IsNotNull(jsonRet);

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

                    List <UseOfSite> useOfSiteList = new List <UseOfSite>();
                    count = -1;
                    query = new Query();
                    using (CSSPDBContext db = new CSSPDBContext(DatabaseTypeEnum.SqlServerTestDB))
                    {
                        UseOfSiteService useOfSiteService = new UseOfSiteService(query, db, ContactID);
                        useOfSiteList = (from c in db.UseOfSites select c).OrderBy(c => c.UseOfSiteID).Skip(0).Take(2).ToList();
                        count         = (from c in db.UseOfSites select c).Count();
                    }

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

                        // ok with UseOfSite info
                        jsonRet = useOfSiteController.GetUseOfSiteList(query.Language.ToString(), query.Skip, query.Take);
                        Assert.IsNotNull(jsonRet);

                        ret = jsonRet as OkNegotiatedContentResult <List <UseOfSite> >;
                        Assert.AreEqual(useOfSiteList[0].UseOfSiteID, ret.Content[0].UseOfSiteID);
                        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 UseOfSite info
                            IHttpActionResult jsonRet2 = useOfSiteController.GetUseOfSiteList(query.Language.ToString(), query.Skip, query.Take);
                            Assert.IsNotNull(jsonRet2);

                            OkNegotiatedContentResult <List <UseOfSite> > ret2 = jsonRet2 as OkNegotiatedContentResult <List <UseOfSite> >;
                            Assert.AreEqual(useOfSiteList[1].UseOfSiteID, ret2.Content[0].UseOfSiteID);
                            Assert.AreEqual((count > query.Take ? query.Take : count), ret2.Content.Count);
                        }
                    }
                }
            }
        }
예제 #14
0
        public void UseOfSite_Controller_Post_Test()
        {
            foreach (LanguageEnum LanguageRequest in AllowableLanguages)
            {
                foreach (int ContactID in new List <int>()
                {
                    AdminContactID
                })                                                             //, TestEmailValidatedContactID, TestEmailNotValidatedContactID })
                {
                    UseOfSiteController useOfSiteController = new UseOfSiteController(DatabaseTypeEnum.SqlServerTestDB);
                    Assert.IsNotNull(useOfSiteController);
                    Assert.AreEqual(DatabaseTypeEnum.SqlServerTestDB, useOfSiteController.DatabaseType);

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

                        UseOfSiteService useOfSiteService = new UseOfSiteService(query, db, ContactID);
                        useOfSiteLast = (from c in db.UseOfSites select c).FirstOrDefault();
                    }

                    // ok with UseOfSite info
                    IHttpActionResult jsonRet = useOfSiteController.GetUseOfSiteWithID(useOfSiteLast.UseOfSiteID);
                    Assert.IsNotNull(jsonRet);

                    OkNegotiatedContentResult <UseOfSite> Ret = jsonRet as OkNegotiatedContentResult <UseOfSite>;
                    UseOfSite useOfSiteRet = Ret.Content;
                    Assert.AreEqual(useOfSiteLast.UseOfSiteID, useOfSiteRet.UseOfSiteID);

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

                    // Post to return CSSPError because UseOfSiteID exist
                    IHttpActionResult jsonRet2 = useOfSiteController.Post(useOfSiteRet, LanguageRequest.ToString());
                    Assert.IsNotNull(jsonRet2);

                    OkNegotiatedContentResult <UseOfSite> useOfSiteRet2 = jsonRet2 as OkNegotiatedContentResult <UseOfSite>;
                    Assert.IsNull(useOfSiteRet2);

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

                    // Post to return newly added UseOfSite
                    useOfSiteRet.UseOfSiteID               = 0;
                    useOfSiteController.Request            = new System.Net.Http.HttpRequestMessage();
                    useOfSiteController.Request.RequestUri = new System.Uri("http://localhost:5000/api/useOfSite");
                    IHttpActionResult jsonRet3 = useOfSiteController.Post(useOfSiteRet, LanguageRequest.ToString());
                    Assert.IsNotNull(jsonRet3);

                    CreatedNegotiatedContentResult <UseOfSite> useOfSiteRet3 = jsonRet3 as CreatedNegotiatedContentResult <UseOfSite>;
                    Assert.IsNotNull(useOfSiteRet3);

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

                    IHttpActionResult jsonRet4 = useOfSiteController.Delete(useOfSiteRet, LanguageRequest.ToString());
                    Assert.IsNotNull(jsonRet4);

                    OkNegotiatedContentResult <UseOfSite> useOfSiteRet4 = jsonRet4 as OkNegotiatedContentResult <UseOfSite>;
                    Assert.IsNotNull(useOfSiteRet4);

                    BadRequestErrorMessageResult badRequest4 = jsonRet4 as BadRequestErrorMessageResult;
                    Assert.IsNull(badRequest4);
                }
            }
        }