Example #1
0
 public Cenpos(SastnRepository sastnRepository, AssainquiryRepository assainquiryRepository, AssasetupRepository assasetupRepository, AsoeheaderRepository asoeheaderRepository, AssharedinquiryRepository assharedinquiryRepository, ArssRepository arssRepository, ArscRepository arscRepository, AsarsetupRepository asarsetupRepository)
 {
     this.sastnRepository           = sastnRepository;
     this.assainquiryRepository     = assainquiryRepository;
     this.assasetupRepository       = assasetupRepository;
     this.asoeheaderRepository      = asoeheaderRepository;
     this.assharedinquiryRepository = assharedinquiryRepository;
     this.arssRepository            = arssRepository;
     this.arscRepository            = arscRepository;
     this.asarsetupRepository       = asarsetupRepository;
 }
Example #2
0
 public ArscApiController(ArscRepository repository)
 {
     this.repository = repository;
     this.OnCreated();
 }
Example #3
0
 public AretService(AretRepository aretRepository, ArscRepository arscRepository, ArssRepository arssRepository)
 {
     this.aretRepository = aretRepository;
     this.arscRepository = arscRepository;
     this.arssRepository = arssRepository;
 }
Example #4
0
        public MingleWorkflowResponse StartMingleWorkflow(MingleWorkflowRequest req)
        {
            var uriBuilder = new UriBuilder(this._tokenObject.IonApiUrl + "/Mingle/SocialService.Svc/User/Detail");

            NLogLogger.Trace(uriBuilder.Uri.ToString(), "StartMingleWorkflow ionApiUrl");
            NLogLogger.Trace(this._bearerToken, "StartMingleWorkflow bearerToken");

            if (this._bearerToken == null)
            {
                var error = new Errorlist()
                {
                    Severity = 1, Code = 400
                };
                var errorResponse = new MingleWorkflowResponse()
                {
                    ErrorList = new[] { error }, Status = 0
                };
                NLogLogger.Error("bearertoken not harvested from request header", "StartMingleWorkflow");
                return(errorResponse);
            }

            var bearerTokenObject = JsonConvert.DeserializeObject <BearerTokenObject>(this._bearerToken);

            if (this._progressConfiguration.InforOverrideHttps)
            {
                ServicePointManager.ServerCertificateValidationCallback += ValidateRemoteCertificate;
            }
            ServicePointManager.SecurityProtocol |= SecurityProtocolType.Tls12;


            //get ming.le user guid
            string userGuid = null;

            var webHeaderCollection = new WebHeaderCollection
            {
                { "Authorization", $"Bearer {bearerTokenObject.access_token}" },
                { "Accept", "application/json" },
                { "Content-Type", "application/json" }
            };


            var responseObject =
                MakeWebCall.DoWebCallString <MingleUserDetailResponse>(uriBuilder.Uri, false, string.Empty, webHeaderCollection, out var inError,
                                                                       NLogLogger);

            if (!inError)
            {
                if (responseObject.UserDetailList.Length == 1)
                {
                    userGuid = responseObject.UserDetailList[0].UserGUID;

                    var emailParam = new Startparameter {
                        Name = "EmailAddr", SerializedValue = responseObject.UserDetailList[0].Email
                    };
                    req.StartParameters = (req.StartParameters ?? Enumerable.Empty <Startparameter>()).Concat(Enumerable.Repeat(emailParam, 1)).ToArray();
                }
            }
            else
            {
                var error = new Errorlist()
                {
                    Severity = 1, Code = 500, Message = "User Details Error"
                };
                var errorResponse = new MingleWorkflowResponse()
                {
                    ErrorList = new[] { error }, Status = 0
                };
                NLogLogger.Error($"Error retrieving UserGUID");
                return(errorResponse);
            }

            //get customer details, add to payload
            var customerNumber = req.StartParameters.SingleOrDefault(item => item.Name == "CustomerNumber");

            if (customerNumber != null)
            {
                var arscRepository = new ArscRepository(this._connection);
                var arsc           = arscRepository.Get(0, int.Parse(customerNumber.SerializedValue), false, 1, "");
                var custNameParam  = new Startparameter {
                    Name = "CustomerName", SerializedValue = arsc.name
                };
                req.StartParameters = (req.StartParameters ?? Enumerable.Empty <Startparameter>()).Concat(Enumerable.Repeat(custNameParam, 1)).ToArray();
            }

            webHeaderCollection = new WebHeaderCollection
            {
                { "Accept", "application/json" },
                { "Content-Type", "application/json" }
            };
            uriBuilder = new UriBuilder(uriBuilder.Uri + $"/Mingle/IONDataService.Svc/User/{userGuid}/Workflow/Start");
            var returnObject = MakeWebCall.DoWebCallString <MingleWorkflowResponse>(uriBuilder.Uri, true,
                                                                                    JsonConvert.SerializeObject(req), webHeaderCollection, out inError, NLogLogger);

            if (inError)
            {
                var error = new Errorlist()
                {
                    Severity = 1, Code = 500, Message = "User Details Error"
                };
                var errorResponse = new MingleWorkflowResponse()
                {
                    ErrorList = new[] { error }, Status = 0
                };
                NLogLogger.Error($"Error starting workflow");
                return(errorResponse);
            }
            return(returnObject);
        }