Example #1
0
        public List <DtoMultipleReponse> Execute(List <ExecuteMultipleRequest> resultList)
        {
            try
            {
                List <DtoMultipleReponse> errorResponseList = new List <DtoMultipleReponse>();

                for (int i = 0; i < resultList.Count; i++)
                {
                    ExecuteMultipleRequest  request        = resultList[i] as ExecuteMultipleRequest;
                    ExecuteMultipleResponse responseResult = (ExecuteMultipleResponse)_orgProxy.Execute(request);
                    Console.WriteLine(string.Format("ExecuteMultipleRequest Execute - Trying - {0}", i + 1));

                    foreach (var responseItem in responseResult.Responses)
                    {
                        if (responseItem.Response != null)
                        {
                        }
                        else if (responseItem.Fault != null)
                        {
                            DtoMultipleReponse dto = new DtoMultipleReponse()
                            {
                                IsSuccess           = false,
                                RequestId           = ((Entity)request.Requests[responseItem.RequestIndex].Parameters["Target"]).Id.ToString(),
                                RequestIndex        = responseItem.RequestIndex,
                                RequestName         = request.Requests[responseItem.RequestIndex].RequestName,
                                RequestFaultMessage = responseItem.Fault.Message
                            };
                            errorResponseList.Add(dto);
                        }
                    }
                }

                foreach (var e in errorResponseList)
                {
                    if (e.IsSuccess == false)
                    {
                        Console.WriteLine(string.Format("[ERROR] RequestFaultMessage : {0}", e.RequestFaultMessage));
                        Console.WriteLine(string.Format("[ERROR] RequestId : {0}", e.RequestId));
                        Console.WriteLine(string.Format("[ERROR] RequestIndex : {0}", e.RequestIndex));
                        Console.WriteLine(string.Format("[ERROR] RequestName : {0}", e.RequestName));
                    }
                }

                return(errorResponseList);
            }
            catch (Exception)
            {
                throw;
            }
        }
        public List <DtoMultipleReponse> Execute(List <ExecuteTransactionRequest> resultList, bool isOnlyErrRes = true)
        {
            List <DtoMultipleReponse> errorResponseList = new List <DtoMultipleReponse>();

            try
            {
                for (int i = 0; i < resultList.Count; i++)
                {
                    ExecuteTransactionRequest  request        = resultList[i] as ExecuteTransactionRequest;
                    ExecuteTransactionResponse responseResult = (ExecuteTransactionResponse)_orgProxy.Execute(request);

                    if (!isOnlyErrRes)
                    {
                        foreach (var responseItem in responseResult.Responses)
                        {
                            if (responseItem.Results.Count > 0)
                            {
                                DtoMultipleReponse dto = new DtoMultipleReponse()
                                {
                                    IsSuccess   = true,
                                    RequestName = responseItem.ResponseName
                                };

                                if ("Create".Equals(responseItem.ResponseName))                                 //Create만 Return Id가 존재하는 듯함
                                {
                                    //dto.RequestId = responseItem.Results["id"].ToString();
                                }
                                errorResponseList.Add(dto);
                            }
                        }
                    }
                }
                return(errorResponseList);
            }
            catch (FaultException <OrganizationServiceFault> ex)
            {
                DtoMultipleReponse dto = new DtoMultipleReponse()
                {
                    IsSuccess           = false,
                    RequestFaultMessage = ex.Detail.Message
                };
                errorResponseList.Add(dto);

                return(errorResponseList);
            }
            catch (Exception e)
            {
                throw e;
            }
        }