public override void Update(Document doc, NorthwindConfig config, ref List<TransactionResult> result) { List<TransactionResult> transactionResult = new List<TransactionResult>(); ProductFamilyDocument productFamilyDoc = doc as ProductFamilyDocument; #region check input values if (productFamilyDoc == null) { result.Add(doc.SetTransactionStatus(TransactionStatus.UnRecoverableError, Resources.ErrorMessages_DocumentTypeNotSupported)); return; } // check id #endregion DataSets.CategoryTableAdapters.CategoriesTableAdapter tableAdapter; DataSets.Category category = new DataSets.Category(); DataSets.Category.CategoriesRow row; tableAdapter = new DataSets.CategoryTableAdapters.CategoriesTableAdapter(); using (OleDbConnection connection = new OleDbConnection(config.ConnectionString)) { connection.Open(); tableAdapter.Connection = connection; int recordCount = tableAdapter.FillBy(category.Categories, Convert.ToInt32(productFamilyDoc.Id)); if (recordCount == 0) { doc.SetTransactionStatus(TransactionStatus.UnRecoverableError, "Category does not exists"); return; } row = (Category.CategoriesRow)category.Categories.Rows[0]; try { if(!productFamilyDoc.name.NotSet) if (productFamilyDoc.name.IsNull) row.SetCategoryNameNull(); else row.CategoryName = (string)productFamilyDoc.name.Value; if(!productFamilyDoc.description.NotSet) if (productFamilyDoc.description.IsNull) row.SetDescriptionNull(); else row.Description = (string)productFamilyDoc.description.Value; row.ModifyID = config.SequenceNumber; row.ModifyUser = config.CrmUser; } catch (Exception e) { productFamilyDoc.Id = ""; #warning Check error message result.Add(productFamilyDoc.SetTransactionStatus(TransactionStatus.UnRecoverableError, e.ToString())); return; } tableAdapter = new DataSets.CategoryTableAdapters.CategoriesTableAdapter(); tableAdapter.Connection = connection; tableAdapter.Update(category.Categories); result.Add(doc.SetTransactionStatus(TransactionStatus.Success)); } }
public override void Update(Document doc, NorthwindConfig config, ref List <TransactionResult> result) { List <TransactionResult> transactionResult = new List <TransactionResult>(); ProductFamilyDocument productFamilyDoc = doc as ProductFamilyDocument; #region check input values if (productFamilyDoc == null) { result.Add(doc.SetTransactionStatus(TransactionStatus.UnRecoverableError, Resources.ErrorMessages_DocumentTypeNotSupported)); return; } // check id #endregion DataSets.CategoryTableAdapters.CategoriesTableAdapter tableAdapter; DataSets.Category category = new DataSets.Category(); DataSets.Category.CategoriesRow row; tableAdapter = new DataSets.CategoryTableAdapters.CategoriesTableAdapter(); using (OleDbConnection connection = new OleDbConnection(config.ConnectionString)) { connection.Open(); tableAdapter.Connection = connection; int recordCount = tableAdapter.FillBy(category.Categories, Convert.ToInt32(productFamilyDoc.Id)); if (recordCount == 0) { doc.SetTransactionStatus(TransactionStatus.UnRecoverableError, "Category does not exists"); return; } row = (Category.CategoriesRow)category.Categories.Rows[0]; try { if (!productFamilyDoc.name.NotSet) { if (productFamilyDoc.name.IsNull) { row.SetCategoryNameNull(); } else { row.CategoryName = (string)productFamilyDoc.name.Value; } } if (!productFamilyDoc.description.NotSet) { if (productFamilyDoc.description.IsNull) { row.SetDescriptionNull(); } else { row.Description = (string)productFamilyDoc.description.Value; } } row.ModifyID = config.SequenceNumber; row.ModifyUser = config.CrmUser; } catch (Exception e) { productFamilyDoc.Id = ""; #warning Check error message result.Add(productFamilyDoc.SetTransactionStatus(TransactionStatus.UnRecoverableError, e.ToString())); return; } tableAdapter = new DataSets.CategoryTableAdapters.CategoriesTableAdapter(); tableAdapter.Connection = connection; tableAdapter.Update(category.Categories); result.Add(doc.SetTransactionStatus(TransactionStatus.Success)); } }
public override Document GetDocument(Identity identity, Token lastToken, NorthwindConfig config) { int recordCount; Category category = new Category(); int id = Identity.GetId(identity); using (OleDbConnection connection = new OleDbConnection(config.ConnectionString)) { CategoriesTableAdapter tableAdapter; tableAdapter = new CategoriesTableAdapter(); tableAdapter.Connection = connection; recordCount = tableAdapter.FillBy(category.Categories, id); } if (recordCount == 0) return GetDeletedDocument(identity); return GetDocument((Category.CategoriesRow)category.Categories[0], lastToken, config); }