private DbDeleteStatement GetQuery_DeleteQuery(ItemSaleLine _obj) { DbDeleteStatement clause = DbMgr.CreateDeleteClause(); clause.DeleteFrom("ItemSaleLines").Criteria.IsEqual("ItemSaleLines", "ItemSaleLineID", _obj.ItemSaleLineID); return(clause); }
protected override OpResult _Store(ItemSaleLine _obj) { if (_obj == null) { return(OpResult.NotifyStoreAction(OpResult.ResultStatus.ObjectIsNull, _obj, "ItemSaleLine object cannot be created as it is null")); } bool is_creating = !Exists(_obj); DbInsertStatement clause = GetInsertStatement(_obj); DbCommand cmdSQLInsert = CreateDbCommand(clause); DbTransaction myTrans = DbMgr.DbConnection.BeginTransaction(); try { cmdSQLInsert.CommandText = clause.ToString(); cmdSQLInsert.Transaction = myTrans; cmdSQLInsert.ExecuteNonQuery(); myTrans.Commit(); } catch (OdbcException ex) { myTrans.Rollback(); Log(ex.Message); Console.WriteLine(ex.ToString()); if (is_creating) { return(OpResult.NotifyStoreAction(OpResult.ResultStatus.CreatedWithException, _obj, ex.ToString())); } return(OpResult.NotifyStoreAction(OpResult.ResultStatus.UpdatedWithException, _obj, ex.ToString())); } catch (Exception ex) { Log(ex.Message); Console.WriteLine(ex.ToString()); if (is_creating) { return(OpResult.NotifyStoreAction(OpResult.ResultStatus.CreatedWithException, _obj, ex.ToString())); } return(OpResult.NotifyStoreAction(OpResult.ResultStatus.UpdatedWithException, _obj, ex.ToString())); } _obj.FromDb = true; if (is_creating) { return(OpResult.NotifyStoreAction(OpResult.ResultStatus.Created, _obj)); } return(OpResult.NotifyStoreAction(OpResult.ResultStatus.Updated, _obj)); }
protected override OpResult _Delete(ItemSaleLine _obj) { if (_obj == null) { return(OpResult.NotifyDeleteAction(OpResult.ResultStatus.ObjectIsNull, _obj, "ItemSaleLine object cannot be deleted as it is null")); } if (Exists(_obj)) { ExecuteNonQuery(GetQuery_DeleteQuery(_obj)); return(OpResult.NotifyDeleteAction(OpResult.ResultStatus.ExistsAndDeleted, _obj)); } return(OpResult.NotifyDeleteAction(OpResult.ResultStatus.NotExists, _obj, "ItemSaleLine object cannot be deleted as it does not exist")); }
public BOItemSaleLine(Accountant accountant, Sale _sale, ItemSaleLine _line, BOContext context) : base(accountant, _sale, _line, context) { mObjectID = BOType.BOItemSaleLine; mDataProxy = _line.Clone() as ItemSaleLine; mDataProxy.Sale = _sale; if (mDataProxy.Sale.IsTaxInclusive == "Y") { mPrice = mDataProxy.TaxInclusiveUnitPrice; } else { mPrice = mDataProxy.TaxExclusiveUnitPrice; } }
private void StoreLines(Sale _obj) { IList <SaleLine> lines = _obj.SaleLines; foreach (SaleLine line in lines) { RepositoryMgr.SaleLineMgr.Store(line); int?purchase_id = line.SaleID; int?purchase_line_id = line.SaleLineID; if (line is ItemSaleLine) { ItemSaleLine _line = line as ItemSaleLine; _line.SaleID = purchase_id; _line.ItemSaleLineID = purchase_line_id; RepositoryMgr.ItemSaleLineMgr.Store(_line); } else if (line is MiscSaleLine) { MiscSaleLine _line = line as MiscSaleLine; _line.SaleID = purchase_id; _line.MiscSaleLineID = purchase_line_id; RepositoryMgr.MiscSaleLineMgr.Store(_line); } else if (line is ProfessionalSaleLine) { ProfessionalSaleLine _line = line as ProfessionalSaleLine; _line.SaleID = purchase_id; _line.ProfessionalSaleLineID = purchase_line_id; RepositoryMgr.ProfessionalSaleLineMgr.Store(_line); } else if (line is ServiceSaleLine) { ServiceSaleLine _line = line as ServiceSaleLine; _line.SaleID = purchase_id; _line.ServiceSaleLineID = purchase_line_id; RepositoryMgr.ServiceSaleLineMgr.Store(_line); } else if (line is TimeBillingSaleLine) { TimeBillingSaleLine _line = line as TimeBillingSaleLine; _line.SaleID = purchase_id; _line.TimeBillingSaleLineID = purchase_line_id; RepositoryMgr.TimeBillingSaleLineMgr.Store(_line); } } }
protected override OpResult _Store(ItemSaleLine _obj) { if (_obj == null) { return(OpResult.NotifyStoreAction(OpResult.ResultStatus.ObjectIsNull, _obj, "ItemSaleLine object cannot be created as it is null")); } if (Exists(_obj)) { ExecuteNonQuery(GetQuery_UpdateQuery(_obj)); return(OpResult.NotifyStoreAction(OpResult.ResultStatus.Updated, _obj)); } ExecuteNonQuery(GetQuery_InsertQuery(_obj)); if (_obj.ItemSaleLineID == null) { _obj.ItemSaleLineID = DbMgr.GetLastInsertID(); } _obj.FromDb = true; return(OpResult.NotifyStoreAction(OpResult.ResultStatus.Created, _obj)); }
private Dictionary <string, DbFieldEntry> GetQueryMap_StoreItemSaleLines(Sale _sale, ItemSaleLine _line) { bool is_header = (_line == null); Dictionary <string, DbFieldEntry> query_map = new Dictionary <string, DbFieldEntry>(); bool multi_currency_support = _sale.RepositoryMgr.CurrencyMgr.SupportMultiCurrency; #region Populate Sale Information query_map.Add("FirstName", DbMgr.CreateStringFieldEntry(is_header && _sale.Customer != null ? _sale.Customer.FirstName : "")); query_map.Add("CoLastName", DbMgr.CreateStringFieldEntry(is_header && _sale.Customer != null ? _sale.Customer.LastName : "")); query_map.Add("CardID", DbMgr.CreateStringFieldEntry(is_header && _sale.Customer != null ? _sale.Customer.CardIdentification : "")); query_map.Add("AddressLine1", DbMgr.CreateStringFieldEntry(is_header ? _sale.ShipToAddressLine1 : "")); query_map.Add("AddressLine2", DbMgr.CreateStringFieldEntry(is_header ? _sale.ShipToAddressLine2 : "")); query_map.Add("AddressLine3", DbMgr.CreateStringFieldEntry(is_header ? _sale.ShipToAddressLine3 : "")); query_map.Add("AddressLine4", DbMgr.CreateStringFieldEntry(is_header ? _sale.ShipToAddressLine4 : "")); query_map.Add("InvoiceNumber", DbMgr.CreateStringFieldEntry(is_header ? _sale.InvoiceNumber : "")); query_map.Add("Memo", DbMgr.CreateStringFieldEntry(is_header ? _sale.Memo : "")); query_map.Add("Inclusive", DbMgr.CreateStringFieldEntry(is_header && _sale.IsTaxInclusive == "Y" ? "1" : "")); query_map.Add("SaleDate", _sale.InvoiceDate != null && is_header ? (DbFieldEntry)DbMgr.CreateDateTimeFieldEntry(_sale.InvoiceDate) : (DbFieldEntry)DbMgr.CreateStringFieldEntry("")); query_map.Add("ShipVia", DbMgr.CreateStringFieldEntry(is_header && _sale.ShippingMethod != null ? _sale.ShippingMethod.Method : "")); query_map.Add("DeliveryStatus", DbMgr.CreateStringFieldEntry(is_header & _sale.InvoiceDelivery != null ? _sale.InvoiceDelivery.InvoiceDeliveryID : "")); query_map.Add("Comment", DbMgr.CreateStringFieldEntry(is_header && _sale.Comment != null ? _sale.Comment : "")); query_map.Add("SalespersonLastName", DbMgr.CreateStringFieldEntry(is_header && _sale.SalesPerson != null ? _sale.SalesPerson.LastName : "")); query_map.Add("SalespersonFirstName", DbMgr.CreateStringFieldEntry(is_header && _sale.SalesPerson != null ? _sale.SalesPerson.FirstName : "")); query_map.Add("ShippingDate", is_header && _sale.PromisedDate != null ? (DbFieldEntry)DbMgr.CreateDateTimeFieldEntry(_sale.PromisedDate) : (DbFieldEntry)DbMgr.CreateStringFieldEntry("")); query_map.Add("FreightExTaxAmount", DbMgr.CreateDoubleFieldEntry(is_header ? _sale.TaxExclusiveFreight : 0)); query_map.Add("FreightIncTaxAmount", DbMgr.CreateDoubleFieldEntry(is_header ? _sale.TaxInclusiveFreight : 0)); query_map.Add("FreightTaxCode", DbMgr.CreateStringFieldEntry(is_header && _sale.FreightTaxCode != null ? _sale.FreightTaxCode.Code : "")); string sale_status_text = ""; Status sale_status = _sale.InvoiceStatus; if (is_header && sale_status != null) { if (sale_status.Type == Status.StatusType.Quote) { sale_status_text = "Q"; } else if (sale_status.Type == Status.StatusType.Order) { sale_status_text = "O"; } else if (sale_status.Type == Status.StatusType.Open) { sale_status_text = "I"; } } query_map.Add("SaleStatus", DbMgr.CreateStringFieldEntry(sale_status_text)); if (_sale.InvoiceStatus.Type == Accounting.Core.Definitions.Status.StatusType.Order || _sale.InvoiceStatus.Type == Accounting.Core.Definitions.Status.StatusType.Open ) { //sqlArray.Add("AmountPaid", DbMgr.CreateDoubleFieldEntry(_obj.AmountPaid)); } if (multi_currency_support) { query_map.Add("CurrencyCode", DbMgr.CreateStringFieldEntry(is_header && RepositoryMgr.IsMultiUserVersion && _sale.Currency != null ? _sale.Currency.CurrencyCode : "")); query_map.Add("ExchangeRate", DbMgr.CreateDoubleFieldEntry(is_header && RepositoryMgr.IsMultiUserVersion ? _sale.TransactionExchangeRate : 0)); } query_map.Add("PaymentIsDue", DbMgr.CreateIntFieldEntry(is_header && _sale.Terms != null ? _sale.Terms.PaymentIsDue : 0)); query_map.Add("DiscountDays", DbMgr.CreateIntFieldEntry(is_header && _sale.Terms != null ? _sale.Terms.DiscountDays : 0)); query_map.Add("BalanceDueDays", DbMgr.CreateIntFieldEntry(is_header && _sale.Terms != null ? _sale.Terms.BalanceDueDays : 0)); query_map.Add("PercentDiscount", DbMgr.CreateDoubleFieldEntry(is_header && _sale.Terms != null ? _sale.Terms.EarlyPaymentDiscountPercent : 0)); query_map.Add("PercentMonthlyCharge", DbMgr.CreateDoubleFieldEntry(is_header && _sale.Terms != null ? _sale.Terms.LatePaymentChargePercent : 0)); query_map.Add("ReferralSource", DbMgr.CreateStringFieldEntry(is_header && _sale.ReferralSource != null ? _sale.ReferralSource.Description : "")); #endregion #region Populate Line Information query_map.Add("ItemNumber", DbMgr.CreateStringFieldEntry(!is_header && _line.Item != null ? _line.Item.ItemNumber : "")); query_map.Add("Quantity", DbMgr.CreateDoubleFieldEntry(!is_header ? _line.Quantity : 0)); query_map.Add("Description", DbMgr.CreateStringFieldEntry(!is_header ? _line.Description : "")); query_map.Add("ExTaxPrice", DbMgr.CreateDoubleFieldEntry(!is_header ? _line.TaxExclusiveUnitPrice : 0)); query_map.Add("IncTaxPrice", DbMgr.CreateDoubleFieldEntry(!is_header ? _line.TaxInclusiveUnitPrice : 0)); query_map.Add("Discount", DbMgr.CreateDoubleFieldEntry(!is_header ? _line.Discount : 0)); query_map.Add("ExTaxTotal", DbMgr.CreateDoubleFieldEntry(!is_header ? _line.TaxExclusiveTotal : 0)); query_map.Add("IncTaxTotal", DbMgr.CreateDoubleFieldEntry(!is_header ? _line.TaxInclusiveTotal : 0)); query_map.Add("Job", DbMgr.CreateStringFieldEntry(!is_header && _line.Job != null ? _line.Job.JobName : "")); query_map.Add("TaxCode", DbMgr.CreateStringFieldEntry(!is_header && _line.TaxCode != null ? _line.TaxCode.Code : "")); #endregion return(query_map); }
private DbInsertStatement GetInsertStatement(ItemSaleLine _obj) { Sale _sale = _obj.Sale; DbInsertStatement clause = DbMgr.CreateInsertClause(); if (_sale.Customer != null) { clause.InsertColumn("FirstName", DbMgr.CreateStringFieldEntry(_sale.Customer.FirstName)); clause.InsertColumn("CoLastName", DbMgr.CreateStringFieldEntry(_sale.Customer.LastName)); clause.InsertColumn("CardID", DbMgr.CreateStringFieldEntry(_sale.Customer.CardIdentification)); } clause.InsertColumn("AddressLine1", DbMgr.CreateStringFieldEntry(_sale.ShipToAddressLine1)); clause.InsertColumn("AddressLine2", DbMgr.CreateStringFieldEntry(_sale.ShipToAddressLine2)); clause.InsertColumn("AddressLine3", DbMgr.CreateStringFieldEntry(_sale.ShipToAddressLine3)); clause.InsertColumn("AddressLine4", DbMgr.CreateStringFieldEntry(_sale.ShipToAddressLine4)); if (_sale.IsTaxInclusive == "Y") { clause.InsertColumn("Inclusive", DbMgr.CreateIntFieldEntry(1)); } clause.InsertColumn("InvoiceNumber", DbMgr.CreateStringFieldEntry(_sale.InvoiceNumber)); if (_sale.InvoiceDate != null) { clause.InsertColumn("SaleDate", DbMgr.CreateDateTimeFieldEntry(_sale.InvoiceDate)); } if (_sale.ShippingMethod != null) { clause.InsertColumn("ShipVia", DbMgr.CreateStringFieldEntry(_sale.ShippingMethod.Method)); } if (_obj.Item != null) { clause.InsertColumn("ItemNumber", DbMgr.CreateStringFieldEntry(_obj.Item.ItemNumber)); } if (_sale.InvoiceDelivery != null) { clause.InsertColumn("DeliveryStatus", DbMgr.CreateStringFieldEntry(_sale.InvoiceDelivery.InvoiceDeliveryID)); } clause.InsertColumn("Quantity", DbMgr.CreateDoubleFieldEntry(_obj.Quantity)); clause.InsertColumn("Description", DbMgr.CreateStringFieldEntry(_obj.Description)); clause.InsertColumn("ExTaxPrice", DbMgr.CreateDoubleFieldEntry(_obj.TaxExclusiveUnitPrice)); clause.InsertColumn("IncTaxPrice", DbMgr.CreateDoubleFieldEntry(_obj.TaxInclusiveUnitPrice)); clause.InsertColumn("Discount", DbMgr.CreateDoubleFieldEntry(_obj.Discount)); clause.InsertColumn("ExTaxTotal", DbMgr.CreateDoubleFieldEntry(_obj.TaxExclusiveTotal)); clause.InsertColumn("IncTaxTotal", DbMgr.CreateDoubleFieldEntry(_obj.TaxInclusiveTotal)); if (_obj.Job != null) { clause.InsertColumn("Job", DbMgr.CreateStringFieldEntry(_obj.Job.JobName)); } if (_sale.Comment != null) { clause.InsertColumn("Comment", DbMgr.CreateStringFieldEntry(_sale.Comment)); } clause.InsertColumn("Memo", DbMgr.CreateStringFieldEntry(_sale.Memo)); if (_sale.SalesPerson != null) { clause.InsertColumn("SalespersonLastName", DbMgr.CreateStringFieldEntry(_sale.SalesPerson.LastName)); clause.InsertColumn("SalespersonFirstName", DbMgr.CreateStringFieldEntry(_sale.SalesPerson.FirstName)); } if (_sale.PromisedDate != null) { clause.InsertColumn("ShippingDate", DbMgr.CreateDateTimeFieldEntry(_sale.PromisedDate)); } if (_obj.TaxCode != null) { clause.InsertColumn("TaxCode", DbMgr.CreateStringFieldEntry(_obj.TaxCode.Code)); } clause.InsertColumn("FreightExTaxAmount", DbMgr.CreateDoubleFieldEntry(_sale.TaxExclusiveFreight)); clause.InsertColumn("FreightIncTaxAmount", DbMgr.CreateDoubleFieldEntry(_sale.TaxInclusiveFreight)); if (_sale.FreightTaxCode != null) { clause.InsertColumn("FreightTaxCode", DbMgr.CreateStringFieldEntry(_sale.FreightTaxCode.Code)); } if (_sale.InvoiceStatus != null) { clause.InsertColumn("SaleStatus", DbMgr.CreateStringFieldEntry(_sale.InvoiceStatus.StatusID)); if (_sale.InvoiceStatus.Type == Accounting.Core.Definitions.Status.StatusType.Order || _sale.InvoiceStatus.Type == Accounting.Core.Definitions.Status.StatusType.Open ) { //clause.InsertColumn("AmountPaid", DbMgr.CreateDoubleFieldEntry(_obj.AmountPaid)); } } if (RepositoryMgr.IsMultiUserVersion) { if (_sale.Currency != null) { clause.InsertColumn("CurrencyCode", DbMgr.CreateStringFieldEntry(_sale.Currency.CurrencyCode)); } clause.InsertColumn("ExchangeRate", DbMgr.CreateDoubleFieldEntry(_sale.TransactionExchangeRate)); } if (_sale.Terms != null) { clause.InsertColumn("PaymentIsDue", DbMgr.CreateIntFieldEntry(_sale.Terms.PaymentIsDue)); clause.InsertColumn("DiscountDays", DbMgr.CreateIntFieldEntry(_sale.Terms.DiscountDays)); clause.InsertColumn("BalanceDueDays", DbMgr.CreateIntFieldEntry(_sale.Terms.BalanceDueDays)); clause.InsertColumn("PercentDiscount", DbMgr.CreateDoubleFieldEntry(_sale.Terms.EarlyPaymentDiscountPercent)); clause.InsertColumn("PercentMonthlyCharge", DbMgr.CreateDoubleFieldEntry(_sale.Terms.LatePaymentChargePercent)); } if (_sale.ReferralSource != null) { clause.InsertColumn("ReferralSource", DbMgr.CreateStringFieldEntry(_sale.ReferralSource.Description)); } clause.Into("Import_Item_Sales"); return(clause); }
private DbUpdateStatement GetQuery_UpdateQuery(ItemSaleLine _obj) { return(DbMgr.CreateUpdateClause("ItemSaleLines", GetFields(_obj), "ItemSaleLineID", _obj.ItemSaleLineID)); }
private DbInsertStatement GetQuery_InsertQuery(ItemSaleLine _obj) { Dictionary <string, DbFieldEntry> fields = GetFields(_obj); return(DbMgr.CreateInsertClause("ItemSaleLines", fields)); }