Ejemplo n.º 1
0
        public void DataPortal_Create(Criteria.PhraseTextLanguageTextPairsCriteria criteria)
        {
            //INITIALIZE TRANSLATION CREATOR
            RetrieverId = Guid.NewGuid();
            Translation = TranslationEdit.NewTranslationEdit();

            //FILL TRANSLATION.PHRASES WITH EMPTY PHRASES
            for (int i = 0; i < criteria.PhraseTextLanguageTextPairs.Count; i++)
            {
                Translation.Phrases.AddNew();
            }

            //FILL IN THE PHRASE DATA
            for (int j = 0; j < criteria.PhraseTextLanguageTextPairs.Count; j++)
            {
                //EXTRACT DATA FROM TUPLE
                var pair         = criteria.PhraseTextLanguageTextPairs[j];
                var phraseText   = pair.Item1;
                var languageText = pair.Item2;

                //ENTER DATA INTO THE BLANK PHRASES
                var phraseEdit = Translation.Phrases[j];
                phraseEdit.Text = phraseText;

                //DO THE LANGUAGE
                //TRY TO GET LANGUAGE EDIT FROM DB
                var allLanguages = LanguageList.GetAll();
                var results      = from languageEdit in allLanguages
                                   where languageEdit.Text == languageText
                                   select languageEdit;
                if (results.Count() > 0)
                {
                    //THE LANGUAGE ALREADY EXISTS (OMG I'M TIRED AND THIS IS TERRIBLE)
                    var childLanguageEdit = results.First();
                    phraseEdit.Language = childLanguageEdit;
                }
                else
                {
                    //THE LANGUAGE DOES NOT EXIST YET
                    phraseEdit.Language.Id   = Guid.NewGuid();
                    phraseEdit.Language.Text = languageText;
                }
            }

            //SAVE THE TRANSLATION (SYNC CUZ WE'RE ON THE SERVER)
            Translation = Translation.Save();
        }
Ejemplo n.º 2
0
        public void DataPortal_Create()
        {
            RetrieverId = Guid.NewGuid();

            Translation = TranslationEdit.NewTranslationEdit();

            var phraseA = Translation.Phrases.AddNew();

            phraseA.LanguageId = LanguageEdit.GetDefaultLanguageId();
            //phraseA.Language = LanguageEdit.GetLanguageEdit(phraseA.LanguageId);
            phraseA.Language = DataPortal.FetchChild <LanguageEdit>(phraseA.LanguageId);

            var phraseB = Translation.Phrases.AddNew();

            phraseB.LanguageId = LanguageEdit.GetDefaultLanguageId();
            //phraseB.Language = LanguageEdit.GetLanguageEdit(phraseB.LanguageId);
            phraseB.Language = DataPortal.FetchChild <LanguageEdit>(phraseB.LanguageId);
        }
Ejemplo n.º 3
0
        public void DataPortal_Create(Criteria.ListOfPhrasesCriteria phrasesCriteria)
        {
            //INITIALIZE TRANSLATION CREATOR
            RetrieverId = Guid.NewGuid();
            Translation = TranslationEdit.NewTranslationEdit();

            //WILL USE THIS TO POPULATE THE TRANSLATION
            List <PhraseEdit> phrasesToUse = new List <PhraseEdit>(phrasesCriteria.Phrases);

            //FILL TRANSLATION.PHRASES WITH EMPTY PHRASES
            for (int i = 0; i < phrasesToUse.Count; i++)
            {
                Translation.Phrases.AddNew();
            }

            //RETRIEVE ANY ALREADY-EXISTING PHRASES IN DB
            var retriever = PhrasesByTextAndLanguageRetriever.CreateNew(phrasesCriteria);

            for (int i = 0; i < phrasesToUse.Count; i++)
            {
                var phraseToAdd = phrasesToUse[i];

                //IF THE RETRIEVEDPHRASES CONTAINS TO THE KEY (WHICH IT SHOULD)
                //AND THE RETRIEVER FOUND AN ALREADY EXISTING PHRASE IN DB,
                //THEN REPLACE PHRASETOADD WITH THAT DB PHRASE
                if (retriever.RetrievedPhrases.ContainsKey(phraseToAdd.Id) &&
                    retriever.RetrievedPhrases[phraseToAdd.Id] != null)
                {
                    phraseToAdd = retriever.RetrievedPhrases[phraseToAdd.Id];
                }

                var translationChildPhrase = Translation.Phrases[i];
                var dto = phraseToAdd.CreateDto();
                translationChildPhrase.LoadFromDtoBypassPropertyChecks(dto);
            }
        }