public ActionResult InstanceEdit(MachineInstance machineInstance)
        {
            if (ModelState.IsValid)
            {
                machineInstance.Region = genericMgr.FindById<Island>(machineInstance.Island).Region;
                this.genericMgr.UpdateWithTrim(machineInstance);
                SaveSuccessMessage(Resources.MRP.MachineInstance.MachineInstance_Updated);
            }

            return View(machineInstance);
        }
        public ActionResult InstanceNew(MachineInstance machineInstance)
        {
            try
            {
                if (machineInstance.DateType == com.Sconit.CodeMaster.TimeUnit.Day)
                {
                    ModelState.Remove("DateIndex");
                }
                if (ModelState.IsValid)
                {

                    if (machineInstance.DateType == com.Sconit.CodeMaster.TimeUnit.Day)
                    {
                        machineInstance.DateIndex = Convert.ToDateTime(machineInstance.DateIndexDate).ToString("yyyy-MM-dd");
                    }
                    if (this.genericMgr.FindAll<long>("select count(*)  from MachineInstance as m where m.Code=? and m.DateIndex=? and  m.DateType=? ",
                         new object[] { machineInstance.Code, machineInstance.DateIndex, machineInstance.DateType })[0] > 0)
                    {
                        base.SaveErrorMessage(string.Format(Resources.EXT.ControllerLan.Con_AlreadyExistsSameMachineCodePlanTypeTimeIndex, machineInstance.Code, machineInstance.DateType, machineInstance.DateIndex));
                        return View(machineInstance);
                    }
                    machineInstance.Region = genericMgr.FindById<Island>(machineInstance.Island).Region;
                    machineInstance.IsManualCreate = true;
                    this.genericMgr.CreateWithTrim(machineInstance);
                    SaveSuccessMessage(Resources.MRP.MachineInstance.MachineInstance_Added);
                    string code = machineInstance.Code;

                    string dateIndex = machineInstance.DateIndex;
                    int dateType = (int)machineInstance.DateType;
                    return new RedirectToRouteResult(new RouteValueDictionary { { "action", "InstanceEdit" }, { "controller", "Machine" },
                     { "code", code }, { "dateIndex", dateIndex },{"dateType",dateType}});
                }
            }
            catch (Exception e)
            {
                if (e is CommitResourceException)
                {
                    SaveErrorMessage(Resources.EXT.ControllerLan.Con_AlreadyExitsSameData);
                }

            }

            return View(machineInstance);
        }