コード例 #1
0
ファイル: InvoiceManager.cs プロジェクト: daobataotie/EDNew
        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);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
 protected override void _TurnNormal(Model.Invoice invoice)
 {
     if (!(invoice is Model.InvoiceZZ))
     {
         throw new ArgumentException();
     }
     _TurnNormal((Model.InvoiceZZ)invoice);
 }
コード例 #5
0
        // 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.");
            }
        }
コード例 #6
0
ファイル: BaseEditForm.cs プロジェクト: daobataotie/Mobe
        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();
                }
            }
        }
コード例 #7
0
 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,
     }));
 }
コード例 #8
0
ファイル: InvoiceManager.cs プロジェクト: daobataotie/EDNew
        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;
            }
        }
コード例 #9
0
ファイル: InvoiceManager.cs プロジェクト: daobataotie/EDNew
        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);
                }
            }
        }
コード例 #10
0
 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
     }));
 }
コード例 #11
0
ファイル: InvoiceManager.cs プロジェクト: daobataotie/EDNew
        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");
        }
コード例 #12
0
ファイル: DAL.cs プロジェクト: qrunner/Default
 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();
         }
     }
 }
コード例 #13
0
ファイル: InvoiceManager.cs プロジェクト: daobataotie/EDNew
        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);
            }
        }
コード例 #14
0
ファイル: InvoiceManager.cs プロジェクト: daobataotie/EDNew
        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;
            }
        }
コード例 #15
0
ファイル: InvoiceManager.cs プロジェクト: daobataotie/EDNew
        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;
            }
        }
コード例 #16
0
 public bool Pay(Model.Invoice invoice)
 {
     return(_invoiceRepository.Pay(invoice));
 }
コード例 #17
0
ファイル: InvoiceDAL.cs プロジェクト: weiliji/NFMT
        /// <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;
        }
コード例 #18
0
 public bool Pay(Model.Invoice invoice)
 {
     _contextDatabase.Invoice.Update(invoice);
     _contextDatabase.SaveChanges();
     return(true);
 }
コード例 #19
0
ファイル: InvoiceManager.cs プロジェクト: daobataotie/EDNew
        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;
            }
        }
コード例 #20
0
ファイル: InvoiceDAL.cs プロジェクト: weiliji/NFMT
        /// <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;
        }
コード例 #21
0
        // 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.");
            }
        }
コード例 #22
0
ファイル: InvoiceManager.cs プロジェクト: daobataotie/EDNew
 protected abstract void _TurnNull(Model.Invoice invoice);
コード例 #23
0
ファイル: InvoiceManager.cs プロジェクト: daobataotie/EDNew
 protected abstract void _Update(Model.Invoice invoice);
コード例 #24
0
ファイル: InvoiceManager.cs プロジェクト: daobataotie/EDNew
 protected abstract void _Insert(Model.Invoice invoice);