public ActionResult InstanceNew(SnapProdLineEx prodLineExInstance)
        {
            try
            {
                if (prodLineExInstance.DateType == com.Sconit.CodeMaster.TimeUnit.Day)
                {
                    ModelState.Remove("DateIndex");
                }
                if (ModelState.IsValid)
                {

                    if (prodLineExInstance.DateType == com.Sconit.CodeMaster.TimeUnit.Day)
                    {
                        prodLineExInstance.DateIndex = Convert.ToDateTime(prodLineExInstance.DateIndex).ToString("yyyy-MM-dd");
                    }
                    if (this.genericMgr.FindAll<long>("select count(*)  from SnapProdLineEx as p where p.ProductLine=? and p.Item=? and p.DateIndex=? and  p.DateType=? and p.SnapTime=? ",
                        new object[] { prodLineExInstance.ProductLine, prodLineExInstance.Item, prodLineExInstance.DateIndex, prodLineExInstance.DateType, prodLineExInstance.SnapTime })[0] > 0)
                    {
                        base.SaveErrorMessage(string.Format(Resources.EXT.ControllerLan.Con_AlreadyExistsSameFlowItemCodePlanTypeTypeTimeIndexSnapVersion, prodLineExInstance.ProductLine, prodLineExInstance.Item, prodLineExInstance.DateType, prodLineExInstance.DateIndex, prodLineExInstance.SnapTime));
                        return View(prodLineExInstance);
                    }
                    prodLineExInstance.Region = genericMgr.FindById<FlowMaster>(prodLineExInstance.ProductLine).PartyFrom;
                    //prodLineExInstance.IsManualCreate = true;
                    this.genericMgr.CreateWithTrim(prodLineExInstance);
                    SaveSuccessMessage(Resources.MRP.ProdLineExInstance.ProdLineExInstance_Added);
                    string productLine = prodLineExInstance.ProductLine;
                    string item = prodLineExInstance.Item;
                    string dateIndex = prodLineExInstance.DateIndex;
                    int dateType = (int)prodLineExInstance.DateType;
                    DateTime snapTime = prodLineExInstance.SnapTime;
                    IList<object>  iList;
                    string sql = "select top 1 id from MRP_SnapProdLineEx where productLine=? and Item=? and DateType=? and SnapTime=? and dateIndex=? ";
                    object[] para = new object[] { productLine, item, dateIndex, dateType, snapTime, dateIndex };
                    iList = queryMgr.FindAllWithNativeSql<object>(sql, para);
                    int id = (int)iList.FirstOrDefault();
                    return new RedirectToRouteResult(new RouteValueDictionary { { "action", "InstanceEdit" }, { "controller", "MrpSnapProdLineEx" },
                     { "id", id }});
                }
            }
            catch (Exception e)
            {
                if (e is CommitResourceException)
                {
                    SaveErrorMessage(Resources.EXT.ControllerLan.Con_AlreadyExitsSameData);
                }

            }

            return View(prodLineExInstance);
        }
        public ActionResult InstanceEdit(SnapProdLineEx prodLineExInstance)
        {
            if (ModelState.IsValid)
            {
                prodLineExInstance.Region = genericMgr.FindById<FlowMaster>(prodLineExInstance.ProductLine).PartyFrom;
                prodLineExInstance.SnapTime = genericMgr.FindById<SnapProdLineEx>(prodLineExInstance.Id).SnapTime;
                this.genericMgr.UpdateWithTrim(prodLineExInstance);
                SaveSuccessMessage(Resources.MRP.ProdLineExInstance.ProdLineExInstance_Updated);
            }

            return View(prodLineExInstance);
        }