/// <summary> /// Confirming picking list registration. /// </summary> /// <param name="lstInstallationSlipNo">List of installation slip no. for registering.</param> /// <returns>Return ActionResult of confirmation process result.</returns> public ActionResult IVS240_ConfirmPickingList(List <string> lstInstallationSlipNo) { ObjectResultData res = new ObjectResultData(); res.MessageType = MessageModel.MESSAGE_TYPE.INFORMATION; //All message during confirmation process must be information dialog box. try { IVS240_ScreenParameter sParam = GetScreenObject <IVS240_ScreenParameter>(); //Add by Jutarat A. on 04122012 ICommonHandler srvCommon = ServiceContainer.GetService <ICommonHandler>() as ICommonHandler; if (srvCommon.IsSystemSuspending()) { res.MessageType = MessageModel.MESSAGE_TYPE.INFORMATION; res.AddErrorMessage(MessageUtil.MODULE_COMMON, MessageUtil.MessageList.MSG0049); res.ResultData = this.IVS240_ConfirmPickingList_CreateResult(false, null, null); return(Json(res)); } if (!CheckUserPermission(ScreenID.C_INV_SCREEN_ID_PICKING_LIST, FunctionID.C_FUNC_ID_OPERATE)) { res.MessageType = MessageModel.MESSAGE_TYPE.INFORMATION; res.AddErrorMessage(MessageUtil.MODULE_COMMON, MessageUtil.MessageList.MSG0053); res.ResultData = this.IVS240_ConfirmPickingList_CreateResult(false, null, null); return(Json(res)); } if (lstInstallationSlipNo == null || lstInstallationSlipNo.Count <= 0) { res.AddErrorMessage(MessageUtil.MODULE_INVENTORY, MessageUtil.MessageList.MSG4063); res.ResultData = this.IVS240_ConfirmPickingList_CreateResult(false, null, null); return(Json(res)); } IInventoryHandler srvInv = ServiceContainer.GetService <IInventoryHandler>() as IInventoryHandler; List <string> lstError = new List <string>(); List <tbt_InventorySlip> lstInvSlip = new List <tbt_InventorySlip>(); foreach (var strInstallationSlipNo in lstInstallationSlipNo) { var lstTempInvSlip = srvInv.GetTbt_InventorySlip(null, strInstallationSlipNo); //if (lstInvSlip.Count > 0 && lstInvSlip[0].PickingListNo != null) //{ // res.AddErrorMessage(MessageUtil.MODULE_INVENTORY, MessageUtil.MessageList.MSG4064 // , new string[] { strInstallationSlipNo }); // lstError.Add(strInstallationSlipNo); //} if (lstTempInvSlip.Any(p => p.PickingListNo != null)) { res.AddErrorMessage(MessageUtil.MODULE_INVENTORY, MessageUtil.MessageList.MSG4064 , new string[] { strInstallationSlipNo }); lstError.Add(strInstallationSlipNo); res.ResultData = this.IVS240_ConfirmPickingList_CreateResult(false, lstError, null); return(Json(res)); } lstInvSlip.AddRange(lstTempInvSlip); } //if (lstError.Count > 0) //{ // res.ResultData = this.IVS240_ConfirmPickingList_CreateResult(false, lstError, null); // return Json(res); //} string strPickingListNo = srvInv.GeneratePickingListNo(); #region //R2 foreach (var slip in lstInvSlip) { slip.PickingListNo = strPickingListNo; //Comment by Jutarat A. on 30052013 (Set at UpdateTbt_InventorySlip()) //slip.UpdateBy = CommonUtil.dsTransData.dtUserData.EmpNo; //slip.UpdateDate = CommonUtil.dsTransData.dtOperationData.ProcessDateTime; //End Comment } #endregion srvInv.UpdateTbt_InventorySlip(lstInvSlip); IInventoryDocumentHandler srvInvDoc = ServiceContainer.GetService <IInventoryDocumentHandler>() as IInventoryDocumentHandler; //srvInvDoc.GenerateIVR170FilePath(strPickingListNo, CommonUtil.dsTransData.dtUserData.EmpNo, CommonUtil.dsTransData.dtOperationData.ProcessDateTime); sParam.ResultStream = srvInvDoc.GenerateIVR170(strPickingListNo, CommonUtil.dsTransData.dtUserData.EmpNo, CommonUtil.dsTransData.dtOperationData.ProcessDateTime); //Modify by Jutarat A. on 04122012 res.ResultData = this.IVS240_ConfirmPickingList_CreateResult(true, null, strPickingListNo); return(Json(res)); } catch (Exception ex) { res.MessageType = MessageModel.MESSAGE_TYPE.INFORMATION; res.AddErrorMessage(ex); res.ResultData = this.IVS240_ConfirmPickingList_CreateResult(false, null, null);; return(Json(res)); } }