public TVItemUserAuthorizationModel PostUpdateTVItemUserAuthorizationDB(TVItemUserAuthorizationModel tvItemUserAuthorizationModel)
        {
            string retStr = TVItemUserAuthorizationModelOK(tvItemUserAuthorizationModel);

            if (!string.IsNullOrEmpty(retStr))
            {
                return(ReturnError(retStr));
            }

            ContactOK contactOK = IsContactOK();

            if (!string.IsNullOrEmpty(contactOK.Error))
            {
                return(ReturnError(contactOK.Error));
            }

            bool IsAdmin = IsAdministratorDB(User.Identity.Name);

            if (!IsAdmin)
            {
                return(ReturnError(ServiceRes.OnlyAdministratorsCanManageUsers));
            }

            TVItemUserAuthorization tvItemUserAuthorizationToUpdate = GetTVItemUserAuthorizationWithTVItemUserAuthorizationIDDB(tvItemUserAuthorizationModel.TVItemUserAuthorizationID);

            if (tvItemUserAuthorizationToUpdate == null)
            {
                return(ReturnError(string.Format(ServiceRes.CouldNotFind_ToUpdate, ServiceRes.TVItemUserAuthorization)));
            }

            if (contactOK.ContactTVItemID == tvItemUserAuthorizationToUpdate.ContactTVItemID)
            {
                return(ReturnError(ServiceRes.CantSetOwnAuthorization));
            }

            retStr = FillTVItemUserAuthorization(tvItemUserAuthorizationToUpdate, tvItemUserAuthorizationModel, contactOK);
            if (!string.IsNullOrWhiteSpace(retStr))
            {
                return(ReturnError(retStr));
            }

            using (TransactionScope ts = new TransactionScope())
            {
                retStr = DoUpdateChanges();
                if (!string.IsNullOrWhiteSpace(retStr))
                {
                    return(ReturnError(retStr));
                }

                LogModel logModel = _LogService.PostAddLogForObj("TVItemUserAuthorizations", tvItemUserAuthorizationToUpdate.TVItemUserAuthorizationID, LogCommandEnum.Change, tvItemUserAuthorizationToUpdate);
                if (!string.IsNullOrWhiteSpace(logModel.Error))
                {
                    return(ReturnError(logModel.Error));
                }

                ts.Complete();
            }
            return(GetTVItemUserAuthorizationModelWithTVItemUserAuthorizationIDDB(tvItemUserAuthorizationToUpdate.TVItemUserAuthorizationID));
        }
