public int DichVu(DatabaseConstant.Action action, ref DICHVU objDichVu, ref List <ClientResponseDetail> listClientResponseDetail) { SMSServiceClient client = null; SMSRequest request = null; SMSResponse response = null; int iret = 1; try { // Kiểm tra kết nối, server, service trước khi request Common.Utilities.IsRequestAllow(ApplicationConstant.SystemService.SMSService.layGiaTri()); client = SMSServiceClient(ApplicationConstant.SystemService.SMSService); request = Common.Utilities.PrepareRequest(new SMSRequest()); response = new SMSResponse(); //Khởi tạo request request.Function = DatabaseConstant.Function.SMS_DANG_KY_DVU; request.Action = action; request.objDichVu = objDichVu; // make a call to service client here response = client.SMS(request); //Kiểm tra kết quả trả về Common.Utilities.ValidResponse(request, response); if (response == null) { iret = 0; } else { listClientResponseDetail = Common.Utilities.convertToClientResponseDetail(response); objDichVu = response.objDichVu; if (response.ResponseStatus.Equals(ApplicationConstant.ResponseStatus.THANH_CONG)) { iret = 1; } else { iret = 0; } } } catch (Exception ex) { iret = 0; LLogging.WriteLog(System.Reflection.MethodInfo.GetCurrentMethod().ToString(), LLogging.LogType.ERR, ex); throw ex; } finally { if (client.State == CommunicationState.Faulted) { client.Abort(); } else { client.Close(); } client = null; request = null; response = null; } return(iret); }