public void MWQMSampleLanguageService_PostUpdateMWQMSampleLanguageDB_GetMWQMSampleLanguageWithMWQMSampleIDAndLanguageDB_Error_Test()
        {
            foreach (CultureInfo culture in setupData.cultureListGood)
            {
                SetupTest(contactModelListGood[0], culture);

                using (TransactionScope ts = new TransactionScope())
                {
                    MWQMSampleModel mwqmSampleModelRet = mwqmSampleServiceTest.AddMWQMSampleModel();

                    LanguageEnum LangToAdd = LanguageEnum.es;

                    MWQMSampleLanguageModel mwqmSampleLanguageModelRet = AddMWQMSampleLanguageModel(LangToAdd, mwqmSampleModelRet);

                    using (ShimsContext.Create())
                    {
                        SetupShim();
                        FillMWQMSampleLanguageModelUpdate(mwqmSampleLanguageModelRet);

                        //string ErrorText = "ErrorText";
                        shimMWQMSampleLanguageService.GetMWQMSampleLanguageWithMWQMSampleIDAndLanguageDBInt32LanguageEnum = (a, b) =>
                        {
                            return(null);
                        };

                        MWQMSampleLanguageModel mwqmSampleLanguageModelRet2 = mwqmSampleLanguageService.PostUpdateMWQMSampleLanguageDB(mwqmSampleLanguageModelRet);
                        Assert.AreEqual(string.Format(ServiceRes.CouldNotFind_ToUpdate, ServiceRes.MWQMSampleLanguage), mwqmSampleLanguageModelRet2.Error);
                    }
                }
            }
        }
        public void MWQMSampleLanguageService_PostDeleteMWQMSampleLanguageDB_IsContactOK_Error_Test()
        {
            foreach (CultureInfo culture in setupData.cultureListGood)
            {
                SetupTest(contactModelListGood[0], culture);

                using (TransactionScope ts = new TransactionScope())
                {
                    MWQMSampleModel mwqmSampleModelRet = mwqmSampleServiceTest.AddMWQMSampleModel();

                    LanguageEnum LangToAdd = LanguageEnum.es;

                    MWQMSampleLanguageModel mwqmSampleLanguageModelRet = AddMWQMSampleLanguageModel(LangToAdd, mwqmSampleModelRet);

                    MWQMSampleLanguageModel mwqmSampleLanguageModelRet2 = UpdateMWQMSampleLanguageModel(mwqmSampleLanguageModelRet);

                    using (ShimsContext.Create())
                    {
                        SetupShim();
                        string ErrorText = "ErrorText";
                        shimMWQMSampleLanguageService.IsContactOK = () =>
                        {
                            return(new ContactOK()
                            {
                                Error = ErrorText
                            });
                        };

                        MWQMSampleLanguageModel mwqmSampleLanguageModelRet3 = mwqmSampleLanguageService.PostDeleteMWQMSampleLanguageDB(mwqmSampleLanguageModelRet2.MWQMSampleID, LangToAdd);
                        Assert.AreEqual(ErrorText, mwqmSampleLanguageModelRet3.Error);
                    }
                }
            }
        }
        public void MWQMSampleLanguageService_PostUpdateMWQMSampleLanguageDB_DoUpdateChanges_Error_Test()
        {
            foreach (CultureInfo culture in setupData.cultureListGood)
            {
                SetupTest(contactModelListGood[0], culture);

                using (TransactionScope ts = new TransactionScope())
                {
                    MWQMSampleModel mwqmSampleModelRet = mwqmSampleServiceTest.AddMWQMSampleModel();

                    LanguageEnum LangToAdd = LanguageEnum.es;

                    MWQMSampleLanguageModel mwqmSampleLanguageModelRet = AddMWQMSampleLanguageModel(LangToAdd, mwqmSampleModelRet);

                    using (ShimsContext.Create())
                    {
                        SetupShim();
                        FillMWQMSampleLanguageModelUpdate(mwqmSampleLanguageModelRet);

                        string ErrorText = "ErrorText";
                        shimMWQMSampleLanguageService.DoUpdateChanges = () =>
                        {
                            return(ErrorText);
                        };

                        MWQMSampleLanguageModel mwqmSampleLanguageModelRet2 = mwqmSampleLanguageService.PostUpdateMWQMSampleLanguageDB(mwqmSampleLanguageModelRet);
                        Assert.AreEqual(ErrorText, mwqmSampleLanguageModelRet2.Error);
                    }
                }
            }
        }
        // Check
        public string MWQMSampleLanguageModelOK(MWQMSampleLanguageModel mwqmSampleLanguageModel)
        {
            string retStr = FieldCheckNotZeroInt(mwqmSampleLanguageModel.MWQMSampleID, ServiceRes.MWQMSampleID);

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

            retStr = _BaseEnumService.LanguageOK(mwqmSampleLanguageModel.Language);
            if (!string.IsNullOrWhiteSpace(retStr))
            {
                return(retStr);
            }

            retStr = FieldCheckIfNotNullMaxLengthString(mwqmSampleLanguageModel.MWQMSampleNote, ServiceRes.MWQMSampleNote, 10000);
            if (!string.IsNullOrWhiteSpace(retStr))
            {
                return(retStr);
            }

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

            return("");
        }
        public void MWQMSampleLanguageService_PostAddMWQMSampleLanguageDB_MWQMSampleModelOK_Error_Test()
        {
            foreach (CultureInfo culture in setupData.cultureListGood)
            {
                SetupTest(contactModelListGood[0], culture);

                using (TransactionScope ts = new TransactionScope())
                {
                    using (ShimsContext.Create())
                    {
                        MWQMSampleModel mwqmSampleModelRet = mwqmSampleServiceTest.AddMWQMSampleModel();

                        LanguageEnum LangToAdd = LanguageEnum.es;
                        FillMWQMSampleLanguageModelNew(LangToAdd, mwqmSampleModelRet, mwqmSampleLanguageModelNew);

                        string ErrorText = "ErrorText";
                        ShimMWQMSampleLanguageService shimMWQMSampleLanguageService = new ShimMWQMSampleLanguageService(mwqmSampleLanguageService);
                        shimMWQMSampleLanguageService.MWQMSampleLanguageModelOKMWQMSampleLanguageModel = (a) =>
                        {
                            return(ErrorText);
                        };

                        MWQMSampleLanguageModel mwqmSampleLanguageModelRet = mwqmSampleLanguageService.PostAddMWQMSampleLanguageDB(mwqmSampleLanguageModelNew);
                        Assert.AreEqual(ErrorText, mwqmSampleLanguageModelRet.Error);
                    }
                }
            }
        }
        public void MWQMSampleLanguageService_PostAddMWQMSampleLanguageDB_Add_Error_Test()
        {
            foreach (CultureInfo culture in setupData.cultureListGood)
            {
                SetupTest(contactModelListGood[0], culture);

                using (TransactionScope ts = new TransactionScope())
                {
                    MWQMSampleModel mwqmSampleModelRet = mwqmSampleServiceTest.AddMWQMSampleModel();

                    using (ShimsContext.Create())
                    {
                        SetupShim();
                        LanguageEnum LangToAdd = LanguageEnum.es;
                        FillMWQMSampleLanguageModelNew(LangToAdd, mwqmSampleModelRet, mwqmSampleLanguageModelNew);

                        //string ErrorText = "ErrorText";
                        shimMWQMSampleLanguageService.FillMWQMSampleLanguageMWQMSampleLanguageMWQMSampleLanguageModelContactOK = (a, b, c) =>
                        {
                            return("");
                        };

                        MWQMSampleLanguageModel mwqmSampleLanguageModelRet = mwqmSampleLanguageService.PostAddMWQMSampleLanguageDB(mwqmSampleLanguageModelNew);
                        Assert.IsTrue(mwqmSampleLanguageModelRet.Error.StartsWith(string.Format(ServiceRes.CouldNotAddError_, "").Substring(0, 10)));
                    }
                }
            }
        }
        private void FillMWQMSampleLanguageModelUpdate(MWQMSampleLanguageModel mwqmSampleLanguageModel)
        {
            mwqmSampleLanguageModel.MWQMSampleNote    = randomService.RandomString("MWQMSampleName", 30);
            mwqmSampleLanguageModel.TranslationStatus = TranslationStatusEnum.Translated;

            Assert.IsTrue(mwqmSampleLanguageModel.MWQMSampleNote.Length == 30);
            Assert.IsTrue(mwqmSampleLanguageModel.TranslationStatus == TranslationStatusEnum.Translated);
        }
        // Post
        public MWQMSampleLanguageModel PostAddMWQMSampleLanguageDB(MWQMSampleLanguageModel mwqmSampleLanguageModel)
        {
            string retStr = MWQMSampleLanguageModelOK(mwqmSampleLanguageModel);

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

            ContactOK contactOK = IsContactOK();

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

            MWQMSampleLanguageModel mwqmSampleLanguageModelExist = GetMWQMSampleLanguageModelWithMWQMSampleIDAndLanguageDB(mwqmSampleLanguageModel.MWQMSampleID, mwqmSampleLanguageModel.Language);

            if (string.IsNullOrWhiteSpace(mwqmSampleLanguageModelExist.Error))
            {
                return(ReturnError(string.Format(ServiceRes._AlreadyExists, ServiceRes.MWQMSampleLanguage)));
            }

            MWQMSampleLanguage mwqmSampleLanguageNew = new MWQMSampleLanguage();

            retStr = FillMWQMSampleLanguage(mwqmSampleLanguageNew, mwqmSampleLanguageModel, contactOK);
            if (!string.IsNullOrWhiteSpace(retStr))
            {
                return(ReturnError(retStr));
            }

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

                LogModel logModel = _LogService.PostAddLogForObj("MWQMSampleLanguages", mwqmSampleLanguageNew.MWQMSampleLanguageID, LogCommandEnum.Add, mwqmSampleLanguageNew);
                if (!string.IsNullOrWhiteSpace(logModel.Error))
                {
                    return(ReturnError(logModel.Error));
                }

                ts.Complete();
            }
            return(GetMWQMSampleLanguageModelWithMWQMSampleIDAndLanguageDB(mwqmSampleLanguageNew.MWQMSampleID, mwqmSampleLanguageModel.Language));
        }
        public void SetupTest(ContactModel contactModelToDo, CultureInfo culture)
        {
            Thread.CurrentThread.CurrentCulture   = culture;
            Thread.CurrentThread.CurrentUICulture = culture;

            contactModel               = contactModelToDo;
            user                       = new GenericPrincipal(new GenericIdentity(contactModel.LoginEmail, "Forms"), null);
            mwqmSampleService          = new MWQMSampleService((culture.TwoLetterISOLanguageName == "fr" ? LanguageEnum.fr : LanguageEnum.en), user);
            mwqmSampleLanguageService  = new MWQMSampleLanguageService((culture.TwoLetterISOLanguageName == "fr" ? LanguageEnum.fr : LanguageEnum.en), user);
            testDBService              = new TestDBService((culture.TwoLetterISOLanguageName == "fr" ? LanguageEnum.fr : LanguageEnum.en), user, TableName, Plurial);
            randomService              = new RandomService((culture.TwoLetterISOLanguageName == "fr" ? LanguageEnum.fr : LanguageEnum.en), user);
            mwqmSampleLanguageModelNew = new MWQMSampleLanguageModel();
            mwqmSampleLanguage         = new MWQMSampleLanguage();
            mwqmSampleServiceTest      = new MWQMSampleServiceTest();
            mwqmSampleServiceTest.SetupTest(contactModelToDo, culture);
        }
        private MWQMSampleLanguageModel UpdateMWQMSampleLanguageModel(MWQMSampleLanguageModel mwqmSampleLanguageModelRet)
        {
            FillMWQMSampleLanguageModelUpdate(mwqmSampleLanguageModelRet);

            MWQMSampleLanguageModel mwqmSampleLanguageModelRet2 = mwqmSampleLanguageService.PostUpdateMWQMSampleLanguageDB(mwqmSampleLanguageModelRet);

            if (!string.IsNullOrWhiteSpace(mwqmSampleLanguageModelRet2.Error))
            {
                return(mwqmSampleLanguageModelRet2);
            }

            Assert.IsNotNull(mwqmSampleLanguageModelRet2);
            CompareMWQMSampleLanguageModels(mwqmSampleLanguageModelRet, mwqmSampleLanguageModelRet2);

            return(mwqmSampleLanguageModelRet2);
        }
        public MWQMSampleLanguageModel PostUpdateMWQMSampleLanguageDB(MWQMSampleLanguageModel mwqmSampleLanguageModel)
        {
            string retStr = MWQMSampleLanguageModelOK(mwqmSampleLanguageModel);

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

            ContactOK contactOK = IsContactOK();

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

            MWQMSampleLanguage mwqmSampleLanguageToUpdate = GetMWQMSampleLanguageWithMWQMSampleIDAndLanguageDB(mwqmSampleLanguageModel.MWQMSampleID, mwqmSampleLanguageModel.Language);

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

            retStr = FillMWQMSampleLanguage(mwqmSampleLanguageToUpdate, mwqmSampleLanguageModel, 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("MWQMSampleLanguages", mwqmSampleLanguageToUpdate.MWQMSampleLanguageID, LogCommandEnum.Change, mwqmSampleLanguageToUpdate);
                if (!string.IsNullOrWhiteSpace(logModel.Error))
                {
                    return(ReturnError(logModel.Error));
                }

                ts.Complete();
            }
            return(GetMWQMSampleLanguageModelWithMWQMSampleIDAndLanguageDB(mwqmSampleLanguageToUpdate.MWQMSampleID, mwqmSampleLanguageModel.Language));
        }
        private MWQMSampleLanguageModel AddMWQMSampleLanguageModel(LanguageEnum LangToAdd, MWQMSampleModel mwqmSampleModel)
        {
            MWQMSampleLanguageModel mwqmSampleLanguageModelNew = new MWQMSampleLanguageModel();

            FillMWQMSampleLanguageModelNew(LangToAdd, mwqmSampleModel, mwqmSampleLanguageModelNew);

            MWQMSampleLanguageModel mwqmSampleLanguagModelRet = mwqmSampleLanguageService.PostAddMWQMSampleLanguageDB(mwqmSampleLanguageModelNew);

            if (!string.IsNullOrWhiteSpace(mwqmSampleLanguagModelRet.Error))
            {
                return(mwqmSampleLanguagModelRet);
            }

            Assert.IsNotNull(mwqmSampleLanguagModelRet);
            CompareMWQMSampleLanguageModels(mwqmSampleLanguageModelNew, mwqmSampleLanguagModelRet);

            return(mwqmSampleLanguagModelRet);
        }
        public void MWQMSampleLanguageService_GetMWQMSampleModelCountDB_Test()
        {
            foreach (CultureInfo culture in setupData.cultureListGood)
            {
                SetupTest(contactModelListGood[0], culture);

                using (TransactionScope ts = new TransactionScope())
                {
                    MWQMSampleModel mwqmSampleModelRet = mwqmSampleServiceTest.AddMWQMSampleModel();

                    LanguageEnum LangToAdd = LanguageEnum.es;

                    MWQMSampleLanguageModel mwqmSampleModelLanguageRet = AddMWQMSampleLanguageModel(LangToAdd, mwqmSampleModelRet);

                    int mwqmSampleCount = mwqmSampleLanguageService.GetMWQMSampleLanguageModelCountDB();
                    Assert.AreEqual(testDBService.Count + 3, mwqmSampleCount);
                }
            }
        }
        public void MWQMSampleLanguageService_GetMWQMSampleLanguageWithMWQMSampleIDAndLanguageDB_Test()
        {
            foreach (CultureInfo culture in setupData.cultureListGood)
            {
                SetupTest(contactModelListGood[0], culture);

                using (TransactionScope ts = new TransactionScope())
                {
                    MWQMSampleModel mwqmSampleModelRet = mwqmSampleServiceTest.AddMWQMSampleModel();

                    LanguageEnum LangToAdd = LanguageEnum.es;

                    MWQMSampleLanguageModel mwqmSampleLanguageModelRet = AddMWQMSampleLanguageModel(LangToAdd, mwqmSampleModelRet);

                    MWQMSampleLanguage mwqmSampleLanguageRet2 = mwqmSampleLanguageService.GetMWQMSampleLanguageWithMWQMSampleIDAndLanguageDB(mwqmSampleLanguageModelRet.MWQMSampleID, LangToAdd);
                    Assert.AreEqual(mwqmSampleLanguageModelRet.MWQMSampleID, mwqmSampleLanguageRet2.MWQMSampleID);
                    Assert.AreEqual(mwqmSampleLanguageModelRet.Language, (LanguageEnum)mwqmSampleLanguageRet2.Language);
                    Assert.AreEqual(LangToAdd, (LanguageEnum)mwqmSampleLanguageRet2.Language);
                }
            }
        }
        public void MWQMSampleLanguageService_PostAddMWQMSampleLanguageDB_Good_Test()
        {
            foreach (CultureInfo culture in setupData.cultureListGood)
            {
                SetupTest(contactModelListGood[0], culture);

                using (TransactionScope ts = new TransactionScope())
                {
                    MWQMSampleModel mwqmSampleModelRet = mwqmSampleServiceTest.AddMWQMSampleModel();

                    LanguageEnum LangToAdd = LanguageEnum.es;

                    MWQMSampleLanguageModel mwqmSampleLanguageModelRet = AddMWQMSampleLanguageModel(LangToAdd, mwqmSampleModelRet);

                    MWQMSampleLanguageModel mwqmSampleLanguageModelRet2 = UpdateMWQMSampleLanguageModel(mwqmSampleLanguageModelRet);

                    MWQMSampleLanguageModel mwqmSampleLanguageModelRet3 = mwqmSampleLanguageService.PostDeleteMWQMSampleLanguageDB(mwqmSampleLanguageModelRet2.MWQMSampleID, LangToAdd);
                    Assert.AreEqual("", mwqmSampleLanguageModelRet3.Error);
                }
            }
        }
        public void MWQMSampleLanguageService_PostAddMWQMSampleLanguageDB_UserEmailNotValidated_Test()
        {
            foreach (CultureInfo culture in setupData.cultureListGood)
            {
                SetupTest(contactModelListGood[0], culture);

                using (TransactionScope ts = new TransactionScope())
                {
                    MWQMSampleModel mwqmSampleModelRet = mwqmSampleServiceTest.AddMWQMSampleModel();

                    LanguageEnum LangToAdd = LanguageEnum.es;

                    ContactModel contactModelBad = contactModelListGood[2];
                    IPrincipal   userBad         = new GenericPrincipal(new GenericIdentity(contactModelBad.LoginEmail, "Forms"), null);
                    mwqmSampleLanguageService = new MWQMSampleLanguageService((culture.TwoLetterISOLanguageName == "fr" ? LanguageEnum.fr : LanguageEnum.en), userBad);

                    MWQMSampleLanguageModel mwqmSampleLanguageModelRet = AddMWQMSampleLanguageModel(LangToAdd, mwqmSampleModelRet);

                    // Assert 1
                    Assert.AreEqual(ServiceRes.EmailRequiresValidation, mwqmSampleLanguageModelRet.Error);
                }
            }
        }
        public MWQMSampleLanguageModel GetMWQMSampleLanguageModelWithMWQMSampleIDAndLanguageDB(int MWQMSampleID, LanguageEnum Language)
        {
            MWQMSampleLanguageModel mwqmSampleLanguageModel = (from c in db.MWQMSampleLanguages
                                                               where c.MWQMSampleID == MWQMSampleID &&
                                                               c.Language == (int)Language
                                                               select new MWQMSampleLanguageModel
            {
                Error = "",
                MWQMSampleID = c.MWQMSampleID,
                DBCommand = (DBCommandEnum)c.DBCommand,
                Language = (LanguageEnum)c.Language,
                TranslationStatus = (TranslationStatusEnum)c.TranslationStatus,
                MWQMSampleNote = c.MWQMSampleNote,
                LastUpdateDate_UTC = c.LastUpdateDate_UTC,
                LastUpdateContactTVItemID = c.LastUpdateContactTVItemID,
            }).FirstOrDefault <MWQMSampleLanguageModel>();

            if (mwqmSampleLanguageModel == null)
            {
                return(ReturnError(string.Format(ServiceRes.CouldNotFind_With_Equal_, ServiceRes.MWQMSampleLanguage, ServiceRes.MWQMSampleID + "," + ServiceRes.Language, MWQMSampleID.ToString() + "," + Language)));
            }

            return(mwqmSampleLanguageModel);
        }
        private void FillMWQMSampleLanguageModelNew(LanguageEnum Language, MWQMSampleModel mwqmSampleModel, MWQMSampleLanguageModel mwqmSampleLanguageModel)
        {
            mwqmSampleLanguageModel.MWQMSampleID      = mwqmSampleModel.MWQMSampleID;
            mwqmSampleLanguageModel.MWQMSampleNote    = randomService.RandomString("MWQMSampleName", 30);
            mwqmSampleLanguageModel.Language          = Language;
            mwqmSampleLanguageModel.TranslationStatus = TranslationStatusEnum.Translated;

            Assert.IsTrue(mwqmSampleLanguageModel.MWQMSampleID != 0);
            Assert.IsTrue(mwqmSampleLanguageModel.MWQMSampleNote.Length == 30);
            Assert.IsTrue(mwqmSampleLanguageModel.Language == Language);
            Assert.IsTrue(mwqmSampleLanguageModel.TranslationStatus == TranslationStatusEnum.Translated);
        }
 private void CompareMWQMSampleLanguageModels(MWQMSampleLanguageModel mwqmSampleLanguageModelNew, MWQMSampleLanguageModel mwqmSampleLanguageModelRet)
 {
     Assert.AreEqual(mwqmSampleLanguageModelNew.Language, mwqmSampleLanguageModelRet.Language);
     Assert.AreEqual(mwqmSampleLanguageModelNew.MWQMSampleNote, mwqmSampleLanguageModelRet.MWQMSampleNote);
 }
        // Fill
        public string FillMWQMSampleLanguage(MWQMSampleLanguage mwqmSampleLanguageNew, MWQMSampleLanguageModel mwqmSampleLanguageModel, ContactOK contactOK)
        {
            mwqmSampleLanguageNew.DBCommand          = (int)mwqmSampleLanguageModel.DBCommand;
            mwqmSampleLanguageNew.MWQMSampleID       = mwqmSampleLanguageModel.MWQMSampleID;
            mwqmSampleLanguageNew.Language           = (int)mwqmSampleLanguageModel.Language;
            mwqmSampleLanguageNew.TranslationStatus  = (int)mwqmSampleLanguageModel.TranslationStatus;
            mwqmSampleLanguageNew.MWQMSampleNote     = mwqmSampleLanguageModel.MWQMSampleNote;
            mwqmSampleLanguageNew.LastUpdateDate_UTC = DateTime.UtcNow;
            if (contactOK == null)
            {
                mwqmSampleLanguageNew.LastUpdateContactTVItemID = 2;
            }
            else
            {
                mwqmSampleLanguageNew.LastUpdateContactTVItemID = contactOK.ContactTVItemID;
            }

            return("");
        }