示例#2
0
        public void AdminController_GetUserTVItemAuthJSON_Test()
        {
            foreach (CultureInfo culture in setupData.cultureListGood)
            {
                LanguageEnum languageEnum = (culture.TwoLetterISOLanguageName == "fr" ? LanguageEnum.fr : LanguageEnum.en);

                // Arrange
                controllerAction = "GetUserTVItemAuthJSON";

                // Act
                SetupTest(contactModelListGood[0], culture, controllerAction);

                using (TransactionScope ts = new TransactionScope())
                {
                    TVItemUserAuthorizationService tvItemUserAuthorizationService = new TVItemUserAuthorizationService(languageEnum, user);

                    // Arrange
                    TVItemUserAuthorizationModel tvItemUserAuthorizationModelNew = new TVItemUserAuthorizationModel();
                    tvItemUserAuthorizationModelNew.ContactTVItemID = contactModelListGood[2].ContactTVItemID;
                    tvItemUserAuthorizationModelNew.TVItemID1       = randomService.RandomTVItem(TVTypeEnum.PolSourceSite).TVItemID;
                    tvItemUserAuthorizationModelNew.TVItemID2       = randomService.RandomTVItem(TVTypeEnum.Country).TVItemID;
                    tvItemUserAuthorizationModelNew.TVItemID3       = randomService.RandomTVItem(TVTypeEnum.Country).TVItemID;
                    tvItemUserAuthorizationModelNew.TVItemID4       = randomService.RandomTVItem(TVTypeEnum.Country).TVItemID;
                    tvItemUserAuthorizationModelNew.TVAuth          = TVAuthEnum.Delete;

                    // Act
                    TVItemUserAuthorizationModel tvItemUserAuthorizationModelRet = tvItemUserAuthorizationService.PostAddTVItemUserAuthorizationDB(tvItemUserAuthorizationModelNew);

                    // Assert
                    Assert.IsNotNull(tvItemUserAuthorizationModelRet);
                    Assert.AreEqual(contactModelListGood[2].ContactTVItemID, tvItemUserAuthorizationModelRet.ContactTVItemID);
                    Assert.AreEqual(tvItemUserAuthorizationModelNew.ContactTVItemID, tvItemUserAuthorizationModelRet.ContactTVItemID);
                    Assert.AreEqual(tvItemUserAuthorizationModelNew.TVItemID1, tvItemUserAuthorizationModelRet.TVItemID1);
                    Assert.AreEqual(tvItemUserAuthorizationModelNew.TVAuth, tvItemUserAuthorizationModelRet.TVAuth);

                    // Act
                    JsonResult jsonResult = controller.GetUserTVItemAuthJSON(contactModelListGood[2].ContactTVItemID) as JsonResult;

                    // Assert
                    Assert.IsNotNull(jsonResult);
                    List <TVItemTVAuth> tvItemTVAuthList = (List <TVItemTVAuth>)jsonResult.Data;
                    Assert.IsTrue(tvItemTVAuthList.Where(c => c.TVTypeStr == TVTypeEnum.PolSourceSite.ToString()).Any());

                    // Act
                    SetupTest(contactModelListGood[1], culture, controllerAction);

                    // Act
                    jsonResult = controller.GetUserTVItemAuthJSON(contactModelListGood[0].ContactTVItemID) as JsonResult;

                    // Assert
                    Assert.IsNotNull(jsonResult);
                    tvItemTVAuthList = (List <TVItemTVAuth>)jsonResult.Data;
                    Assert.AreEqual(0, tvItemTVAuthList.Count);
                }
            }
        }
示例#3
0
        public JsonResult RemoveUserTVItemAuthJSON(int TVItemUserAuthID)
        {
            if (!CheckIsAdmin())
            {
                return(Json(ControllerRes.NeedToBeAnAdministrator, JsonRequestBehavior.AllowGet));
            }

            TVItemUserAuthorizationModel tvItemUserAuthorizationModelRet = _TVItemUserAuthorizationService.PostDeleteTVItemUserAuthorizationDB(TVItemUserAuthID);

            return(Json(tvItemUserAuthorizationModelRet.Error, JsonRequestBehavior.AllowGet));
        }
