コード例 #1
0
        public ActionResult CreateQuotation(SalesQuotationViewModel model)
        {
            if (ModelState.IsValid)
            {
                if (model.Details == null || model.Details.Count == 0)
                {
                    ViewBag.ErrorMessage = "报价要有明细";
                    return(View(model));
                }

                //头部赋值
                QuotationHeader header = new QuotationHeader()
                {
                    Buyer = (from emp in db.Employees
                             where emp.Id == Convert.ToInt32(model.Buyer)
                             select emp).First(),
                    CommissionType = model.CommisionType,
                    Commision      = model.Commision,
                    ExchangeRate   = model.ExchangeRate,
                    Fob            = model.Fob,
                    SeaCost        = model.SeaCost,
                    Sales          = (from emp in db.Employees
                                      where emp.Account == model.Sales
                                      select emp).First(),
                    SalesMemo    = model.SalesMemo,
                    PurchaseMemo = model.PurchaseMemo,
                    Other        = model.Other,
                    QDate        = DateTime.Now,
                    Status       = model.Status
                };

                db.QHeaders.Add(header);

                List <QuotationDetail> details = new List <QuotationDetail>();

                //明细赋值
                model.Details.ForEach(p =>
                {
                    QuotationDetail item = new QuotationDetail()
                    {
                        Header = header,
                        Class  = (from c in db.ProductClasses
                                  where c.Name == p.ProductClass
                                  select c).First(),
                        Metal      = p.Metal,
                        Shape      = p.Shape,
                        Model      = p.Model,
                        Technology = p.Technology,
                        Qty        = p.Qty,
                        Profit     = Convert.ToDecimal(
                            (from c in db.ProductClasses
                             where c.Name == p.ProductClass
                             select c.Profit).First()
                            ),
                        PurchasePrice  = 0,
                        Memo           = p.Memo,
                        SalesPrice     = 0,
                        CommissionCost = 0
                    };

                    details.Add(item);
                });

                details.ForEach(p =>
                {
                    db.QDetails.Add(p);
                });

                db.SaveChanges();
            }

            return(View(model));
        }
コード例 #2
0
 public int Delete(QuotationHeader _QuotationHeader)
 {
     return(QuotationHeaderDaoRepository.Delete(_QuotationHeader));
 }
コード例 #3
0
 public int Insert(QuotationHeader _QuotationHeader)
 {
     return(QuotationHeaderDaoRepository.Insert(_QuotationHeader));
 }
コード例 #4
0
 public int Update(QuotationHeader _QuotationHeader)
 {
     return(QuotationHeaderDaoRepository.Update(_QuotationHeader));
 }
コード例 #5
0
 public bool Validate(QuotationHeader _QuotationHeader, out List <string> lstMessages)
 {
     return(QuotationHeaderDaoRepository.Validate(_QuotationHeader, out lstMessages));
 }