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);
            }
        }
Exemplo n.º 2
0
        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();
        }
Exemplo n.º 4
0
 /// <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);
 }
Exemplo n.º 5
0
 /// <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);
            }
        }