Ejemplo n.º 1
0
        public void DataPortal_Create(Criteria.LineInfosCriteria lineInfosCriteria)
        {
            if (lineInfosCriteria.LineInfos.Count == 0)
            {
                throw new ArgumentException("lineInfosCriteria");
            }
            using (var dalManager = DalFactory.GetDalManager())
            {
                var languageText = lineInfosCriteria.LanguageText;
                var language     = DataPortal.FetchChild <LanguageEdit>(languageText);
                //var languageDal = dalManager.GetProvider<ILanguageDal>();
                //var languageResult = languageDal.Fetch(languageText);
                //LanguageEdit language = null;
                //if (!languageResult.IsSuccess)
                //{
                //  var exception = languageResult.GetExceptionFromInfo();
                //  if (exception == null)
                //    throw new LanguageTextNotFoundException(languageText);
                //  else if (exception.Message.Contains(LanguageTextNotFoundException.GetDefaultErrorMessage(languageText)))
                //  {
                //    //IF THE LANGUAGE TEXT DOES NOT EXIST, CREATE IT
                //    //CAN'T CHECK FOR DATA EXCEPTION TYPE BECAUSE IT WILL BE A GENERAL CSLA DATAPORTAL EXCEPTION
                //    language = LanguageEdit.NewLanguageEdit();
                //    language.Text = languageText;
                //    //language = language.Save();
                //  }
                //  else
                //    throw new CreateFailedException(DataAccess.DalResources.ErrorMsgLanguageTextProblemWhileCreatingLineInfos);
                //}

                //var languageDto = languageResult.Obj;
                //language = LanguageEdit.NewLanguageEdit(languageDto);
                //language.LoadFromDtoBypassPropertyChecks(languageDto);

                //WE NOW HAVE OUR LANGUAGEEDIT THAT WILL BE USED FOR ALL PHRASE TEXTS.
                var LineDal = dalManager.GetProvider <ILineDal>();

                //LineList newLineList = LineList.NewLineList();
                foreach (var lineInfo in lineInfosCriteria.LineInfos)
                {
                    //FOREACH LINEINFO, CREATE A PHRASE, THEN CREATE A LINE CONTAINING THAT PHRASE WITH GIVEN LINE NUMBER
                    var lineNumber = lineInfo.Key;
                    var lineText   = lineInfo.Value;
                    if (string.IsNullOrEmpty(lineText) || lineNumber < 0)
                    {
                        continue;
                    }

                    PhraseEdit phraseEdit = DataPortal.CreateChild <PhraseEdit>();
                    phraseEdit.Language = language;
                    phraseEdit.Text     = lineText;

                    LineEdit lineEdit = DataPortal.CreateChild <LineEdit>();
                    lineEdit.Phrase     = phraseEdit;
                    lineEdit.LineNumber = lineNumber;

                    Add(lineEdit);
                }
            }
        }
Ejemplo n.º 2
0
        public static async Task <LineList> NewLineListAsync(Criteria.LineInfosCriteria lineInfos)
        {
            var result = await DataPortal.CreateAsync <LineList>(lineInfos);

            return(result);
        }