private void Child_Update() { if (!IsDirty) { return; } var dto = new InvoiceLineItemDto(); dto.InvoiceLineId = InvoiceLineId; dto.ProductId = ProductId; dto.Cost = Cost; dto.PercentDiscount = PercentDiscount; using (var dalManager = DalFactoryInvoices.GetManager()) { var args = new DataPortalHookArgs(dto); OnUpdatePre(args); var dal = dalManager.GetProvider <IInvoiceLineItemDal>(); using (BypassPropertyChecks) { var resultDto = dal.Update(dto); args = new DataPortalHookArgs(resultDto); } OnUpdatePost(args); } }
private InvoiceLineItemDto FetchInvoiceLineItem(SafeDataReader dr) { var invoiceLineItem = new InvoiceLineItemDto(); // Value properties invoiceLineItem.InvoiceLineId = dr.GetGuid("InvoiceLineId"); invoiceLineItem.ProductId = dr.GetGuid("ProductId"); invoiceLineItem.Cost = dr.GetDecimal("Cost"); invoiceLineItem.PercentDiscount = dr.GetByte("PercentDiscount"); return(invoiceLineItem); }
/// <summary> /// Loads a <see cref="InvoiceLineItem"/> object from the given <see cref="InvoiceLineItemDto"/>. /// </summary> /// <param name="data">The InvoiceLineItemDto to use.</param> private void Child_Fetch(InvoiceLineItemDto data) { // Value properties LoadProperty(InvoiceLineIdProperty, data.InvoiceLineId); LoadProperty(ProductIdProperty, data.ProductId); LoadProperty(CostProperty, data.Cost); LoadProperty(PercentDiscountProperty, data.PercentDiscount); var args = new DataPortalHookArgs(data); OnFetchRead(args); // check all object rules and property rules BusinessRules.CheckRules(); }
/// <summary> /// Inserts a new InvoiceLineItem object in the database. /// </summary> /// <param name="invoiceLineItem">The Invoice Line Item DTO.</param> /// <returns>The new <see cref="InvoiceLineItemDto"/>.</returns> public InvoiceLineItemDto Insert(InvoiceLineItemDto invoiceLineItem) { using (var ctx = ConnectionManager <NpgsqlConnection> .GetManager("Invoices")) { using (var cmd = new NpgsqlCommand("dbo.AddInvoiceLineItem", ctx.Connection)) { cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@InvoiceId", invoiceLineItem.Parent_InvoiceId).DbType = DbType.Guid; cmd.Parameters.AddWithValue("@InvoiceLineId", invoiceLineItem.InvoiceLineId).DbType = DbType.Guid; cmd.Parameters.AddWithValue("@ProductId", invoiceLineItem.ProductId).DbType = DbType.Guid; cmd.Parameters.AddWithValue("@Cost", invoiceLineItem.Cost).DbType = DbType.Decimal; cmd.Parameters.AddWithValue("@PercentDiscount", invoiceLineItem.PercentDiscount).DbType = DbType.Byte; cmd.ExecuteNonQuery(); } } return(invoiceLineItem); }
/// <summary> /// Updates in the database all changes made to the InvoiceLineItem object. /// </summary> /// <param name="invoiceLineItem">The Invoice Line Item DTO.</param> /// <returns>The updated <see cref="InvoiceLineItemDto"/>.</returns> public InvoiceLineItemDto Update(InvoiceLineItemDto invoiceLineItem) { using (var ctx = ConnectionManager <NpgsqlConnection> .GetManager("Invoices")) { using (var cmd = new NpgsqlCommand("dbo.UpdateInvoiceLineItem", ctx.Connection)) { cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@InvoiceLineId", invoiceLineItem.InvoiceLineId).DbType = DbType.Guid; cmd.Parameters.AddWithValue("@ProductId", invoiceLineItem.ProductId).DbType = DbType.Guid; cmd.Parameters.AddWithValue("@Cost", invoiceLineItem.Cost).DbType = DbType.Decimal; cmd.Parameters.AddWithValue("@PercentDiscount", invoiceLineItem.PercentDiscount).DbType = DbType.Byte; var rowsAffected = cmd.ExecuteNonQuery(); if (rowsAffected == 0) { throw new DataNotFoundException("InvoiceLineItem"); } } } return(invoiceLineItem); }
private void Child_Insert(InvoiceEdit parent) { var dto = new InvoiceLineItemDto(); dto.Parent_InvoiceId = parent.InvoiceId; dto.InvoiceLineId = InvoiceLineId; dto.ProductId = ProductId; dto.Cost = Cost; dto.PercentDiscount = PercentDiscount; using (var dalManager = DalFactoryInvoices.GetManager()) { var args = new DataPortalHookArgs(dto); OnInsertPre(args); var dal = dalManager.GetProvider <IInvoiceLineItemDal>(); using (BypassPropertyChecks) { var resultDto = dal.Insert(dto); args = new DataPortalHookArgs(resultDto); } OnInsertPost(args); } }