public void TurnNormal(string invoiceId) { MethodInfo methodInfo = this.GetType().GetMethod("Get"); Model.Invoice invoice = (Model.Invoice)methodInfo.Invoke(this, new object[] { invoiceId }); if (invoice == null) { throw new ArgumentException(); } if ((Helper.InvoiceStatus)invoice.InvoiceStatus.Value != Helper.InvoiceStatus.Draft) { throw new InvalidOperationException(); } try { V.BeginTransaction(); _TurnNormal(invoice); V.CommitTransaction(); } catch { V.RollbackTransaction(); throw; } }
public async Task PerformPayment(Model.Invoice invoice, int userId) { var paymentInfo = await _paymentServiceAdapter.ProcessPaymentAsync(userId, invoice.InvoiceId.ToString()); invoice.ProcessPayment(paymentInfo); await _invoiceRepository.AddPaymentInfo(invoice); }
public int SaveInvoice(Model.Invoice model) { var db = new LocalDatabase(); Invoice invoice = db.Invoices.SingleOrDefault(p => p.Id == model.Id); if (invoice == null) { invoice = new Invoice(); invoice.RoleTypeId = model is PurchaseInvoice ? db.RoleTypes.Single(rt => rt.Description == "PurchaseInvoice").Id : db.RoleTypes.Single(rt => rt.Description == "SalesInvoice").Id; db.Invoices.Add(invoice); } invoice.PartyId = model.Company.Id; invoice.InvoiceDate = model.Date; db.SaveChanges(); invoice.UpdateItems(model.Items); db.SaveChanges(); return(invoice.Id); }
protected override void _TurnNormal(Model.Invoice invoice) { if (!(invoice is Model.InvoiceZZ)) { throw new ArgumentException(); } _TurnNormal((Model.InvoiceZZ)invoice); }
// POST: api/FinaliseOrder public string Post(HttpRequestMessage value) { try { string message = HttpContext.Current.Server.UrlDecode(value.Content.ReadAsStringAsync().Result).Substring(5); JObject json = JObject.Parse(message); JArray invoices = (JArray)json["invoices"]; int orderID = (int)json["ID"]; int key = db.Invoice_Payment.Count() == 0 ? 1 : (from t in db.Invoice_Payment orderby t.Payment_ID descending select t.Payment_ID).First() + 1; foreach (JObject inv in invoices) { Invoice_Payment ip = new Invoice_Payment(); key++; ip.Payment_ID = key; ip.Payment_Date = (DateTime)inv["Payment_Date"]; ip.Invoice_ID = (int)inv["Invoice_ID"]; ip.Amount_Paid = (decimal)inv["Amount_Paid"]; if (ip.Amount_Paid != 0) { db.Invoice_Payment.Add(ip); } Model.Invoice invoice = new Model.Invoice(); invoice = (from p in db.Invoices where p.Invoice_ID == ip.Invoice_ID select p).First(); if ((decimal)inv["Amount_Paid"] != (decimal)inv["Amount_Due"]) { invoice.Invoice_Status_ID = 2; } else { invoice.Invoice_Status_ID = 3; } } db.SaveChanges(); return("true|Customer Order Payments successfully updated."); } catch (Exception e) { ExceptionLog.LogException(e, "FinaliseOrderController GET"); return("false|An error has occured adding the Customer Order Payments to the system."); } }
private void barButtonItemQuery_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { BaseListForm form = this.GetListForm(); if (form != null) { if (form.ShowDialog(this) == DialogResult.OK) { this.Invoice = form.SelectedItem; this.Refresh(); } } }
public async Task <int> AddPaymentInfo(Model.Invoice invoice) { return(await _context.ExecuteAsync( invoice, "Insert Into PaymentsInfo(Status, CardNumber, CardType, InvoiceId, UserId) Values(@Status, @CardNumber, @CardType, @InvoiceId, @UserId)", new { invoice.PaymentInfo.Status, invoice.PaymentInfo.CardNumber, invoice.PaymentInfo.CardType, invoice.InvoiceId, invoice.PaymentInfo.UserId, })); }
protected virtual void _ValidateForUpdate(Model.Invoice invoice) { a = 1; MethodInfo methodInfo = this.GetType().GetMethod("Get"); Model.Invoice invoiceOriginal = (Model.Invoice)methodInfo.Invoke(this, new object[] { invoice.InvoiceId }); if (invoiceOriginal == null) { throw new ArgumentException(); } //if (invoice.InvoiceStatus != invoiceOriginal.InvoiceStatus) // throw new InvalidOperationException(); // 验证数据必须是完整的 if (invoice.InvoiceId == null) { throw new Helper.RequireValueException("Id"); } ////if (invoice.Employee0 == null) //// throw new Helper.RequireValueException("Employee0"); // 如果是单据是正式的或作废的,那么不能修改关键信息 switch ((Helper.InvoiceStatus)invoice.InvoiceStatus) { case Helper.InvoiceStatus.Draft: if (string.IsNullOrEmpty(invoice.InvoiceId)) { throw new Helper.RequireValueException("Id"); } ////if (invoice.Employee0 == null) //// throw new Helper.RequireValueException("Employee0"); break; case Helper.InvoiceStatus.Normal: break; case Helper.InvoiceStatus.Null: break; default: break; } }
public void InsertUpdate(Model.Invoice invoice) { DA.IInvoiceAccessor accessor = this.GetAccessor(); if (accessor != null) { MethodInfo methodInfo = accessor.GetType().GetMethod("HasRows", new Type[] { typeof(string) }); bool hasRows = (bool)methodInfo.Invoke(accessor, new object[] { invoice.InvoiceId }); if (hasRows && invoice.InsertTime != null) { this.Update(invoice); } else { this.Insert(invoice); } } }
public async Task <int> AddInvoiceAsync(Model.Invoice invoice) { return(await _context.ExecuteAsync( invoice, "Insert Into Invoices(InvoiceId, Fee, Total, PaymentMethodId, Distance, Duration, Created, TripId, TripStatusId) Values(@InvoiceId, @Fee, @Total, @PaymentMethodId, @Distance, @Duration, @Created, @TripId, @TripStatusId)", new { invoice.InvoiceId, invoice.Fee, invoice.Total, PaymentMethodId = invoice.PaymentMethod.Id, invoice.TripInformation.Distance, invoice.TripInformation.Duration, invoice.Created, TripId = invoice.TripInformation.Id, TripStatusId = invoice.TripInformation.Status.Id })); }
protected virtual void _ValidateForInsert(Model.Invoice invoice) { if (a == 1) { if (invoice.InvoiceId == null) { throw new Helper.RequireValueException("Id"); } } else { if (string.IsNullOrEmpty(invoice.InvoiceId)) { throw new Helper.RequireValueException("Id"); } } //if (invoice.Employee0 == null) // throw new Helper.RequireValueException("Employee0"); }
public void TestAddInvoice() { using (MySqlConnection connection = new MySqlConnection(connectionString)) { // Create database if not exists using (Context contextDB = new Context(connection, false)) { var invoice = new Model.Invoice(); var item = new InvoiceItem(); item.Count = 111; item.Product = contextDB.Products.First(); invoice.Items.Add(item); invoice.Customer = contextDB.Customers.First(); invoice.Producer = contextDB.Producers.First(); invoice.Supplier = contextDB.Suppliers.First(); contextDB.Invoices.Add(invoice); contextDB.SaveChanges(); } } }
private void TiGuiExists(Model.Invoice model) { MethodInfo methodinfo = this.GetType().GetMethod("HasRows", new Type[] { typeof(string) }); bool f = (bool)methodinfo.Invoke(this, new object[] { model.InvoiceId }); if (f) { //设置KEY值 string invoiceKind = this.GetInvoiceKind().ToLower(); string sequencekey_y = string.Format("{0}-y-{1}", invoiceKind, model.InsertTime.Value.Year); string sequencekey_m = string.Format("{0}-m-{1}-{2}", invoiceKind, model.InsertTime.Value.Year, model.InsertTime.Value.Month); string sequencekey_d = string.Format("{0}-d-{1}", invoiceKind, model.InsertTime.Value.ToString("yyyy-MM-dd")); string sequencekey = string.Format(invoiceKind); SequenceManager.Increment(sequencekey_y); SequenceManager.Increment(sequencekey_m); SequenceManager.Increment(sequencekey_d); SequenceManager.Increment(sequencekey); model.InvoiceId = this.GetNewId(); TiGuiExists(model); } }
public void Update(Model.Invoice invoice) { _ValidateForUpdate(invoice); try { V.BeginTransaction(); if (invoice.AuditState.Value == 4) { string tableName = this.GetType().Name.Substring(0, this.GetType().Name.IndexOf("Manager")); Model.RoleAuditing roleAuditing = this.roleAuditingManager.SelectByInvoiceIdAndTable(invoice.InvoiceId, tableName); roleAuditing.AuditRank = 0; roleAuditing.NextAuditRole = new BL.RoleManager().select_byAuditRandTableName(1, tableName); if (roleAuditing.NextAuditRole != null) { roleAuditing.NextAuditRoleId = roleAuditing.NextAuditRole.RoleId; } roleAuditing.AuditState = (int)global::Helper.InvoiceAudit.WaitAudit; roleAuditing.Employee0Id = V.ActiveOperator.EmployeeId; this.roleAuditingManager.Update(roleAuditing); } else { invoice.AuditState = (int)global::Helper.InvoiceAudit.NoUsing; } _Update(invoice); V.CommitTransaction(); } catch (Exception ex) { V.RollbackTransaction(); throw ex; } }
public void TurnNull(string invoiceId) { MethodInfo methodInfo = this.GetType().GetMethod("Get"); Model.Invoice invoice = (Model.Invoice)methodInfo.Invoke(this, new object[] { invoiceId }); if (invoice == null) { return; } if ((Helper.InvoiceStatus)invoice.InvoiceStatus.Value != Helper.InvoiceStatus.Normal) { throw new InvalidOperationException(); } try { V.BeginTransaction(); _TurnNull(invoice); this.Delete(invoiceId); roleAuditingManager.DeleteByInvoiceIdAndTable(invoiceId, this.GetType().Name.Substring(0, this.GetType().Name.IndexOf("Manager"))); //DA.IInvoiceAccessor accessor = this.GetAccessor(); //methodInfo = accessor.GetType().GetMethod("Delete", new Type[] { typeof(string) }); //if (methodInfo != null) //{ // methodInfo.Invoke(accessor, new object[] { invoice.InvoiceId }); //} V.CommitTransaction(); } catch { V.RollbackTransaction(); throw; } }
public bool Pay(Model.Invoice invoice) { return(_invoiceRepository.Pay(invoice)); }
/// <summary> /// 获取invoice集合 /// </summary> /// <param name="user">当前操作用户</param> /// <returns></returns> public override ResultModel Load(UserModel user) { ResultModel result = new ResultModel(); try { DataTable dt = SqlHelper.ExecuteDataTable(ConnectString, "InvoiceLoad", null, CommandType.StoredProcedure); List<Model.Invoice> invoices = new List<Model.Invoice>(); foreach (DataRow dr in dt.Rows) { Model.Invoice invoice = new Model.Invoice(); invoice.InvoiceId = Convert.ToInt32(dr["InvoiceId"]); if (dr["InvoiceDate"] != DBNull.Value) { invoice.InvoiceDate = Convert.ToDateTime(dr["InvoiceDate"]); } if (dr["InvoiceNo"] != DBNull.Value) { invoice.InvoiceNo = Convert.ToString(dr["InvoiceNo"]); } if (dr["InvoiceName"] != DBNull.Value) { invoice.InvoiceName = Convert.ToString(dr["InvoiceName"]); } if (dr["InvoiceType"] != DBNull.Value) { invoice.InvoiceType = (InvoiceTypeEnum)Convert.ToInt32(dr["InvoiceType"]); } if (dr["InvoiceBala"] != DBNull.Value) { invoice.InvoiceBala = Convert.ToDecimal(dr["InvoiceBala"]); } if (dr["CurrencyId"] != DBNull.Value) { invoice.CurrencyId = Convert.ToInt32(dr["CurrencyId"]); } if (dr["InvoiceDirection"] != DBNull.Value) { invoice.InvoiceDirection = Convert.ToInt32(dr["InvoiceDirection"]); } if (dr["OutBlocId"] != DBNull.Value) { invoice.OutBlocId = Convert.ToInt32(dr["OutBlocId"]); } if (dr["OutCorpId"] != DBNull.Value) { invoice.OutCorpId = Convert.ToInt32(dr["OutCorpId"]); } if (dr["OutCorpName"] != DBNull.Value) { invoice.OutCorpName = Convert.ToString(dr["OutCorpName"]); } if (dr["InBlocId"] != DBNull.Value) { invoice.InBlocId = Convert.ToInt32(dr["InBlocId"]); } if (dr["InCorpId"] != DBNull.Value) { invoice.InCorpId = Convert.ToInt32(dr["InCorpId"]); } if (dr["InCorpName"] != DBNull.Value) { invoice.InCorpName = Convert.ToString(dr["InCorpName"]); } if (dr["InvoiceStatus"] != DBNull.Value) { invoice.InvoiceStatus = (Common.StatusEnum)Convert.ToInt32(dr["InvoiceStatus"]); } if (dr["Memo"] != DBNull.Value) { invoice.Memo = Convert.ToString(dr["Memo"]); } if (dr["CreatorId"] != DBNull.Value) { invoice.CreatorId = Convert.ToInt32(dr["CreatorId"]); } if (dr["CreateTime"] != DBNull.Value) { invoice.CreateTime = Convert.ToDateTime(dr["CreateTime"]); } if (dr["LastModifyId"] != DBNull.Value) { invoice.LastModifyId = Convert.ToInt32(dr["LastModifyId"]); } if (dr["LastModifyTime"] != DBNull.Value) { invoice.LastModifyTime = Convert.ToDateTime(dr["LastModifyTime"]); } invoices.Add(invoice); } result.AffectCount = dt.Rows.Count; result.Message = "获取列表成功"; result.ResultStatus = 0; result.ReturnValue = invoices; } catch (Exception ex) { result.Message = ex.Message; } return result; }
public bool Pay(Model.Invoice invoice) { _contextDatabase.Invoice.Update(invoice); _contextDatabase.SaveChanges(); return(true); }
public void Insert(Model.Invoice invoice) { _ValidateForInsert(invoice); //MethodInfo methodinfo = this.GetType().GetMethod("HasRows", new Type[] { typeof(string) }); //bool f = (bool)methodinfo.Invoke(this, new object[] { invoice.InvoiceId }); //if (f) //{ // throw new Helper.InvalidValueException(Model.Invoice.PROPERTY_INVOICEID); //} try { V.BeginTransaction(); invoice.InsertTime = DateTime.Now; TiGuiExists(invoice); string tableName = this.GetType().Name.Substring(0, this.GetType().Name.IndexOf("Manager")); if (roleAuditingManager.IsNeedAuditByTableName(tableName)) { // Model.RoleAuditing roleAuditing = this.roleAuditingManager.SelectByInvoiceIdAndTable(invoice.InvoiceId, tableName); //if ( isUpdate == 0) //代表 添加 { invoice.AuditState = (int)global::Helper.InvoiceAudit.WaitAudit; Model.RoleAuditing roleAuditing = new Book.Model.RoleAuditing(); roleAuditing.RoleAuditingId = Guid.NewGuid().ToString(); roleAuditing.AuditRank = 0; roleAuditing.NextAuditRole = new BL.RoleManager().select_byAuditRandTableName(1, tableName); if (roleAuditing.NextAuditRole != null) { roleAuditing.NextAuditRoleId = roleAuditing.NextAuditRole.RoleId; } roleAuditing.AuditState = (int)global::Helper.InvoiceAudit.WaitAudit; roleAuditing.Employee0Id = V.ActiveOperator.EmployeeId; roleAuditing.InsertTime = DateTime.Now; roleAuditing.InvoiceId = invoice.InvoiceId; roleAuditing.InvoiceName = new OperationManager().GetOperationNamebyTabel(tableName); roleAuditing.TableName = tableName; this.roleAuditingManager.Insert(roleAuditing); } } else { invoice.AuditState = (int)global::Helper.InvoiceAudit.NoUsing; } _Insert(invoice); string invoiceKind = this.GetInvoiceKind().ToLower(); string sequencekey_y = string.Format("{0}-y-{1}", invoiceKind, invoice.InsertTime.Value.Year); string sequencekey_m = string.Format("{0}-m-{1}-{2}", invoiceKind, invoice.InsertTime.Value.Year, invoice.InsertTime.Value.Month); string sequencekey_d = string.Format("{0}-d-{1}", invoiceKind, invoice.InsertTime.Value.ToString("yyyy-MM-dd")); string sequencekey = string.Format(invoiceKind); SequenceManager.Increment(sequencekey_y); SequenceManager.Increment(sequencekey_m); SequenceManager.Increment(sequencekey_d); SequenceManager.Increment(sequencekey); V.CommitTransaction(); } catch { V.RollbackTransaction(); throw; } }
/// <summary> /// 获取指定invoiceId的invoice对象 /// </summary> /// <param name="user">当前操作用户</param> /// <param name="invoiceId">主键值</param> /// <returns></returns> public override ResultModel Get(UserModel user, int invoiceId) { ResultModel result = new ResultModel(); if (invoiceId < 1) { result.Message = "序号不能小于1"; return result; } List<SqlParameter> paras = new List<SqlParameter>(); SqlParameter para = new SqlParameter("@InvoiceId", SqlDbType.Int, 4); para.Value = invoiceId; paras.Add(para); SqlDataReader dr = null; try { dr = SqlHelper.ExecuteReader(ConnectString, CommandType.StoredProcedure, "InvoiceGet", paras.ToArray()); Model.Invoice invoice = new Model.Invoice(); if (dr.Read()) { int indexInvoiceId = dr.GetOrdinal("InvoiceId"); invoice.InvoiceId = Convert.ToInt32(dr[indexInvoiceId]); int indexInvoiceDate = dr.GetOrdinal("InvoiceDate"); if (dr["InvoiceDate"] != DBNull.Value) { invoice.InvoiceDate = Convert.ToDateTime(dr[indexInvoiceDate]); } int indexInvoiceNo = dr.GetOrdinal("InvoiceNo"); if (dr["InvoiceNo"] != DBNull.Value) { invoice.InvoiceNo = Convert.ToString(dr[indexInvoiceNo]); } int indexInvoiceName = dr.GetOrdinal("InvoiceName"); if (dr["InvoiceName"] != DBNull.Value) { invoice.InvoiceName = Convert.ToString(dr[indexInvoiceName]); } int indexInvioceType = dr.GetOrdinal("InvoiceType"); if (dr["InvoiceType"] != DBNull.Value) { invoice.InvoiceType = (InvoiceTypeEnum)Convert.ToInt32(dr[indexInvioceType]); } int indexInvoiceBala = dr.GetOrdinal("InvoiceBala"); if (dr["InvoiceBala"] != DBNull.Value) { invoice.InvoiceBala = Convert.ToDecimal(dr[indexInvoiceBala]); } int indexCurrencyId = dr.GetOrdinal("CurrencyId"); if (dr["CurrencyId"] != DBNull.Value) { invoice.CurrencyId = Convert.ToInt32(dr[indexCurrencyId]); } int indexInvoiceDirection = dr.GetOrdinal("InvoiceDirection"); if (dr["InvoiceDirection"] != DBNull.Value) { invoice.InvoiceDirection = Convert.ToInt32(dr[indexInvoiceDirection]); } int indexOutBlocId = dr.GetOrdinal("OutBlocId"); if (dr["OutBlocId"] != DBNull.Value) { invoice.OutBlocId = Convert.ToInt32(dr[indexOutBlocId]); } int indexOutCorpId = dr.GetOrdinal("OutCorpId"); if (dr["OutCorpId"] != DBNull.Value) { invoice.OutCorpId = Convert.ToInt32(dr[indexOutCorpId]); } int indexOutCorpName = dr.GetOrdinal("OutCorpName"); if (dr["OutCorpName"] != DBNull.Value) { invoice.OutCorpName = Convert.ToString(dr[indexOutCorpName]); } int indexInBlocId = dr.GetOrdinal("InBlocId"); if (dr["InBlocId"] != DBNull.Value) { invoice.InBlocId = Convert.ToInt32(dr[indexInBlocId]); } int indexInCorpId = dr.GetOrdinal("InCorpId"); if (dr["InCorpId"] != DBNull.Value) { invoice.InCorpId = Convert.ToInt32(dr[indexInCorpId]); } int indexInCorpName = dr.GetOrdinal("InCorpName"); if (dr["InCorpName"] != DBNull.Value) { invoice.InCorpName = Convert.ToString(dr[indexInCorpName]); } int indexInvoiceStatus = dr.GetOrdinal("InvoiceStatus"); if (dr["InvoiceStatus"] != DBNull.Value) { invoice.InvoiceStatus = (Common.StatusEnum)Convert.ToInt32(dr[indexInvoiceStatus]); } int indexMemo = dr.GetOrdinal("Memo"); if (dr["Memo"] != DBNull.Value) { invoice.Memo = Convert.ToString(dr[indexMemo]); } int indexCreatorId = dr.GetOrdinal("CreatorId"); if (dr["CreatorId"] != DBNull.Value) { invoice.CreatorId = Convert.ToInt32(dr[indexCreatorId]); } int indexCreateTime = dr.GetOrdinal("CreateTime"); if (dr["CreateTime"] != DBNull.Value) { invoice.CreateTime = Convert.ToDateTime(dr[indexCreateTime]); } int indexLastModifyId = dr.GetOrdinal("LastModifyId"); if (dr["LastModifyId"] != DBNull.Value) { invoice.LastModifyId = Convert.ToInt32(dr[indexLastModifyId]); } int indexLastModifyTime = dr.GetOrdinal("LastModifyTime"); if (dr["LastModifyTime"] != DBNull.Value) { invoice.LastModifyTime = Convert.ToDateTime(dr[indexLastModifyTime]); } result.AffectCount = 1; result.Message = "读取成功"; result.ResultStatus = 0; result.ReturnValue = invoice; } else { result.Message = "读取失败或无数据"; result.AffectCount = 0; } } catch (Exception ex) { result.Message = ex.Message; } finally { if (dr != null) dr.Dispose(); } return result; }
// POST: api/Invoice public string Post(HttpRequestMessage value) { try { Model.Invoice inv = new Model.Invoice(); string message = HttpContext.Current.Server.UrlDecode(value.Content.ReadAsStringAsync().Result).Substring(5); JObject json = JObject.Parse(message); string action = (string)json["action"]; int key = db.Invoices.Count() == 0 ? 1 : (from t in db.Invoices orderby t.Invoice_ID descending select t.Invoice_ID).First() + 1; inv.Invoice_ID = key; inv.Invoice_Date = (DateTime)json["Invoice_Date"]; inv.Invoice_Status_ID = 1; inv.Delivery_Note_ID = (int)json["Delivery_Note_ID"]; inv.amount_noVat = (decimal)json["amount_noVat"]; inv.amount_Vat = (decimal)json["amount_Vat"]; string errorString = "false|"; bool error = false; if ((from t in db.Invoices where t.Delivery_Note_ID == inv.Delivery_Note_ID select t).Count() != 0) { error = true; errorString += "The Delivery Note Number already has an Invoice on the system. "; } if (error) { return(errorString); } db.Invoices.Add(inv); db.SaveChanges(); if (action == "email") { string to = (string)json["email"]; string subject = "WME Invoice #" + key; String orderDate = inv.Invoice_Date.ToShortDateString(); string body = "Walter Meano Engineering Invoice #" + key + "\nThe invoice was generated on " + orderDate + "\n\nItems payable:\n"; List <Delivery_Note_Details> parts = (from p in db.Delivery_Note_Details where p.Delivery_Note_ID == inv.Delivery_Note_ID select p).ToList(); foreach (Delivery_Note_Details part in parts) { Part_Type partDetails = (from p in db.Delivery_Note_Details where p.Delivery_Note_ID == inv.Delivery_Note_ID select p.Client_Order_Detail.Part_Type).First(); body += partDetails.Name + "\t\tx" + part.Quantity_Delivered + "\t" + part.Client_Order_Detail.Part_Price + " per unit\n"; } body += "\nAmount payable VAT Excl.:\t" + inv.amount_noVat; body += "\nAmount payable VAT Incl.:\t" + inv.amount_Vat; Email.SendEmail(to, subject, body); } return("true|Invoice #" + key + " successfully added.|" + key); } catch (Exception e) { ExceptionLog.LogException(e, "InvoiceController POST"); return("false|An error has occured adding the Invoice to the system."); } }
protected abstract void _TurnNull(Model.Invoice invoice);
protected abstract void _Update(Model.Invoice invoice);
protected abstract void _Insert(Model.Invoice invoice);