示例#4
0
        public JsonResult SetUserTVItemAuthJSON(TVItemUserAuthorizationModel tvTypeUserAuthorizationModel)
        {
            if (!CheckIsAdmin())
            {
                return(Json(new TVItemUserAuthorizationModel()
                {
                    Error = ControllerRes.NeedToBeAnAdministrator
                }, JsonRequestBehavior.AllowGet));
            }

            TVItemUserAuthorizationModel tvItemUserAuthorizationModelRet = _TVItemUserAuthorizationService.PostSetTVItemUserAuthorizationDB(tvTypeUserAuthorizationModel);

            return(Json(tvItemUserAuthorizationModelRet, JsonRequestBehavior.AllowGet));
        }
        public TVItemUserAuthorizationModel PostSetTVItemUserAuthorizationDB(TVItemUserAuthorizationModel tvItemUserAuthorizationModel)
        {
            TVItemUserAuthorization tvItemUserAuthorizationToUpdate = GetTVItemUserAuthorizationWithContactTVItemIDTVItemID1TVItemID2TVItemID3TVItemID4DB(tvItemUserAuthorizationModel.ContactTVItemID, tvItemUserAuthorizationModel.TVItemID1, null, null, null);

            if (tvItemUserAuthorizationToUpdate == null)
            {
                tvItemUserAuthorizationModel.DBCommand = DBCommandEnum.Original;

                return(PostAddTVItemUserAuthorizationDB(tvItemUserAuthorizationModel));
            }
            else
            {
                return(PostUpdateTVItemUserAuthorizationDB(tvItemUserAuthorizationModel));
            }
        }
        // Check
        public string TVItemUserAuthorizationModelOK(TVItemUserAuthorizationModel tvItemUserAuthorizationModel)
        {
            string retStr = FieldCheckNotZeroInt(tvItemUserAuthorizationModel.ContactTVItemID, ServiceRes.ContactTVItemID);

            if (!string.IsNullOrWhiteSpace(retStr))
            {
                return(retStr);
            }

            retStr = FieldCheckNotZeroInt(tvItemUserAuthorizationModel.TVItemID1, ServiceRes.TVItemID1);
            if (!string.IsNullOrWhiteSpace(retStr))
            {
                return(retStr);
            }

            retStr = FieldCheckIfNotNullNotZeroInt(tvItemUserAuthorizationModel.TVItemID2, ServiceRes.TVItemID2);
            if (!string.IsNullOrWhiteSpace(retStr))
            {
                return(retStr);
            }

            retStr = FieldCheckIfNotNullNotZeroInt(tvItemUserAuthorizationModel.TVItemID3, ServiceRes.TVItemID3);
            if (!string.IsNullOrWhiteSpace(retStr))
            {
                return(retStr);
            }

            retStr = FieldCheckIfNotNullNotZeroInt(tvItemUserAuthorizationModel.TVItemID4, ServiceRes.TVItemID4);
            if (!string.IsNullOrWhiteSpace(retStr))
            {
                return(retStr);
            }

            retStr = _BaseEnumService.TVAuthOK(tvItemUserAuthorizationModel.TVAuth);
            if (!string.IsNullOrWhiteSpace(retStr))
            {
                return(retStr);
            }

            retStr = _BaseEnumService.DBCommandOK(tvItemUserAuthorizationModel.DBCommand);
            if (!string.IsNullOrWhiteSpace(retStr))
            {
                return(retStr);
            }

            return("");
        }
        // Post
        public TVItemUserAuthorizationModel PostAddTVItemUserAuthorizationDB(TVItemUserAuthorizationModel tvItemUserAuthorizationModel)
        {
            string retStr = TVItemUserAuthorizationModelOK(tvItemUserAuthorizationModel);

            if (!string.IsNullOrEmpty(retStr))
            {
                return(ReturnError(retStr));
            }

            ContactOK contactOK = IsContactOK();

            if (!string.IsNullOrEmpty(contactOK.Error))
            {
                return(ReturnError(contactOK.Error));
            }

            bool IsAdmin = IsAdministratorDB(User.Identity.Name);

            if (!IsAdmin)
            {
                return(ReturnError(ServiceRes.OnlyAdministratorsCanManageUsers));
            }

            if (contactOK.ContactTVItemID == tvItemUserAuthorizationModel.ContactTVItemID)
            {
                return(ReturnError(ServiceRes.CantSetOwnAuthorization));
            }

            TVItemUserAuthorization tvItemUserAuthorizationExist = GetTVItemUserAuthorizationWithContactTVItemIDTVItemID1TVItemID2TVItemID3TVItemID4DB(tvItemUserAuthorizationModel.ContactTVItemID, tvItemUserAuthorizationModel.TVItemID1, tvItemUserAuthorizationModel.TVItemID2, tvItemUserAuthorizationModel.TVItemID3, tvItemUserAuthorizationModel.TVItemID4);

            if (tvItemUserAuthorizationExist != null)
            {
                return(ReturnError(string.Format(ServiceRes._AlreadyExists, ServiceRes.TVItemUserAuthorization)));
            }

            TVItemUserAuthorization tvItemUserAuthorizationNew = new TVItemUserAuthorization();

            retStr = FillTVItemUserAuthorization(tvItemUserAuthorizationNew, tvItemUserAuthorizationModel, contactOK);
            if (!string.IsNullOrWhiteSpace(retStr))
            {
                return(ReturnError(retStr));
            }

            using (TransactionScope ts = new TransactionScope())
            {
                db.TVItemUserAuthorizations.Add(tvItemUserAuthorizationNew);
                retStr = DoAddChanges();
                if (!string.IsNullOrWhiteSpace(retStr))
                {
                    return(ReturnError(retStr));
                }

                LogModel logModel = _LogService.PostAddLogForObj("TVItemUserAuthorizations", tvItemUserAuthorizationNew.TVItemUserAuthorizationID, LogCommandEnum.Add, tvItemUserAuthorizationNew);
                if (!string.IsNullOrWhiteSpace(logModel.Error))
                {
                    return(ReturnError(logModel.Error));
                }

                ts.Complete();
            }
            return(GetTVItemUserAuthorizationModelWithTVItemUserAuthorizationIDDB(tvItemUserAuthorizationNew.TVItemUserAuthorizationID));
        }
        public TVItemUserAuthorizationModel GetTVItemUserAuthorizationModelWithContactTVItemIDTVItemID1TVItemID2TVItemID3TVItemID4DB(int ContactTVItemID, int TVItemID1, int?TVItemID2, int?TVItemID3, int?TVItemID4)
        {
            TVItemService tvItemService = new TVItemService(this.LanguageRequest, this.User);

            TVItemUserAuthorizationModel tvItemUserAuthorizationModel = (from c in db.TVItemUserAuthorizations
                                                                         let tvItemID1TVText = (from cl in db.TVItemLanguages where cl.Language == (int)LanguageRequest && cl.TVItemID == c.TVItemID1 select cl.TVText).FirstOrDefault <string>()
                                                                                               let tvItemID2TVText = (from cl in db.TVItemLanguages where cl.Language == (int)LanguageRequest && cl.TVItemID == c.TVItemID2 select cl.TVText).FirstOrDefault <string>()
                                                                                                                     let tvItemID3TVText = (from cl in db.TVItemLanguages where cl.Language == (int)LanguageRequest && cl.TVItemID == c.TVItemID3 select cl.TVText).FirstOrDefault <string>()
                                                                                                                                           let tvItemID4TVText = (from cl in db.TVItemLanguages where cl.Language == (int)LanguageRequest && cl.TVItemID == c.TVItemID4 select cl.TVText).FirstOrDefault <string>()
                                                                                                                                                                 let tvPath1 = (from ct in db.TVItems where ct.TVItemID == c.TVItemID1 select ct.TVPath).FirstOrDefault <string>()
                                                                                                                                                                               let tvPath2 = (from ct in db.TVItems where ct.TVItemID == c.TVItemID2 select ct.TVPath).FirstOrDefault <string>()
                                                                                                                                                                                             let tvPath3 = (from ct in db.TVItems where ct.TVItemID == c.TVItemID3 select ct.TVPath).FirstOrDefault <string>()
                                                                                                                                                                                                           let tvPath4 = (from ct in db.TVItems where ct.TVItemID == c.TVItemID4 select ct.TVPath).FirstOrDefault <string>()
                                                                                                                                                                                                                         where c.ContactTVItemID == ContactTVItemID &&
                                                                                                                                                                                                                         c.TVItemID1 == TVItemID1 &&
                                                                                                                                                                                                                         c.TVItemID2 == TVItemID2 &&
                                                                                                                                                                                                                         c.TVItemID3 == TVItemID3 &&
                                                                                                                                                                                                                         c.TVItemID4 == TVItemID4
                                                                                                                                                                                                                         select new TVItemUserAuthorizationModel
            {
                Error = "",
                TVItemUserAuthorizationID = c.TVItemUserAuthorizationID,
                DBCommand = (DBCommandEnum)c.DBCommand,
                ContactTVItemID = c.ContactTVItemID,
                TVItemID1 = c.TVItemID1,
                TVText1 = tvItemID1TVText,
                TVPath1 = tvPath1,
                TVItemID2 = c.TVItemID2,
                TVText2 = tvItemID2TVText,
                TVPath2 = tvPath2,
                TVItemID3 = c.TVItemID3,
                TVText3 = tvItemID3TVText,
                TVPath3 = tvPath3,
                TVItemID4 = c.TVItemID4,
                TVText4 = tvItemID4TVText,
                TVPath4 = tvPath4,
                TVAuth = (TVAuthEnum)c.TVAuth,
                LastUpdateDate_UTC = c.LastUpdateDate_UTC,
                LastUpdateContactTVItemID = c.LastUpdateContactTVItemID,
            }).FirstOrDefault <TVItemUserAuthorizationModel>();

            if (tvItemUserAuthorizationModel == null)
            {
                return(ReturnError(string.Format(ServiceRes.CouldNotFind_With_Equal_, ServiceRes.TVItemUserAuthorization, ServiceRes.ContactTVItemID
                                                 + "," + ServiceRes.TVItemID1 + ","
                                                 + ServiceRes.TVItemID2 ?? "" + ","
                                                 + ServiceRes.TVItemID3 ?? "" + ","
                                                 + ServiceRes.TVItemID4 ?? "",
                                                 ContactTVItemID.ToString() + ","
                                                 + TVItemID1.ToString() + ","
                                                 + TVItemID2 ?? "" + ","
                                                 + TVItemID3 ?? "" + ","
                                                 + TVItemID4 ?? ""
                                                 )));
            }

            tvItemUserAuthorizationModel.TVLevel1 = tvItemService.GetTVLevel(tvItemUserAuthorizationModel.TVPath1);

            if (tvItemUserAuthorizationModel.TVPath2 != null)
            {
                tvItemUserAuthorizationModel.TVLevel2 = tvItemService.GetTVLevel(tvItemUserAuthorizationModel.TVPath2);
            }

            if (tvItemUserAuthorizationModel.TVPath3 != null)
            {
                tvItemUserAuthorizationModel.TVLevel3 = tvItemService.GetTVLevel(tvItemUserAuthorizationModel.TVPath3);
            }

            if (tvItemUserAuthorizationModel.TVPath4 != null)
            {
                tvItemUserAuthorizationModel.TVLevel4 = tvItemService.GetTVLevel(tvItemUserAuthorizationModel.TVPath4);
            }

            return(tvItemUserAuthorizationModel);
        }
        // Fill
        public string FillTVItemUserAuthorization(TVItemUserAuthorization tvItemUserAuthorization, TVItemUserAuthorizationModel tvItemUserAuthorizationModel, ContactOK contactOK)
        {
            tvItemUserAuthorization.DBCommand          = (int)tvItemUserAuthorizationModel.DBCommand;
            tvItemUserAuthorization.ContactTVItemID    = tvItemUserAuthorizationModel.ContactTVItemID;
            tvItemUserAuthorization.TVItemID1          = tvItemUserAuthorizationModel.TVItemID1;
            tvItemUserAuthorization.TVItemID2          = tvItemUserAuthorizationModel.TVItemID2;
            tvItemUserAuthorization.TVItemID3          = tvItemUserAuthorizationModel.TVItemID3;
            tvItemUserAuthorization.TVItemID4          = tvItemUserAuthorizationModel.TVItemID4;
            tvItemUserAuthorization.TVAuth             = (int)tvItemUserAuthorizationModel.TVAuth;
            tvItemUserAuthorization.LastUpdateDate_UTC = DateTime.UtcNow;
            if (contactOK == null)
            {
                tvItemUserAuthorization.LastUpdateContactTVItemID = 2;
            }
            else
            {
                tvItemUserAuthorization.LastUpdateContactTVItemID = contactOK.ContactTVItemID;
            }

            return("");
        }