Esempio n. 21
0
        public MWQMSampleModel PostAddMWQMSampleDB(MWQMSampleModel mwqmSampleModel)
        {
            string retStr = MWQMSampleModelOK(mwqmSampleModel);

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

            ContactOK contactOK = IsContactOK();

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

            MWQMSampleModel mwqmSampleModelExist = GetMWQMSampleModelExistDB(mwqmSampleModel);

            if (string.IsNullOrWhiteSpace(mwqmSampleModelExist.Error))
            {
                return(ReturnError(string.Format(ServiceRes._AlreadyExists, ServiceRes.MWQMSample)));
            }

            MWQMSample mwqmSampleNew = new MWQMSample();

            retStr = FillMWQMSample(mwqmSampleNew, mwqmSampleModel, contactOK);
            if (!string.IsNullOrWhiteSpace(retStr))
            {
                return(ReturnError(retStr));
            }

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

                LogModel logModel = _LogService.PostAddLogForObj("MWQMSamples", mwqmSampleNew.MWQMSampleID, LogCommandEnum.Add, mwqmSampleNew);
                if (!string.IsNullOrWhiteSpace(logModel.Error))
                {
                    return(ReturnError(logModel.Error));
                }

                foreach (LanguageEnum Lang in LanguageListAllowable)
                {
                    MWQMSampleLanguageModel mwqmSampleLanguageModel = new MWQMSampleLanguageModel()
                    {
                        DBCommand         = DBCommandEnum.Original,
                        MWQMSampleID      = mwqmSampleNew.MWQMSampleID,
                        Language          = Lang,
                        MWQMSampleNote    = mwqmSampleModel.MWQMSampleNote,
                        TranslationStatus = (Lang == LanguageRequest ? TranslationStatusEnum.Translated : TranslationStatusEnum.NotTranslated),
                    };

                    if (mwqmSampleLanguageModel.MWQMSampleNote == null)
                    {
                        mwqmSampleLanguageModel.MWQMSampleNote = ServiceRes.Empty;
                    }

                    MWQMSampleLanguageModel mwqmSampleLanguageModelRet = _MWQMSampleLanguageService.PostAddMWQMSampleLanguageDB(mwqmSampleLanguageModel);
                    if (!string.IsNullOrEmpty(mwqmSampleLanguageModelRet.Error))
                    {
                        return(ReturnError(mwqmSampleLanguageModelRet.Error));
                    }
                }

                ts.Complete();
            }
            return(GetMWQMSampleModelWithMWQMSampleIDDB(mwqmSampleNew.MWQMSampleID));
        }
