public ActionResult New(SubPrintOrder subPrintOrder)
 {
     try
     {
         if (ModelState.IsValid)
         {
             Check(subPrintOrder);
             if (!string.IsNullOrWhiteSpace(subPrintOrder.UserCode))
             {
                 var user = securityMgr.GetUser(subPrintOrder.UserCode);
                 subPrintOrder.UserId = user.Id;
             }
             this.genericMgr.CreateWithTrim(subPrintOrder);
             SaveSuccessMessage(Resources.EXT.ControllerLan.Con_CreateSuccessfully);
             return new RedirectToRouteResult(new RouteValueDictionary { 
             { "action", "Edit" }, { "controller", "SubPrintOrder" }, { "Id", subPrintOrder.Id } });
         }
     }
     catch (Exception e)
     {
         SaveErrorMessage(e);
     }
     return View(subPrintOrder);
 }
 private void Check(SubPrintOrder subPrintOrder)
 {
     if (!string.IsNullOrWhiteSpace(subPrintOrder.Location))
     {
         this.genericMgr.FindById<Location>(subPrintOrder.Location);
     }
     if (!string.IsNullOrWhiteSpace(subPrintOrder.Region))
     {
         this.genericMgr.FindById<Region>(subPrintOrder.Region);
     }
     if (!string.IsNullOrWhiteSpace(subPrintOrder.Flow))
     {
         this.genericMgr.FindById<FlowMaster>(subPrintOrder.Flow);
     }
     var excelTemplate = systemMgr.GetCodeDetailDictionary()
                  .SelectMany(p => p.Value.Where(q => q.Value == subPrintOrder.ExcelTemplate));
     if (excelTemplate == null || excelTemplate.Count() == 0)
     {
         throw new Exception(Resources.EXT.ControllerLan.Con_CanNotFindThisExcelTemplate);
     }
 }
 public ActionResult Edit(SubPrintOrder subPrintOrder)
 {
     try
     {
         if (ModelState.IsValid)
         {
             Check(subPrintOrder);
             if (!string.IsNullOrWhiteSpace(subPrintOrder.UserCode))
             {
                 var user = securityMgr.GetUser(subPrintOrder.UserCode);
                 subPrintOrder.UserId = user.Id;
             }
             this.genericMgr.UpdateWithTrim(subPrintOrder);
             SaveSuccessMessage(Resources.EXT.ControllerLan.Con_UpdatedSuccessfully);
         }
     }
     catch (Exception ex)
     {
         SaveErrorMessage(ex);
     }
     return View(subPrintOrder);
 }