Exemple #1
0
 public ActionResult Post([FromBody] AddRemoveRequestCompositeEntity addRemoveRequestCompositeEntity)
 {
     try
     {
         AddRemoveRequestService addRemoveRequestService = new AddRemoveRequestService();
         addRemoveRequestService.SubmitAddRemoveRequest(addRemoveRequestCompositeEntity);
         _logger.LogInformation("Logging from Contract controller try block");
         return(Ok("Challenge Accepted"));
         //return new JsonResult("Here");
     }
     catch (Exception ex)
     {
         _logger.LogError(ex, ex.Message);
         return(BadRequest(ex));
     }
 }
Exemple #2
0
        public List <ContractAmendmentRequestARDetails> ContractAmendmentRequestARs(AddRemoveRequestCompositeEntity addRemoveRequestCompositeEntity)
        {
            var config = new MapperConfiguration(cfg =>
            {
                cfg.CreateMap <ContractAmendmentRequestARDetailsDTO, ContractAmendmentRequestARDetails>();
                cfg.CreateMap <UserInfoDTO, UserInfo>();
            });
            var AmendmentRequestARDetails = new List <ContractAmendmentRequestARDetails>();
            var mapper = new Mapper(config);

            foreach (ContractAmendmentRequestARDetailsDTO contractAmendmentRequestARDetailsDTO in addRemoveRequestCompositeEntity.ContractAddRemoveRequestDetails)
            {
                ContractAmendmentRequestARDetails contractAmendmentRequestARDetails = mapper.Map <ContractAmendmentRequestARDetails>(contractAmendmentRequestARDetailsDTO);
                AmendmentRequestARDetails.Add(contractAmendmentRequestARDetails);
            }
            return(AmendmentRequestARDetails);
        }
