private void CreateAndStoreProductPriceWithSameDateAndSameSource(Guid productId) { using (var storeSession = documentStore.OpenSession()) { var moody = "Moody"; var pricingDate = new DateTime(2011, 4, 1, 8, 0, 0); var productPriceDocument = new PriceDocument { AskPrice = 1m, BidPrice = 1m, Id = productId + "/1", PricingDate = pricingDate, PriceId = productId, Source = moody, Version = 1 }; var productPriceDocument1 = new PriceDocument { AskPrice = 1m, BidPrice = 1m, Id = productId + "/2", PricingDate = new DateTime(2011, 4, 1, 9, 0, 0), PriceId = productId, Source = moody, Version = 2 }; storeSession.Store(productPriceDocument); storeSession.Store(productPriceDocument1); storeSession.SaveChanges(); } }
private void CreateAndStorePriceWithWithDatesAndSources(Guid productId) { using (var storeSession = documentStore.OpenSession()) { var sourceBla = "Bla"; var sourceFoo = "Foo"; var pricingDate = new DateTime(2011, 9, 1, 8, 0, 0); var productPriceDocument1 = new PriceDocument { AskPrice = 1m, BidPrice = 1m, Id = productId + "/1", PricingDate = pricingDate, PriceId = productId, Source = sourceBla, Version = 1 }; var productPriceDocument2 = new PriceDocument { AskPrice = 1m, BidPrice = 1m, Id = productId + "/2", PricingDate = pricingDate.AddHours(1), PriceId = productId, Source = sourceBla, Version = 2 }; storeSession.Store(productPriceDocument1); storeSession.Store(productPriceDocument2); var productPriceDocument3 = new PriceDocument { AskPrice = 1m, BidPrice = 1m, Id = productId + "/3", PricingDate = pricingDate, PriceId = productId, Source = sourceFoo, Version = 3 }; var productPriceDocument4 = new PriceDocument { AskPrice = 1m, BidPrice = 1m, Id = productId + "/4", PricingDate = pricingDate.AddDays(1), PriceId = productId, Source = sourceFoo, Version = 4 }; storeSession.Store(productPriceDocument3); storeSession.Store(productPriceDocument4); storeSession.SaveChanges(); } }
private PriceDocument GetDocument(DataSets.Product.ProductsRow productRow, Token lastToken, NorthwindConfig config) { #region Declarations PriceDocument priceDoc; string identity; #endregion identity = productRow.ProductID.ToString(); // create Account Doc priceDoc = new PriceDocument(); priceDoc.Id = identity; if (lastToken.InitRequest) { priceDoc.LogState = LogState.Created; } else if (productRow.IsCreateIDNull() || productRow.IsModifyIDNull() || productRow.IsCreateUserNull() || productRow.IsModifyUserNull()) { priceDoc.LogState = LogState.Created; } else if ((productRow.CreateID > lastToken.SequenceNumber) && (productRow.CreateUser != config.CrmUser)) { priceDoc.LogState = LogState.Created; } else if ((productRow.CreateID == lastToken.SequenceNumber) && (productRow.CreateUser != config.CrmUser) && (identity.CompareTo(lastToken.Id.Id) > 0)) { priceDoc.LogState = LogState.Created; } else if ((productRow.ModifyID >= lastToken.SequenceNumber) && (productRow.ModifyUser != config.CrmUser)) { priceDoc.LogState = LogState.Updated; } priceDoc.active.Value = true; priceDoc.price_cid.Value = config.CurrencyCode; priceDoc.pricinglistid.Value = Constants.DefaultValues.PriceList.ID; priceDoc.productid.Value = identity; priceDoc.uomid.Value = identity; priceDoc.price.Value = productRow.IsUnitPriceNull() ? new Decimal(0) : productRow.UnitPrice; return(priceDoc); }
/* Update */ public override void Update(Document doc, NorthwindConfig config, ref List <TransactionResult> result) { List <TransactionResult> transactionResult = new List <TransactionResult>(); PriceDocument priceDoc = doc as PriceDocument; #region check input values if (priceDoc == null) { result.Add(doc.SetTransactionStatus(TransactionStatus.UnRecoverableError, Resources.ErrorMessages_DocumentTypeNotSupported)); return; } // check id #endregion DataSets.ProductTableAdapters.ProductsTableAdapter tableAdapter; DataSets.Product productDataset = new DataSets.Product(); DataSets.Product.ProductsRow row; tableAdapter = new DataSets.ProductTableAdapters.ProductsTableAdapter(); using (OleDbConnection connection = new OleDbConnection(config.ConnectionString)) { connection.Open(); tableAdapter.Connection = connection; int recordCount = tableAdapter.FillBy(productDataset.Products, Convert.ToInt32(priceDoc.Id)); if (recordCount == 0) { doc.SetTransactionStatus(TransactionStatus.UnRecoverableError, "Product does not exists"); return; } row = (DataSets.Product.ProductsRow)productDataset.Products.Rows[0]; try { // active??? // price_cid??? // pricinglistid ??? // productid ??? // uomid ??? if (priceDoc.price.IsNull) { row.SetUnitPriceNull(); } else { row.UnitPrice = (decimal)priceDoc.price.Value; } // ModifyID row.ModifyID = config.SequenceNumber; row.ModifyUser = config.CrmUser; } catch (Exception e) { priceDoc.Id = ""; #warning Check error message result.Add(priceDoc.SetTransactionStatus(TransactionStatus.UnRecoverableError, e.ToString())); return; } tableAdapter = new DataSets.ProductTableAdapters.ProductsTableAdapter(); tableAdapter.Connection = connection; tableAdapter.Update(productDataset.Products); result.Add(doc.SetTransactionStatus(TransactionStatus.Success)); } }
/* Add */ public override void Add(Document doc, NorthwindConfig config, ref List <TransactionResult> result) { List <TransactionResult> transactionResult = new List <TransactionResult>(); PriceDocument priceDoc = doc as PriceDocument; #region check input values if (priceDoc == null) { result.Add(doc.SetTransactionStatus(TransactionStatus.UnRecoverableError, Resources.ErrorMessages_DocumentTypeNotSupported)); return; } #endregion DataSets.ProductTableAdapters.ProductsTableAdapter tableAdapter; DataSets.Product productDataset = new DataSets.Product(); DataSets.Product.ProductsRow row = productDataset.Products.NewProductsRow(); #region fill dataset from document try { // active??? // price_cid??? // pricinglistid ??? // productid ??? // uomid ??? if (priceDoc.price.IsNull) { row.SetUnitPriceNull(); } else { row.UnitPrice = (decimal)priceDoc.price.Value; } /* CreateID and ModifyID */ row.CreateID = config.SequenceNumber; row.CreateUser = config.CrmUser; row.ModifyID = config.SequenceNumber; row.ModifyUser = config.CrmUser; } catch (Exception e) { priceDoc.Id = ""; #warning Check error message result.Add(priceDoc.SetTransactionStatus(TransactionStatus.UnRecoverableError, e.ToString())); return; } #endregion using (OleDbConnection connection = new OleDbConnection(config.ConnectionString)) { connection.Open(); tableAdapter = new DataSets.ProductTableAdapters.ProductsTableAdapter(); tableAdapter.Connection = connection; productDataset.Products.AddProductsRow(row); tableAdapter.Update(productDataset.Products); OleDbCommand Cmd = new OleDbCommand("SELECT @@IDENTITY", connection); object lastid = Cmd.ExecuteScalar(); priceDoc.Id = ((int)lastid).ToString(); } result.Add(doc.SetTransactionStatus(TransactionStatus.Success)); }