///<summary> ///Purpose: /// Mandatory check when billing client code is not specified. /// ///Parameters: /// strBillingClientCode: NULL /// ///Expected: /// MSG0007: "These field was required: strBillingClientCode." ///</summary> public string Case1() { IMaintenanceHandler target = ServiceContainer.GetService <IMaintenanceHandler>() as IMaintenanceHandler; string expected = "ttt"; string actual = null; tbt_MaintenanceCheckup doInsert = new tbt_MaintenanceCheckup() { ContractCode = "N0000000008", ProductCode = "009", InstructionDate = DateTime.Now, Remark = "ฟหกด" }; try { target.InsertTbt_MaintenanceCheckup(doInsert); } catch (ApplicationErrorException ex) { actual = ex.ErrorResult.Message.Code; } catch (Exception ex) { actual = ex.StackTrace; } return(string.Format(RESULT_FORMAT, 1, expected, actual, CompareResult_String(expected, actual))); }
/// <summary> /// Download data /// </summary> /// <param name="bChkListFlag"></param> /// <param name="list"></param> /// <returns></returns> public ActionResult CTS270_Download(bool bChkListFlag, List <CTS270_CheckResultItem> list) { ObjectResultData res = new ObjectResultData(); IReportHandler rptHandler; try { rptHandler = ServiceContainer.GetService <IReportHandler>() as IReportHandler; CTS270_ScreenParameter CTS270Param = GetScreenObject <CTS270_ScreenParameter>(); CTS270Param.csvRpt = null; CTS270Param.pdfRpt = null; List <tbt_MaintenanceCheckup> nList = new List <tbt_MaintenanceCheckup>(); if (bChkListFlag == true) { foreach (dtSearchMACheckupResult r in CTS270Param.data.dtSearchResult) { nList.Add(new tbt_MaintenanceCheckup() { ContractCode = r.ContractCode, ProductCode = r.ProductCode, InstructionDate = r.InstructionDate }); } } else { foreach (CTS270_CheckResultItem l in list) { if (l.CheckedFlag == true) { foreach (dtSearchMACheckupResult r in CTS270Param.data.dtSearchResult) { if (l.KeyIndex == r.KeyIndex) { nList.Add(new tbt_MaintenanceCheckup() { ContractCode = r.ContractCode, ProductCode = r.ProductCode, InstructionDate = r.InstructionDate }); break; } } } } } IMaintenanceHandler mainHand = ServiceContainer.GetService <IMaintenanceHandler>() as IMaintenanceHandler; if (bChkListFlag) { //string csv = mainHand.GenerateMACheckupList(list); string csv = rptHandler.GetMaintenanceCheckupList(nList); if (!CommonUtil.IsNullOrEmpty(csv)) { CTS270Param.csvRpt = csv; } //return File(csv, "text/csv"); } else { bool isEmptyList = true; if (nList != null) { if (nList.Count > 0) { isEmptyList = false; } } if (isEmptyList == true) { res.AddErrorMessage(MessageUtil.MODULE_COMMON, MessageUtil.MessageList.MSG0017); return(Json(res)); } else { doMACheckupSlipResult rm = mainHand.GenerateMACheckupSlip(nList); if (!CommonUtil.IsNullOrEmpty(rm.ResultData)) { //Stream result = new MemoryStream(merge); CTS270Param.pdfRpt = rm.ResultData; } List <dtSearchMACheckupResult> nSort = new List <dtSearchMACheckupResult>(); foreach (CTS270_CheckResultItem ma in list) { string CheckupNo = null; foreach (tbt_MaintenanceCheckup n in nList) { if (ma.KeyIndex == n.KeyIndex) { CheckupNo = n.CheckupNo; break; } } foreach (dtSearchMACheckupResult r in CTS270Param.data.dtSearchResult) { if (r.KeyIndex == ma.KeyIndex) { if (CommonUtil.IsNullOrEmpty(CheckupNo) == false) { r.CheckedFlag = ""; r.CheckupNo = CheckupNo; } else if (ma.CheckedFlag == true) { r.CheckedFlag = "1"; } else { r.CheckedFlag = ""; } nSort.Add(r); break; } } } CTS270Param.data.dtSearchResult = nSort; //Set disable/show Action Buttons setPermissionFlag(CTS270Param.data.dtSearchResult , CTS270Param.data.doSearchCondition.MaintenanceCheckupListFlag ?? false , CTS270Param.data.doSearchCondition.MaintenanceCheckupSlipFlag ?? false , CTS270Param); //return File(result, "application/pdf"); if (rm.Error != null) { res.ResultData = new object[] { rm.Error.ErrorResult.Message, rm.ErrorDetail }; } } } UpdateScreenObject(CTS270Param); if (res.ResultData == null) { res.ResultData = true; } } catch (Exception ex) { res.AddErrorMessage(ex); } return(Json(res)); }
/// <summary> /// Delete selected data from session /// </summary> /// <param name="DeleteItem"></param> /// <param name="CheckItemList"></param> /// <returns></returns> public ActionResult CTS270_Delete(CTS270_CheckResultItem DeleteItem, List <CTS270_CheckResultItem> CheckItemList) { ObjectResultData res = new ObjectResultData(); try { //Check System Suspending res = checkSystemSuspending(); if (res.IsError) { return(Json(res)); } //Validate business //Cannot delete maintenance schedule if maintenance check-up schedule of maintenance contract that has many products and there is some registered results in the same cycle IMaintenanceHandler mainHand = ServiceContainer.GetService <IMaintenanceHandler>() as IMaintenanceHandler; bool isSomeResultRegistered = mainHand.IsSomeResultRegistered(DeleteItem.ContractCode, DeleteItem.InstructionDate.Value); if (isSomeResultRegistered) { res.AddErrorMessage(MessageUtil.MODULE_CONTRACT, MessageUtil.MessageList.MSG3193); return(Json(res)); } //Delete data from search result list in session CTS270_ScreenParameter CTS270Param = GetScreenObject <CTS270_ScreenParameter>(); var objects = from l in CTS270Param.data.dtSearchResult where l.ContractCode == DeleteItem.ContractCode && l.ProductCode == DeleteItem.ProductCode && l.InstructionDate == DeleteItem.InstructionDate.Value select l; foreach (dtSearchMACheckupResult obj in objects) { //Delete maintainence checkup schedule mainHand.DeleteMaintenanceCheckupSchedule(DeleteItem.ContractCode, DeleteItem.ProductCode, DeleteItem.InstructionDate.Value, obj.UpdateDate.Value); //Remove data from session CTS270Param.data.dtSearchResult.Remove(obj); if (CheckItemList != null) { List <dtSearchMACheckupResult> nSort = new List <dtSearchMACheckupResult>(); foreach (CTS270_CheckResultItem ma in CheckItemList) { foreach (dtSearchMACheckupResult r in CTS270Param.data.dtSearchResult) { if (r.KeyIndex == ma.KeyIndex) { if (ma.CheckedFlag == true) { r.CheckedFlag = "1"; } nSort.Add(r); break; } } } CTS270Param.data.dtSearchResult = nSort; } UpdateScreenObject(CTS270Param); break; } //when finish with out error res.ResultData = MessageUtil.GetMessage(MessageUtil.MODULE_COMMON, MessageUtil.MessageList.MSG0047); } catch (Exception ex) { res.AddErrorMessage(ex); } return(Json(res)); }
/// <summary> /// Load search result data to grid /// </summary> /// <param name="cond"></param> /// <returns></returns> public ActionResult CTS270_Search(doSearchMACheckupCriteria cond) { ObjectResultData res = new ObjectResultData(); try { CTS270_ScreenParameter CTS270Param = GetScreenObject <CTS270_ScreenParameter>(); dsCTS270Data data = CTS270Param.data; List <dtSearchMACheckupResult> list = new List <dtSearchMACheckupResult>(); if (data == null) { //Save search condition value dsCTS270Data dsData = new dsCTS270Data(); cond.HasCheckupResult = cond.HasCheckupResult ?? false; cond.HaveInstrumentMalfunction = cond.HaveInstrumentMalfunction ?? false; cond.NeedToContactSalesman = cond.NeedToContactSalesman ?? false; dsData.doSearchCondition = cond; //Set default to some search condition CommonUtil c = new CommonUtil(); cond.UserCode = cond.UserCodeContractCode; cond.ContractCode = c.ConvertContractCode(cond.UserCodeContractCode, CommonUtil.CONVERT_TYPE.TO_LONG); //cond.MACheckupNo = (cond.MACheckupNo == null) ? null : System.Text.RegularExpressions.Regex.Replace(cond.MACheckupNo, "^0+", ""); if (cond.OperationOffice == null) { List <OfficeDataDo> clst = CommonUtil.dsTransData.dtOfficeData; StringBuilder sbOperationOffice = new StringBuilder(""); foreach (OfficeDataDo off in clst) { if (off.FunctionSecurity != SECOM_AJIS.Common.Util.ConstantValue.FunctionSecurity.C_FUNC_SECURITY_NO)// filter follow by the combobox { sbOperationOffice.AppendFormat("\'{0}\',", off.OfficeCode); } } cond.OperationOffice = sbOperationOffice.ToString(); } //Query for maintenance IMaintenanceHandler hand = ServiceContainer.GetService <IMaintenanceHandler>() as IMaintenanceHandler; list = hand.SearchMACheckup(cond); //Set disable/show Action Buttons setPermissionFlag(list , (cond.MaintenanceCheckupListFlag.HasValue) ? cond.MaintenanceCheckupListFlag.Value : false , (cond.MaintenanceCheckupSlipFlag.HasValue) ? cond.MaintenanceCheckupSlipFlag.Value : false , CTS270Param); //Save search result list dsData.dtSearchResult = list; //Save condition and result into session CTS270Param.data = dsData; UpdateScreenObject(CTS270Param); } else { list = data.dtSearchResult; //Set disable/show Action Buttons setPermissionFlag(list , data.doSearchCondition.MaintenanceCheckupListFlag ?? false , data.doSearchCondition.MaintenanceCheckupSlipFlag ?? false , CTS270Param); } res.ResultData = CommonUtil.ConvertToXml <dtSearchMACheckupResult>(list, "Contract\\CTS270", CommonUtil.GRID_EMPTY_TYPE.SEARCH); } catch (Exception ex) { res.AddErrorMessage(ex); } return(Json(res)); }