Exemplo n.º 1
0
        private void SaveAsDataPhrases(ExcelImportEventArgs arg)
        {
            ExcelSheet excelSheet = arg.Result;
            // Extract data from imported Excel sheet
            List <DataPhraseDto> dataPhrases = new List <DataPhraseDto>();

            for (int index = excelSheet.DataStartRowIndex; index < excelSheet.Rows.Count; index++)
            {
                ExcelSheetRow excelRow   = excelSheet.Rows[index];
                DataPhraseDto dataPhrase = new DataPhraseDto();
                dataPhrases.Add(dataPhrase);
                dataPhrase.PhraseKey   = excelRow.GetValue(Col_Key);
                dataPhrase.PhraseValue = excelRow.GetValue(Col_Value);
            }

            // Save batch
            using (IUnitOfWork uow = UnitOfWorkFactory.Instance.Start(DataStoreResolver.CRMDataStoreKey))
            {
                LanguageFacade facade = new LanguageFacade(uow);
                IFacadeUpdateResult <DataPhraseData> result = facade.SaveDataPhrases(SelectedLanguageId, dataPhrases);
                if (result.IsSuccessful)
                {
                    arg.IsSuccessful = true;
                    arg.Message      = string.Format("Batch save done. \\nTotal {0} rows.", dataPhrases.Count);
                }
                else
                {
                    arg.IsSuccessful = false;
                    // Deal with Update result
                    ProcUpdateResult(result.ValidationResult, result.Exception);
                }
            }
        }
Exemplo n.º 2
0
        public IFacadeUpdateResult <DataPhraseData> SaveDataPhrase(DataPhraseDto dto)
        {
            UnitOfWork.BeginTransaction();
            IFacadeUpdateResult <DataPhraseData> result = DataPhraseSystem.SaveDataPhrase(dto);

            if (result.IsSuccessful)
            {
                UnitOfWork.CommitTransaction();
            }
            else
            {
                UnitOfWork.RollbackTransaction();
            }
            return(result);
        }
Exemplo n.º 3
0
        internal IFacadeUpdateResult <DataPhraseData> SaveDataPhrase(DataPhraseDto dto)
        {
            ArgumentValidator.IsNotNull("dto", dto);

            FacadeUpdateResult <DataPhraseData> result = new FacadeUpdateResult <DataPhraseData>();
            IDataPhraseService service  = UnitOfWork.GetService <IDataPhraseService>();
            DataPhrase         instance = RetrieveOrNew <DataPhraseData, DataPhrase, IDataPhraseService>(result.ValidationResult, dto.Id);

            if (result.IsSuccessful)
            {
                instance.LanguageId  = dto.LanguageId;
                instance.PhraseKey   = dto.PhraseKey;
                instance.PhraseValue = dto.PhraseValue;

                var saveQuery = service.Save(instance);

                result.AttachResult(instance.RetrieveData <DataPhraseData>());
                result.Merge(saveQuery);
            }

            return(result);
        }