Esempio n. 22
0
        public MWQMSampleModel PostUpdateMWQMSampleDB(MWQMSampleModel mwqmSampleModel)
        {
            string retStr = MWQMSampleModelOK(mwqmSampleModel);

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

            ContactOK contactOK = IsContactOK();

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

            MWQMSample mwqmSampleToUpdate = GetMWQMSampleWithMWQMSampleIDDB(mwqmSampleModel.MWQMSampleID);

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

            retStr = FillMWQMSample(mwqmSampleToUpdate, mwqmSampleModel, 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("MWQMSamples", mwqmSampleToUpdate.MWQMSampleID, LogCommandEnum.Change, mwqmSampleToUpdate);
                if (!string.IsNullOrWhiteSpace(logModel.Error))
                {
                    return(ReturnError(logModel.Error));
                }

                foreach (LanguageEnum Lang in LanguageListAllowable)
                {
                    if (Lang == LanguageRequest)
                    {
                        MWQMSampleLanguageModel mwqmSampleLanguageModel = new MWQMSampleLanguageModel()
                        {
                            DBCommand         = DBCommandEnum.Original,
                            MWQMSampleID      = mwqmSampleModel.MWQMSampleID,
                            Language          = Lang,
                            MWQMSampleNote    = mwqmSampleModel.MWQMSampleNote ?? "",
                            TranslationStatus = TranslationStatusEnum.Translated,
                        };

                        if (!string.IsNullOrWhiteSpace(mwqmSampleModel.MWQMSampleNote))
                        {
                            mwqmSampleModel.MWQMSampleNote = ServiceRes.Empty;
                        }

                        MWQMSampleLanguageModel mwqmSampleLanguageModelRet = _MWQMSampleLanguageService.PostUpdateMWQMSampleLanguageDB(mwqmSampleLanguageModel);
                        if (!string.IsNullOrEmpty(mwqmSampleLanguageModelRet.Error))
                        {
                            return(ReturnError(mwqmSampleLanguageModelRet.Error));
                        }
                    }
                }

                ts.Complete();
            }
            return(GetMWQMSampleModelWithMWQMSampleIDDB(mwqmSampleToUpdate.MWQMSampleID));
        }