예제 #1
0
        //更新申请,含明细
        public ActionResult Update(string json)
        {
            var rdto = new ResultMessages();
            rdto.Message = "";
            JavaScriptSerializer jss = new JavaScriptSerializer();
            ReqPerchaseMain obj = jss.Deserialize<ReqPerchaseMain>(json);
            obj.ReqDate = DateTime.Now;
            try
            {
                ReqPerchaseMain oriObj = ctx.ReqPerchaseMains.Single(r => r.FormNo == obj.FormNo);
                oriObj.ReqDate = obj.ReqDate;
                oriObj.Cost = obj.Cost;
                oriObj.Cause = obj.Cause;
                oriObj.StatusId = obj.StatusId;
                foreach (var v in obj.ReqPerchaseSubs)
                {
                    ReqPerchaseSub reqSub = null;
                    if (v.Id > 0)
                    {
                        reqSub = oriObj.ReqPerchaseSubs.Single(r => r.Id == v.Id);
                    }
                    else
                    {
                        reqSub = new ReqPerchaseSub();
                        reqSub.FormNo = oriObj.FormNo;
                        oriObj.ReqPerchaseSubs.Add(reqSub);
                    }
                    reqSub.GoodsName = v.GoodsName;
                    reqSub.Model = v.Model;
                    reqSub.Specification = v.Specification;
                    reqSub.PerPrice = v.PerPrice;
                    reqSub.Unit = v.Unit;
                    reqSub.Number = v.Number;
                }
                //更新时删除之前的签核数据
                var list = from r in ctx.SignFlows where r.FormNo == obj.FormNo select r;
                ctx.SignFlows.DeleteAllOnSubmit(list);

                ctx.SubmitChanges();
                rdto.Message = "更新成功";
                rdto.Result = true;
            }
            catch (Exception ex)
            {
                rdto.Message = "更新失败";
                rdto.Result = false;
            }
            if (obj.StatusId == 1)//写签核流程
            {
                try
                {
                    FlowSet fs = new FlowSet();
                    EmpBasicInfo ebi = Session["ebi"] as EmpBasicInfo;
                    fs.SetSignFlow(obj.FormNo, ebi);
                    rdto.Message = "更新且提交成功";
                }
                catch (Exception ex)
                {
                    rdto.Message = "表单已保存,但提交签核失败";
                    rdto.Result = false;
                }
            }
            return Json(rdto);
        }
예제 #2
0
 partial void InsertReqPerchaseSub(ReqPerchaseSub instance);
예제 #3
0
 partial void DeleteReqPerchaseSub(ReqPerchaseSub instance);
예제 #4
0
		private void detach_ReqPerchaseSubs(ReqPerchaseSub entity)
		{
			this.SendPropertyChanging();
			entity.ReqPerchaseMain = null;
		}
예제 #5
0
 partial void UpdateReqPerchaseSub(ReqPerchaseSub instance);