public ActionResult SpecPriceEdit(int id, FormCollection collection)
        {
            FoodMaterialType f;
            FoodMaterialPrice p;
            FoodMaterialSpec s;
            int specid;
            if (id == 0)
            {
                int.TryParse(Request["specid"], out specid);
                p = new FoodMaterialPrice();
                p.SpecId = specid;
                db.FoodMaterialPrice.Add(p);
            }
            else
            {
                p = db.FoodMaterialPrice.Find(id);
                if (p == null)
                {
                    return View("ShowError", "", "找不到价格信息");
                }
                specid = p.SpecId;
            }
            s = db.FoodMaterialSpecs.Find(specid);
            if (s == null)
            {
                return View("ShowError", "", "找不到原料规格");
            }
            f = db.FoodMaterialType.Find(s.TypeId);
            TryUpdateModel(p, "", new string[] { }, new string[] { "SpecId" }, collection);
            if (p.SupplierId == 0)
            {
                ModelState.AddModelError("SupplierId", "请选择供应商");
            }
            if (p.Price == decimal.Zero)
            {
                ModelState.AddModelError("Price", "价格不能为0");
            }
            if (ModelState.IsValid)
            {
                if (collection["defaultSupplier"] == "1")
                {
                    BLL.Utilities.AddLog(s.TypeId, FoodMaterialType.LogClass, "修改默认供应商", "原供应商id" + f.SupplierId.ToString());
                    f.SupplierId = p.SupplierId;
                }
                db.SaveChanges();
                if (id == 0)
                {
                    string sql = string.Format("update foodmaterialprices set state={2} where state={3} and specid={0} and supplierid={1} and id!={2}", p.SpecId, p.SupplierId, p.Id,(int)FoodPriceState.历史,(int)FoodPriceState.当前);
                    db.Database.ExecuteSqlCommand(sql);
                }
                if (id == 0)
                {
                    BLL.Utilities.AddLog(s.TypeId, FoodMaterialType.LogClass, "添加报价" + p.Id.ToString(), "");

                }
                else
                {
                    BLL.Utilities.AddLog(s.TypeId, FoodMaterialType.LogClass, "修改报价" + p.Id.ToString(), "");
                }

                return Redirect("~/content/close.htm");
            }

            ViewBag.Food = f;
            ViewBag.Spec = s;
            return View(p);
        }
 public ActionResult SpecPriceEdit(int id)
 {
     FoodMaterialType f;
     FoodMaterialPrice p;
     FoodMaterialSpec s;
     int specid;
     if (id == 0)
     {
         int.TryParse(Request["specid"], out specid);
         p = new FoodMaterialPrice();
         p.PriceDate = DateTime.Today;
         p.SpecId = specid;
     }
     else
     {
         p = db.FoodMaterialPrice.Find(id);
         if (p == null)
         {
             return View("ShowError", "", "找不到价格信息");
         }
         specid = p.SpecId;
     }
     s = db.FoodMaterialSpecs.Find(specid);
     if (s == null)
     {
         return View("ShowError", "", "找不到原料规格");
     }
     f = db.FoodMaterialType.Find(s.TypeId);
     ViewBag.Food = f;
     ViewBag.Spec = s;
     return View(p);
 }