public PurchaseInvoiceWrapper[] StatusArrivalRequest(RequestWrapper request)
        {
            Contract.Requires(request != null);
            Log.InfoFormat("Start of StatusArrivalRequest");
            Log.DebugFormat("Сущность - «{0}», фильтр - «{1}», значение - «{2}»", request.ENTITY, request.FILTER, request.VALUES);
            var startAllTime = DateTime.Now;

            Log.Debug(request.DumpToXML());

            decimal?mandantID = null;

            mandantID = CheckMandant(mandantID, request.MandantCode);
            if (mandantID == null)
            {
                throw new NullReferenceException("MandantCode");
            }
            Log.DebugFormat("Мандант = {0}", request.MandantCode);

            var listArrival = new List <PurchaseInvoiceWrapper>();

            try
            {
                using (var mgr = IoC.Instance.Resolve <IBaseManager <IWB> >())
                {
                    switch (request.FILTER)
                    {
                    case "NAME":
                        actArrival(mgr, listArrival, request, mandantID);
                        break;

                    case "INDATEPLAN":
                        statusArrival(mgr, listArrival, request, mandantID);
                        break;

                    default:
                        var badFilter = new PurchaseInvoiceWrapper {
                            STATUSCODE_R_NAME = string.Format("Некорректный фильтр - {0}", request.FILTER)
                        };
                        listArrival.Add(badFilter);
                        break;
                    }
                }
            }
            catch (IntegrationLogicalException iex)
            {
                var message = ExceptionHelper.ExceptionToString(iex);
                Log.Error(message, iex);

                var ew = new PurchaseInvoiceWrapper {
                    STATUSCODE_R_NAME = message
                };
                listArrival.Add(ew);
            }
            catch (Exception ex)
            {
                var message = ExceptionHelper.ExceptionToString(ex);
                Log.Error(message, ex);

                var ew = new PurchaseInvoiceWrapper {
                    STATUSCODE_R_NAME = "Системная ошибка: " + message
                };
                listArrival.Add(ew);
            }
            finally
            {
                Log.DebugFormat("Общее время работы {0}", DateTime.Now - startAllTime);
                Log.InfoFormat("End of StatusArrivalRequest");
            }
            return(listArrival.ToArray());
        }