示例#10
0
        public void AdminController_SetUserTVItemAuthJSON_Test()
        {
            foreach (CultureInfo culture in setupData.cultureListGood)
            {
                LanguageEnum languageEnum = (culture.TwoLetterISOLanguageName == "fr" ? LanguageEnum.fr : LanguageEnum.en);

                // Arrange
                controllerAction = "SetUserTVItemAuthJSON";

                // Act
                SetupTest(contactModelListGood[0], culture, controllerAction);

                using (TransactionScope ts = new TransactionScope())
                {
                    TVItemUserAuthorizationService tvItemUserAuthorizationService = new TVItemUserAuthorizationService(languageEnum, user);

                    // Arrange
                    TVItemUserAuthorizationModel tvItemUserAuthorizationModelNew = new TVItemUserAuthorizationModel();
                    tvItemUserAuthorizationModelNew.ContactTVItemID = contactModelListGood[2].ContactTVItemID;
                    tvItemUserAuthorizationModelNew.TVItemID1       = randomService.RandomTVItem(TVTypeEnum.Country).TVItemID;
                    tvItemUserAuthorizationModelNew.TVItemID2       = null;
                    tvItemUserAuthorizationModelNew.TVItemID3       = null;
                    tvItemUserAuthorizationModelNew.TVItemID4       = null;
                    tvItemUserAuthorizationModelNew.TVAuth          = TVAuthEnum.Delete;

                    // Act
                    TVItemUserAuthorizationModel tvItemUserAuthorizationModelRet = tvItemUserAuthorizationService.GetTVItemUserAuthorizationModelWithContactTVItemIDTVItemID1TVItemID2TVItemID3TVItemID4DB(tvItemUserAuthorizationModelNew.ContactTVItemID, tvItemUserAuthorizationModelNew.TVItemID1, tvItemUserAuthorizationModelNew.TVItemID2, tvItemUserAuthorizationModelNew.TVItemID3, tvItemUserAuthorizationModelNew.TVItemID4);

                    if (tvItemUserAuthorizationModelRet.ContactTVItemID > 0)
                    {
                        // Act
                        tvItemUserAuthorizationModelRet = tvItemUserAuthorizationService.PostDeleteTVItemUserAuthorizationDB(tvItemUserAuthorizationModelRet.TVItemUserAuthorizationID);

                        // Assert
                        Assert.AreEqual("", tvItemUserAuthorizationModelRet.Error);
                    }

                    // Act
                    JsonResult jsonResult = controller.SetUserTVItemAuthJSON(tvItemUserAuthorizationModelNew) as JsonResult;

                    // Assert
                    Assert.IsNotNull(jsonResult);
                    TVItemUserAuthorizationModel tvItemUserAuthorizationModel = (TVItemUserAuthorizationModel)jsonResult.Data;
                    Assert.AreEqual("", tvItemUserAuthorizationModel.Error);
                    Assert.AreEqual(tvItemUserAuthorizationModelNew.ContactTVItemID, tvItemUserAuthorizationModel.ContactTVItemID);
                    Assert.AreEqual(tvItemUserAuthorizationModelNew.TVItemID1, tvItemUserAuthorizationModel.TVItemID1);
                    Assert.AreEqual(tvItemUserAuthorizationModelNew.TVItemID2, tvItemUserAuthorizationModel.TVItemID2);
                    Assert.AreEqual(tvItemUserAuthorizationModelNew.TVItemID3, tvItemUserAuthorizationModel.TVItemID3);
                    Assert.AreEqual(tvItemUserAuthorizationModelNew.TVItemID4, tvItemUserAuthorizationModel.TVItemID4);
                    Assert.AreEqual(tvItemUserAuthorizationModelNew.TVAuth, tvItemUserAuthorizationModel.TVAuth);

                    tvItemUserAuthorizationModel.TVAuth = TVAuthEnum.Create;

                    // Act
                    jsonResult = controller.SetUserTVItemAuthJSON(tvItemUserAuthorizationModel) as JsonResult;

                    // Assert
                    Assert.IsNotNull(jsonResult);
                    TVItemUserAuthorizationModel tvItemUserAuthorizationModel2 = (TVItemUserAuthorizationModel)jsonResult.Data;
                    Assert.AreEqual("", tvItemUserAuthorizationModel2.Error);
                    Assert.AreEqual(tvItemUserAuthorizationModel.ContactTVItemID, tvItemUserAuthorizationModel2.ContactTVItemID);
                    Assert.AreEqual(tvItemUserAuthorizationModel.TVItemID1, tvItemUserAuthorizationModel2.TVItemID1);
                    Assert.AreEqual(tvItemUserAuthorizationModel.TVItemID2, tvItemUserAuthorizationModel2.TVItemID2);
                    Assert.AreEqual(tvItemUserAuthorizationModel.TVItemID3, tvItemUserAuthorizationModel2.TVItemID3);
                    Assert.AreEqual(tvItemUserAuthorizationModel.TVItemID4, tvItemUserAuthorizationModel2.TVItemID4);
                    Assert.AreEqual(tvItemUserAuthorizationModel.TVAuth, tvItemUserAuthorizationModel2.TVAuth);

                    // Act
                    SetupTest(contactModelListGood[1], culture, controllerAction);

                    // Act
                    jsonResult = controller.SetUserTVItemAuthJSON(tvItemUserAuthorizationModel) as JsonResult;

                    // Assert
                    Assert.IsNotNull(jsonResult);
                    tvItemUserAuthorizationModel2 = (TVItemUserAuthorizationModel)jsonResult.Data;
                    Assert.AreEqual(ControllerRes.NeedToBeAnAdministrator, tvItemUserAuthorizationModel2.Error);
                }
            }
        }
