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); } } }
public static async Task <LineList> NewLineListAsync(Criteria.LineInfosCriteria lineInfos) { var result = await DataPortal.CreateAsync <LineList>(lineInfos); return(result); }