Exemple #3
0
        //private readonly ILogger<AddRemoveRequestService> _logger;



        public void SubmitAddRemoveRequest(AddRemoveRequestCompositeEntity addRemoveRequestCompositeEntity)
        {
            try
            {
                using (ContractDbContext contractDetailsEntities = new ContractDbContext())
                {
                    var config = new MapperConfiguration(cfg =>
                    {
                        cfg.CreateMap <ContractAmendmentRequestARDetailsDTO, ContractAmendmentRequestARDetails>();
                        cfg.CreateMap <UserInfoDTO, UserInfo>();
                    }
                                                         );
                    var mapper = new Mapper(config);
                    //UserInfo userInfo1 = mapper.Map<UserInfo>(addRemoveRequestCompositeEntity.UserInfo);
                    UserInfo userInfo = new UserInfo();

                    userInfo = GetEntityByDTOKey(addRemoveRequestCompositeEntity.UserInfo);

                    // _logger.LogInformation("Logging from addremoverequestservice");

                    //UserInfo userInfo = mapper. userMap<UserInfo>(addRemoveRequestCompositeEntity.UserInfo);
                    var customerNumber = addRemoveRequestCompositeEntity.AssociatedSoldTo;
                    //var ContractAmendmentAr = new List<ContractAmendmentRequestARDetails>();
                    //ContractAmendmentAr = ContractAmendmentRequestARs(addRemoveRequestCompositeEntity);
                    var entityID = userInfo.Entity_ID;
                    var email    = userInfo.EMail;
                    ContractAmendmentRequest contractAmendmentRequest = new ContractAmendmentRequest
                    {
                        // ContractAmendmentRequestID = 98373,
                        SubmissionDateTime  = System.DateTime.UtcNow,
                        EntityID            = entityID,
                        SAPResponseDateTime = System.DateTime.UtcNow,
                        SAPResponseDetails  = " ",
                        CustomerNumber      = customerNumber,
                        Description         = " ",
                        Status           = (short)AddRemoveRequestStatus.InProgress,
                        Type             = (short)AddRemoveRequestType.AddRemove,
                        LastModifiedDate = System.DateTime.UtcNow,
                        LastModifiedBy   = "xyz",
                        IsArchived       = false,
                        UserEmail        = email,
                    };

                    // contractDetailsEntities.Entry(contractAmendmentRequest).State = EntityState.Added;
                    //contractDetailsEntities.ContractAmendmentRequest.Add(contractAmendmentRequest);
                    contractDetailsEntities.ContractAmendmentRequest.Add(contractAmendmentRequest);
                    contractDetailsEntities.SaveChanges();
                    string contractSalesOrg = string.Empty;

                    string sAgreementNumber = string.Empty;
                    //contractAmendmentRequest.ContractAmendmentRequestARDetails = ContractAmendmentRequestARs(addRemoveRequestCompositeEntity);
                    foreach (ContractAmendmentRequestARDetailsDTO contractAmendmentRequestARDetailsDTO in addRemoveRequestCompositeEntity.ContractAddRemoveRequestDetails)
                    {
                        ContractAmendmentRequestARDetails contractAmendmentRequestARDetails = mapper.Map <ContractAmendmentRequestARDetails>(contractAmendmentRequestARDetailsDTO);
                        contractAmendmentRequest.ContractAmendmentRequestARDetails.Add(contractAmendmentRequestARDetails);
                        //contractDetailsEntities.Entry(contractAmendmentRequestARDetails).State = EntityState.Added;

                        //contractDetailsEntities.ContractAmendmentRequestARDetails.Add(contractAmendmentRequestARDetails);
                        //contractAmendmentRequest.ContractAmendmentRequestARDetails.Add(contractAmendmentRequestARDetails);
                    }

                    contractDetailsEntities.Entry(contractAmendmentRequest).State = EntityState.Modified;
                    try {
                        contractDetailsEntities.SaveChanges();
                    }
                    catch (Exception e)
                    {
                        throw e;
                    }

                    //Send SAP request
                    ContractAmendmentSAPService contractAmendmentSAPServices = new ContractAmendmentSAPService();
                    AddRemoveRequestSAPResponse addRemoveRequestSAPResponse  = null;
                    try
                    {
                        addRemoveRequestSAPResponse = contractAmendmentSAPServices.SendSAPRequest(addRemoveRequestCompositeEntity.ContractAddRemoveRequestDetails).GetAwaiter().GetResult();
                    }
                    catch (Exception ex)
                    {
                        addRemoveRequestSAPResponse = CreateFailureSAPResponse(addRemoveRequestCompositeEntity.ContractAddRemoveRequestDetails, sAgreementNumber);

                        // objlog.LogException(ex, -1, null, "AddRemoveRequestService", System.Diagnostics.TraceEventType.Error, "", "SubmitAddRemoveRequest");
                        // LogHelper.LogExceptionMessage(ex);
                        //logger.LogException(ex);
                    }
                    finally
                    {
                        UpdateSAPResponse(contractAmendmentRequest, addRemoveRequestSAPResponse);

                        // persist the changes to database.
                        contractDetailsEntities.SaveChanges();
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemple #4
0
        public async Task <AddRemoveRequestSAPResponse> SendSAPRequest(List <ContractAmendmentRequestARDetailsDTO> contractAmendmentRequestARDetailsDTOList)
        {
            try
            {
                _addremoveRequest = new AddRemoveRequestCompositeEntity();
                _addremoveRequest.ContractAddRemoveRequestDetails = contractAmendmentRequestARDetailsDTOList;
                //Service SAPRFCService = new Service();
                //string strURL = System.Configuration.ConfigurationManager.AppSettings["ContractManagementSAPURL"];
                AddRemoveRequestSAPResponse addremoveResp           = null;
                ZLW_AGR_ADD_REM_CONTRACT[]  sapAddRemoveProductData = null;
                ZLW_OUT_GENERAL_DATA[]      sapOutput = null;
                BAPIRET2[] messageOutput    = null;
                int        numberOfProducts = contractAmendmentRequestARDetailsDTOList.Count;
                sapAddRemoveProductData = new ZLW_AGR_ADD_REM_CONTRACT[numberOfProducts];
                sapOutput     = new ZLW_OUT_GENERAL_DATA[0];
                messageOutput = new BAPIRET2[numberOfProducts];
                int count = 0;
                foreach (ContractAmendmentRequestARDetailsDTO addRemoveProduct in contractAmendmentRequestARDetailsDTOList)
                {
                    sapAddRemoveProductData[count] = new ZLW_AGR_ADD_REM_CONTRACT();
                    messageOutput[count]           = new BAPIRET2();

                    if (addRemoveProduct.Action == 1)
                    {
                        sapAddRemoveProductData[count].ACTN_CODE = "A";
                    }
                    else
                    {
                        sapAddRemoveProductData[count].ACTN_CODE = "R";
                    }

                    sapAddRemoveProductData[count].VBELN      = addRemoveProduct.ContractNumber;
                    sapAddRemoveProductData[count].MATNR      = addRemoveProduct.LicensableID;
                    sapAddRemoveProductData[count].ITEM_CATEG = addRemoveProduct.BillingTypeCode;
                    count++;
                }
                Z_V_OSW_R_ADD_REM_CONTRACTRequest request = new Z_V_OSW_R_ADD_REM_CONTRACTRequest();
                request.In_Agr_Add_Rem_Contract_In = sapAddRemoveProductData;
                request.Out_General_Data_In        = sapOutput;
                request.Out_Messages_In            = messageOutput;
                // HttpConnector client = new HttpConnector();
                HttpClient httpClient = new HttpClient();
                var        baseUri    = "https://saptstws.trafficmanager.net/MST/MSSDOEMCONTRACT/";
                httpClient.BaseAddress = new Uri(baseUri);
                string token = "";

                AuthenticationResult accessToken = await GetToken();

                token = accessToken.AccessToken;
                // httpClient.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", "c55ddee3fc0643eab5534af29776892c");
                httpClient.DefaultRequestHeaders.Accept.Clear();
                httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                httpClient.DefaultRequestHeaders.Add("Authorization", accessToken.CreateAuthorizationHeader());
                httpClient.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", "c55ddee3fc0643eab5534af29776892c");
                httpClient.DefaultRequestHeaders.Add("Ocp-Apim-trace", "true");
                httpClient.DefaultRequestHeaders.Add("X-CorrelationId", Guid.NewGuid().ToString());
                var myContent   = JsonConvert.SerializeObject(request);
                var buffer      = System.Text.Encoding.UTF8.GetBytes(myContent);
                var byteContent = new ByteArrayContent(buffer);
                byteContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
                var response = await httpClient.PostAsync("api/Contracts/AddOrRemove", byteContent);

                //var response = await httpClient.PostAsync("api/Contracts/AddOrRemove/", request, new JsonMediaTypeFormatter());

                var responseContent = await response.Content.ReadAsStringAsync();

                Z_V_Osw_R_Add_Rem_Contract_RFCReturn RFCStrOutput = JsonConvert.DeserializeObject <Z_V_Osw_R_Add_Rem_Contract_RFCReturn>(responseContent);
                addremoveResp             = ProcessSAPResponse(RFCStrOutput);
                addremoveResp.SAPResponse = SerializeObject(RFCStrOutput, typeof(Z_V_Osw_R_Add_Rem_Contract_RFCReturn));

                return(addremoveResp);
            }
            catch (Exception ex)
            {
                // _logger.LogError(ex, ex.Message);
                throw ex;
            }
        }