示例#11
0
        public void AdminController_RemoveUserTVItemAuthJSON_Test()
        {
            foreach (CultureInfo culture in setupData.cultureListGood)
            {
                LanguageEnum languageEnum = (culture.TwoLetterISOLanguageName == "fr" ? LanguageEnum.fr : LanguageEnum.en);

                // Arrange
                controllerAction = "RemoveUserTVItemAuthJSON";

                // Act
                SetupTest(contactModelListGood[0], culture, controllerAction);

                using (TransactionScope ts = new TransactionScope())
                {
                    // Act
                    TVItemModel tvItemModelRoot = tvItemService.GetRootTVItemModelDB();

                    // Assert
                    Assert.AreEqual("", tvItemModelRoot.Error);

                    // Act
                    TVItemModel tvItemModelCountry = tvItemService.PostAddChildTVItemDB(tvItemModelRoot.TVItemID, "Unique Country", TVTypeEnum.Country);

                    // Assert
                    Assert.AreEqual("", tvItemModelCountry.Error);

                    TVItemUserAuthorizationService tvItemUserAuthorizationService = new TVItemUserAuthorizationService(languageEnum, user);

                    // Arrange
                    TVItemUserAuthorizationModel tvItemUserAuthorizationModelNew = new TVItemUserAuthorizationModel();
                    tvItemUserAuthorizationModelNew.ContactTVItemID = contactModelListGood[2].ContactTVItemID;
                    tvItemUserAuthorizationModelNew.TVItemID1       = tvItemModelCountry.TVItemID;
                    tvItemUserAuthorizationModelNew.TVAuth          = TVAuthEnum.Delete;

                    // Act
                    TVItemUserAuthorizationModel tvItemUserAuthorizationModelRet = tvItemUserAuthorizationService.PostAddTVItemUserAuthorizationDB(tvItemUserAuthorizationModelNew);

                    // Assert
                    Assert.AreEqual("", tvItemUserAuthorizationModelRet.Error);
                    Assert.AreEqual(contactModelListGood[2].ContactTVItemID, tvItemUserAuthorizationModelRet.ContactTVItemID);
                    Assert.AreEqual(tvItemUserAuthorizationModelNew.ContactTVItemID, tvItemUserAuthorizationModelRet.ContactTVItemID);
                    Assert.AreEqual(tvItemUserAuthorizationModelNew.TVItemID1, tvItemUserAuthorizationModelRet.TVItemID1);
                    Assert.AreEqual(tvItemUserAuthorizationModelNew.TVAuth, tvItemUserAuthorizationModelRet.TVAuth);

                    // Act
                    JsonResult jsonResult = controller.RemoveUserTVItemAuthJSON(tvItemUserAuthorizationModelRet.TVItemUserAuthorizationID) as JsonResult;

                    // Assert
                    Assert.IsNotNull(jsonResult);
                    string retStr = (string)jsonResult.Data;
                    Assert.AreEqual("", retStr);

                    // Act
                    SetupTest(contactModelListGood[2], culture, controllerAction);

                    // Act
                    jsonResult = controller.RemoveUserTVItemAuthJSON(tvItemUserAuthorizationModelRet.TVItemUserAuthorizationID) as JsonResult;

                    // Assert
                    Assert.IsNotNull(jsonResult);
                    retStr = (string)jsonResult.Data;
                    Assert.AreEqual(ControllerRes.NeedToBeAnAdministrator, retStr);
                }
            }
        }