public async Task <IEnumerable <Record> > GetRecords(string objectType)
        {
            Client = new SoapClient();
            CallOptions      callOptions      = new CallOptions();
            LoginScopeHeader loginScopeHeader = new LoginScopeHeader()
            {
                organizationId = SConfig.OrganizationId, portalId = SConfig.PortalId
            };
            LocaleOptions lOptions = new LocaleOptions();
            //callOptions.client = "";
            var packageVersionsHeader = new List <PackageVersion>();

            List <Record> Records = new List <Record>();
            var           lr      = loginToSalesForce();

            if (lr.Result)
            {
                //var sObjectArray = Client.describeSObjectsAsync(sessionHeader, callOptions, packageVersionsHeader.ToArray(), lOptions, new string[] { objectType });
                var sObjectArray = Client.describeSObjectsAsync(sessionHeader, null, null, null, new string[] { objectType });
                foreach (var item in sObjectArray.Result.result)
                {
                    Record rec = new Record();
                    for (var i = 0; i < item.fields.Count(); i++)
                    {
                        rec.Name = item.fields[i].name;
                        Records.Add(rec);
                    }
                }
            }


            return(Records);
        }
        public async Task <bool> loginToSalesForce()
        {
            CallOptions      callOptions      = new CallOptions();
            LoginScopeHeader loginScopeHeader = new LoginScopeHeader()
            {
                organizationId = SConfig.OrganizationId, portalId = SConfig.PortalId
            };

            //callOptions.client = "";
            LoginClient = new SoapClient();
            //loginResponse res =  await  LoginClient.loginAsync(loginScopeHeader, callOptions, SConfig.UserName, SConfig.Password);
            try
            {
                loginResponse res = await LoginClient.loginAsync(null, null, SConfig.UserName, SConfig.Password);

                var sessionId = res.result.sessionId;
                if (!string.IsNullOrEmpty(sessionId))
                {
                    Client.Endpoint.Address = new System.ServiceModel.EndpointAddress(res.result.serverUrl);
                    sessionHeader           = new SessionHeader()
                    {
                        sessionId = sessionId
                    };
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception e)
            {
                var mes = e;
                return(false);
            }
        }
Beispiel #3
0
        //[Route("IntegerateSfCustomeList")]
        public ClsCustomerServiceLineResponse IntegerateSfCustServiceLine(ClsCusServiceLineIntegRequest ObjRequest)
        {
            ClsCustomerServiceLineResponse  ObjResponse = new ClsCustomerServiceLineResponse();
            List <ClsListofCustServiceLine> LstRes      = new List <ClsListofCustServiceLine>();

            try
            {
                //ObjRequest.LoginUserName = "******";
                //ObjRequest.LoginPassword = "******" + "6ohQKoPPG99OP0u8SalTFy8E";
                SoapClient       ss = new SoapClient();
                LoginResult      lr = new LoginResult();
                LoginScopeHeader LH = new LoginScopeHeader();

                if (sessionId == null | sessionId == "")
                {
                    // Login Call

                    lr = ss.login(null, ObjRequest.LoginUserName, ObjRequest.LoginPassword);
                    if (lr.passwordExpired)
                    {
                        ObjResponse.StatusID          = 300;
                        ObjResponse.StatusDescription = "Password Expired";
                        return(ObjResponse);
                    }
                    sessionId = lr.sessionId.ToString().Trim();
                    serverUrl = lr.serverUrl.ToString().Trim();
                }

                // Store SessionId in SessionHeader; We will need while making query() call
                SessionHeader sHeader = new SessionHeader();
                sHeader.sessionId = sessionId;

                // Variable to store query results
                QueryResult qr  = new QueryResult();
                SoapClient  ss1 = new SoapClient();
                ss1.ChannelFactory.Endpoint.Address = new System.ServiceModel.EndpointAddress(serverUrl);

                ss1.query(sHeader, null, null, null, @"SELECT Id
                                                    ,Name
                                                    ,enrtcr__Remaining__c
                                                    ,enrtcr__Item_Overclaim__c
                                                    ,enrtcr__Support_Contract__c
                                                    ,enrtcr__Support_Contract__r.Name
                                                    ,enrtcr__Support_Contract__r.enrtcr__End_Date__c
                                                    ,enrtcr__Support_Contract__r.enrtcr__Status__c
                                                    ,enrtcr__Support_Contract__r.enrtcr__Funding_Type__c
                                                    ,enrtcr__Support_Contract__r.enrtcr__Funding_Management__c
                                                    ,enrtcr__Support_Contract__r.enrtcr__Client__c
                                                    ,enrtcr__Category_Item__r.enrtcr__Support_Category_Amount__c
                                                    ,enrtcr__Category_Item__r.enrtcr__Delivered__c
                                                    ,enrtcr__Site__c
                                                    ,enrtcr__Site__r.Name
                                                    ,enrtcr__Site__r.enrtcr__Site_GL_Code__c
                                                    ,enrtcr__Service__c
                                                    ,enrtcr__Service__r.Name
                                                    ,enrtcr__Site_Service_Program__c
                                                    ,enrtcr__Rate__c
                                                    ,enrtcr__Rate__r.Name
                                                    ,enrtcr__Rate__r.enrtcr__Amount_Ex_GST__c
                                                    ,enrtcr__Rate__r.enrtcr__Quantity_Type__c
                                                    ,enrtcr__Rate__r.enrtcr__Allow_Rate_Negotiation__c
                                                    FROM enrtcr__Support_Contract_Item__c 
                                                    WHERE (
                                                           (enrtcr__Service__c = 'a0h5P0000004KmMQAU' AND enrtcr__Rate__r.enrtcr__Quantity_Type__c = 'Annual')
                                                            OR (enrtcr__Service__c = 'a0h5P0000005n8GQAQ' AND enrtcr__Rate__r.enrtcr__Quantity_Type__c = 'Each')
                                                            OR (enrtcr__Service__c = 'a0h5P0000004L35QAE' AND enrtcr__Rate__r.enrtcr__Quantity_Type__c = 'Hour')
                                                          ) ", out qr);

                sObject[] records = qr.records;
                if (records != null)
                {
                    if (records.Length > 0)
                    {
                        for (var i = 0; i <= records.Length - 1; i++)
                        {
                            ClsListofCustServiceLine Res = new ClsListofCustServiceLine();
                            Res.Id   = ((SfServiceRef.enrtcr__Support_Contract_Item__c)qr.records[i]).Id;
                            Res.Name = ((SfServiceRef.enrtcr__Support_Contract_Item__c)qr.records[i]).Name;
                            Res.enrtcr__remaining__c             = ((SfServiceRef.enrtcr__Support_Contract_Item__c)qr.records[i]).enrtcr__Remaining__c;
                            Res.enrtcr__Item_Overclaim__c        = ((SfServiceRef.enrtcr__Support_Contract_Item__c)qr.records[i]).enrtcr__Item_Overclaim__c;
                            Res.enrtcr__Support_Contract__c      = ((SfServiceRef.enrtcr__Support_Contract_Item__c)qr.records[i]).enrtcr__Support_Contract__c;
                            Res.enrtcr__Support_Contract__r_Name = ((SfServiceRef.enrtcr__Support_Contract_Item__c)qr.records[i]).enrtcr__Support_Contract__r.Name;
                            Res.enrtcr__Support_Contract__r_enrtcr__End_Date__c             = ((SfServiceRef.enrtcr__Support_Contract_Item__c)qr.records[i]).enrtcr__Support_Contract__r.enrtcr__End_Date__c;
                            Res.enrtcr__Support_Contract__r_enrtcr__Status__c               = ((SfServiceRef.enrtcr__Support_Contract_Item__c)qr.records[i]).enrtcr__Support_Contract__r.enrtcr__Status__c;
                            Res.enrtcr__Support_Contract__r_enrtcr__Funding_Type__c         = ((SfServiceRef.enrtcr__Support_Contract_Item__c)qr.records[i]).enrtcr__Support_Contract__r.enrtcr__Funding_Type__c;
                            Res.enrtcr__Support_Contract__r_enrtcr__Funding_Management__c   = ((SfServiceRef.enrtcr__Support_Contract_Item__c)qr.records[i]).enrtcr__Support_Contract__r.enrtcr__Funding_Management__c;
                            Res.enrtcr__Support_Contract__r_enrtcr__Client__c               = ((SfServiceRef.enrtcr__Support_Contract_Item__c)qr.records[i]).enrtcr__Support_Contract__r.enrtcr__Client__c;
                            Res.enrtcr__Category_Item__r_enrtcr__Support_Category_Amount__c = ((SfServiceRef.enrtcr__Support_Contract_Item__c)qr.records[i]).enrtcr__Category_Item__r.enrtcr__Support_Category_Amount__c;
                            Res.enrtcr__Category_Item__r_enrtcr__Delivered__c               = ((SfServiceRef.enrtcr__Support_Contract_Item__c)qr.records[i]).enrtcr__Category_Item__r.enrtcr__Delivered__c;
                            Res.enrtcr__Site__c      = ((SfServiceRef.enrtcr__Support_Contract_Item__c)qr.records[i]).enrtcr__Site__c;
                            Res.enrtcr__Site__r_Name = ((SfServiceRef.enrtcr__Support_Contract_Item__c)qr.records[i]).enrtcr__Site__r.Name;
                            Res.enrtcr__Site__r_enrtcr__Site_GL_Code__c = ((SfServiceRef.enrtcr__Support_Contract_Item__c)qr.records[i]).enrtcr__Site__r.enrtcr__Site_GL_Code__c;
                            Res.enrtcr__Service__c              = ((SfServiceRef.enrtcr__Support_Contract_Item__c)qr.records[i]).enrtcr__Service__c;
                            Res.enrtcr__Service__r_Name         = ((SfServiceRef.enrtcr__Support_Contract_Item__c)qr.records[i]).enrtcr__Service__r.Name;
                            Res.enrtcr__Site_Service_Program__c = ((SfServiceRef.enrtcr__Support_Contract_Item__c)qr.records[i]).enrtcr__Site_Service_Program__c;
                            Res.enrtcr__Rate__c      = ((SfServiceRef.enrtcr__Support_Contract_Item__c)qr.records[i]).enrtcr__Rate__c;
                            Res.enrtcr__Rate__r_Name = ((SfServiceRef.enrtcr__Support_Contract_Item__c)qr.records[i]).enrtcr__Rate__r.Name;
                            Res.enrtcr__Rate__r_enrtcr__Amount_Ex_GST__c          = ((SfServiceRef.enrtcr__Support_Contract_Item__c)qr.records[i]).enrtcr__Rate__r.enrtcr__Amount_Ex_GST__c;
                            Res.enrtcr__Rate__r_enrtcr__Quantity_Type__c          = ((SfServiceRef.enrtcr__Support_Contract_Item__c)qr.records[i]).enrtcr__Rate__r.enrtcr__Quantity_Type__c;
                            Res.enrtcr__Rate__r_enrtcr__Allow_Rate_Negotiation__c = ((SfServiceRef.enrtcr__Support_Contract_Item__c)qr.records[i]).enrtcr__Rate__r.enrtcr__Allow_Rate_Negotiation__c;
                            LstRes.Add(Res);
                        }
                        ObjResponse.StatusID          = 200;
                        ObjResponse.StatusDescription = "Success";
                        ObjResponse.ObjLstCutomers    = LstRes;
                    }
                    else
                    {
                        ObjResponse.StatusID          = 202;
                        ObjResponse.StatusDescription = "Query executed successfully with no records returned";
                    }
                }
                else
                {
                    ObjResponse.StatusID          = 201;
                    ObjResponse.StatusDescription = "Query executed successfully with null result";
                }

                return(ObjResponse);
            }
            catch (Exception ex)
            {
                ObjResponse.StatusID          = 500;
                ObjResponse.StatusDescription = ex.Message.ToString();
                return(ObjResponse);
            }
        }
Beispiel #4
0
        public bool InsertDataintoSFDC(string userName, string password)
        {
            bool Result = false;
            var  bllist = GetBillingInformation();

            List <Customer> lstCus = new List <Customer>();
            bool            result = false;


            SoapClient       ss = new SoapClient();
            LoginResult      lr = new LoginResult();
            LoginScopeHeader LH = new LoginScopeHeader();

            if (sessionId == null | sessionId == "")
            {
                lr = ss.login(null, userName, password);
                if (!lr.passwordExpired)
                {
                    sessionId = lr.sessionId.ToString().Trim();
                    serverUrl = lr.serverUrl.ToString().Trim();
                    // Store SessionId in SessionHeader; We will need while making query() call
                    SessionHeader sHeader = new SessionHeader();
                    sHeader.sessionId = sessionId;
                    serverUrl         = "https://abilitycentre--NEWACUAT.my.salesforce.com/services/Soap/c/51.0/00D5P0000008nfN";
                    // Variable to store query results
                    QueryResult qr  = new QueryResult();
                    SoapClient  ss1 = new SoapClient();
                    //ss1.ChannelFactory.Endpoint.Address = new System.ServiceModel.EndpointAddress("https://abilitycentre--NEWACUAT.my.salesforce.com/services/data/v51.0/composite/tree/enrtcr__Support_Delivered__c/");
                    ss1.ChannelFactory.Endpoint.Address = new System.ServiceModel.EndpointAddress(serverUrl);
                    //foreach (var res in bllist)
                    //{
                    enrtcr__Support_Delivered__c esdc = new enrtcr__Support_Delivered__c();
                    esdc.Batch_Created__c    = true;
                    esdc.enrtcr__Client__c   = "0035P000003ws2OQAQ";
                    esdc.enrtcr__Date__c     = Convert.ToDateTime("2021-03-30");
                    esdc.enrtcr__Quantity__c = 10;
                    esdc.enrtcr__Support_Contract_Item__c = "a0n5P000000kHNgQAM";
                    esdc.enrtcr__Support_Contract__c      = "a0o5P000000Bc9vQAC";
                    esdc.enrtcr__Site__c = "a0l5P000000046nQAA";
                    esdc.enrtcr__Support_CategoryId__c   = "a0c5P000000Co8EQAS";
                    esdc.enrtcr__Site_Service_Program__c = "a0j5P000000dLBpQAM";
                    esdc.enrtcr__Rate__c   = "a0b5P0000014SHkQAM";
                    esdc.enrtcr__Worker__c = "0057F000005AtbWQAS";
                    esdc.enrtcr__Client_Rep_Accepted__c    = true;
                    esdc.enrtcr__Use_Negotiated_Rate__c    = true;
                    esdc.enrtcr__Negotiated_Rate_Ex_GST__c = 0.85;
                    esdc.enrtcr__Negotiated_Rate_GST__c    = 0.00;
                    LimitInfo[]  limt;
                    SaveResult[] createResults;
                    try
                    {
                        ss.create(sHeader, null, null, null, null, null, null, null, null, null, null, null, new sObject[] { esdc }, out limt, out createResults);
                        // CreateRecord(new HttpClient(), "New Record", "enrtcr__Support_Delivered__c", esdc);
                        //  Result = true;

                        var results = createResults[0].success;
                    }
                    catch (Exception ex)
                    {
                        var exp = ex.ToString();
                        Result = false;
                    }
                    // }
                    //
                }
            }
            return(Result);
        }
Beispiel #5
0
        public bool IntegerateSfCustServiceLine(string userName, string password)
        {
            logger.Info("Scheduled Customer Service Line job triggered");
            DBAction dba          = new DBAction(_integrationAppSettings);
            string   filterstring = dba.GetSalesforceInformation().Replace("\n", "");
            bool     result       = false;
            List <CustomerServiceLine> ltsCusline = new List <CustomerServiceLine>();

            SoapClient       ss = new SoapClient();
            LoginResult      lr = new LoginResult();
            LoginScopeHeader LH = new LoginScopeHeader();

            if (sessionId == null | sessionId == "")
            {
                lr = ss.login(null, userName, password);
                if (!lr.passwordExpired)
                {
                    sessionId = lr.sessionId.ToString().Trim();
                    serverUrl = lr.serverUrl.ToString().Trim();
                }
            }

            // Store SessionId in SessionHeader; We will need while making query() call
            SessionHeader sHeader = new SessionHeader();

            sHeader.sessionId = sessionId;

            // Variable to store query results
            QueryResult qr  = new QueryResult();
            SoapClient  ss1 = new SoapClient();

            ss1.ChannelFactory.Endpoint.Address = new System.ServiceModel.EndpointAddress(serverUrl);

            var lastintegratedDate = dba.GetLastintegratedDateandTime("Last_CustomerLineIntegrate");

            // if (lastintegratedDate == null)
            ss1.query(sHeader, null, null, null, @"SELECT Id
                                                    ,Name
                                                    ,enrtcr__Remaining__c
                                                    ,enrtcr__Item_Overclaim__c
                                                    ,enrtcr__Support_Contract__c
                                                    ,enrtcr__Support_Contract__r.Name
                                                    ,enrtcr__Support_Contract__r.enrtcr__End_Date__c
                                                    ,enrtcr__Support_Contract__r.enrtcr__Status__c
                                                    ,enrtcr__Support_Contract__r.enrtcr__Funding_Type__c
                                                    ,enrtcr__Support_Contract__r.enrtcr__Funding_Management__c
                                                    ,enrtcr__Support_Contract__r.enrtcr__Client__c
                                                    ,enrtcr__Category_Item__r.enrtcr__Support_Category_Amount__c
                                                    ,enrtcr__Category_Item__r.enrtcr__Delivered__c
                                                    ,enrtcr__Site__c
                                                    ,enrtcr__Site__r.Name
                                                    ,enrtcr__Site__r.enrtcr__Site_GL_Code__c
                                                    ,enrtcr__Service__c
                                                    ,enrtcr__Service__r.Name
                                                    ,enrtcr__Site_Service_Program__c
                                                    ,enrtcr__Rate__c
                                                    ,enrtcr__Rate__r.Name
                                                    ,enrtcr__Rate__r.enrtcr__Amount_Ex_GST__c
                                                    ,enrtcr__Rate__r.enrtcr__Quantity_Type__c
                                                    ,enrtcr__Rate__r.enrtcr__Allow_Rate_Negotiation__c
                                                    FROM enrtcr__Support_Contract_Item__c
                                                    WHERE(" + filterstring + ") AND enrtcr__Support_Contract__r.enrtcr__Status__c = 'Current' ", out qr);
            //else
            //{
            //    var UTCTime = Convert.ToDateTime(lastintegratedDate).ToString("yyyy-MM-dd") + "T" + Convert.ToDateTime(lastintegratedDate).ToString("HH:mm:ss") + "Z";
            //    ss1.query(sHeader, null, null, null, @"SELECT Id
            //                                        ,Name
            //                                        ,enrtcr__Remaining__c
            //                                        ,enrtcr__Item_Overclaim__c
            //                                        ,enrtcr__Support_Contract__c
            //                                        ,enrtcr__Support_Contract__r.Name
            //                                        ,enrtcr__Support_Contract__r.enrtcr__End_Date__c
            //                                        ,enrtcr__Support_Contract__r.enrtcr__Status__c
            //                                        ,enrtcr__Support_Contract__r.enrtcr__Funding_Type__c
            //                                        ,enrtcr__Support_Contract__r.enrtcr__Funding_Management__c
            //                                        ,enrtcr__Support_Contract__r.enrtcr__Client__c
            //                                        ,enrtcr__Category_Item__r.enrtcr__Support_Category_Amount__c
            //                                        ,enrtcr__Category_Item__r.enrtcr__Delivered__c
            //                                        ,enrtcr__Site__c
            //                                        ,enrtcr__Site__r.Name
            //                                        ,enrtcr__Site__r.enrtcr__Site_GL_Code__c
            //                                        ,enrtcr__Service__c
            //                                        ,enrtcr__Service__r.Name
            //                                        ,enrtcr__Site_Service_Program__c
            //                                        ,enrtcr__Rate__c
            //                                        ,enrtcr__Rate__r.Name
            //                                        ,enrtcr__Rate__r.enrtcr__Amount_Ex_GST__c
            //                                        ,enrtcr__Rate__r.enrtcr__Quantity_Type__c
            //                                        ,enrtcr__Rate__r.enrtcr__Allow_Rate_Negotiation__c,LastModifiedDate
            //                                        FROM enrtcr__Support_Contract_Item__c
            //                                        WHERE(" + filterstring + ") AND enrtcr__Support_Contract__r.enrtcr__Status__c = 'Current' and LastModifiedDate > YESTERDAY", out qr);

            //}

            sObject[] records = qr.records;

            if (records != null)
            {
                if (records.Length > 0)
                {
                    for (var i = 0; i <= records.Length - 1; i++)
                    {
                        CustomerServiceLine csl = new CustomerServiceLine();
                        var customerId          = ((SfServiceRef.enrtcr__Support_Contract_Item__c)qr.records[i]).enrtcr__Support_Contract__r.enrtcr__Client__c;
                        csl.ServiceAgreementCustomerId = dba.GetCustomerId(customerId);
                        csl.ServiceAgreementId         = ((SfServiceRef.enrtcr__Support_Contract_Item__c)qr.records[i]).enrtcr__Support_Contract__c;;
                        csl.ServiceAgreementName       = ((SfServiceRef.enrtcr__Support_Contract_Item__c)qr.records[i]).enrtcr__Support_Contract__r.Name;
                        csl.ServiceAgreementEndDate    = Convert.ToDateTime(((SfServiceRef.enrtcr__Support_Contract_Item__c)qr.records[i]).enrtcr__Support_Contract__r.enrtcr__End_Date__c);

                        if (((SfServiceRef.enrtcr__Support_Contract_Item__c)qr.records[i]).enrtcr__Support_Contract__r.enrtcr__Status__c == "Current")
                        {
                            csl.ServiceAgreementStatus = (int)CustomerStatus.Current;
                        }
                        if (((SfServiceRef.enrtcr__Support_Contract_Item__c)qr.records[i]).enrtcr__Support_Contract__r.enrtcr__Status__c == "Expired")
                        {
                            csl.ServiceAgreementStatus = (int)CustomerStatus.Expired;
                        }
                        if (((SfServiceRef.enrtcr__Support_Contract_Item__c)qr.records[i]).enrtcr__Support_Contract__r.enrtcr__Status__c == "Rollover")
                        {
                            csl.ServiceAgreementStatus = (int)CustomerStatus.Rollover;
                        }
                        if (((SfServiceRef.enrtcr__Support_Contract_Item__c)qr.records[i]).enrtcr__Support_Contract__r.enrtcr__Status__c == "Cancelled")
                        {
                            csl.ServiceAgreementStatus = (int)CustomerStatus.Cancelled;
                        }
                        if (((SfServiceRef.enrtcr__Support_Contract_Item__c)qr.records[i]).enrtcr__Support_Contract__r.enrtcr__Status__c == "Quote Submitted")
                        {
                            csl.ServiceAgreementStatus = (int)CustomerStatus.QuoteSubmitted;
                        }
                        if (((SfServiceRef.enrtcr__Support_Contract_Item__c)qr.records[i]).enrtcr__Support_Contract__r.enrtcr__Status__c == "Client Declined")
                        {
                            csl.ServiceAgreementStatus = (int)CustomerStatus.ClientDeclined;
                        }

                        csl.ServiceAgreementFundingManagement = ((SfServiceRef.enrtcr__Support_Contract_Item__c)qr.records[i]).enrtcr__Support_Contract__r.enrtcr__Funding_Management__c;
                        csl.ServiceAgreementFundingType       = ((SfServiceRef.enrtcr__Support_Contract_Item__c)qr.records[i]).enrtcr__Support_Contract__r.enrtcr__Funding_Type__c;
                        csl.ServiceAgreementItemId            = ((SfServiceRef.enrtcr__Support_Contract_Item__c)qr.records[i]).Id;
                        csl.ServiceAgreementItemName          = ((SfServiceRef.enrtcr__Support_Contract_Item__c)qr.records[i]).Name;
                        csl.SupportCategoryAmount             = (float)((SfServiceRef.enrtcr__Support_Contract_Item__c)qr.records[i]).enrtcr__Category_Item__r.enrtcr__Support_Category_Amount__c;
                        csl.SupportCategoryDelivered          = (float?)((SfServiceRef.enrtcr__Support_Contract_Item__c)qr.records[i]).enrtcr__Category_Item__r.enrtcr__Delivered__c;
                        csl.FundsRemaining = (float?)((SfServiceRef.enrtcr__Support_Contract_Item__c)qr.records[i]).enrtcr__Remaining__c;

                        if (((SfServiceRef.enrtcr__Support_Contract_Item__c)qr.records[i]).enrtcr__Item_Overclaim__c == "Allow")
                        {
                            csl.ItemOverclaim = (int)ItemOverClaim.Allow;
                        }
                        if (((SfServiceRef.enrtcr__Support_Contract_Item__c)qr.records[i]).enrtcr__Item_Overclaim__c == "Warn")
                        {
                            csl.ItemOverclaim = (int)ItemOverClaim.Warn;
                        }
                        if (((SfServiceRef.enrtcr__Support_Contract_Item__c)qr.records[i]).enrtcr__Item_Overclaim__c == "Prevent")
                        {
                            csl.ItemOverclaim = (int)ItemOverClaim.Prevent;
                        }


                        csl.SiteId   = ((SfServiceRef.enrtcr__Support_Contract_Item__c)qr.records[i]).enrtcr__Site__c;
                        csl.SiteName = ((SfServiceRef.enrtcr__Support_Contract_Item__c)qr.records[i]).enrtcr__Site__r.Name;
                        // csl.SiteGlCode = "";
                        csl.SiteServiceProgramId = ((SfServiceRef.enrtcr__Support_Contract_Item__c)qr.records[i]).enrtcr__Site_Service_Program__c;
                        csl.ServiceId            = ((SfServiceRef.enrtcr__Support_Contract_Item__c)qr.records[i]).enrtcr__Service__c;
                        csl.ServiceName          = ((SfServiceRef.enrtcr__Support_Contract_Item__c)qr.records[i]).enrtcr__Service__r.Name;
                        csl.RateId               = ((SfServiceRef.enrtcr__Support_Contract_Item__c)qr.records[i]).enrtcr__Rate__c;
                        csl.RateName             = ((SfServiceRef.enrtcr__Support_Contract_Item__c)qr.records[i]).enrtcr__Rate__r.Name;
                        csl.RateAmount           = (float?)((SfServiceRef.enrtcr__Support_Contract_Item__c)qr.records[i]).enrtcr__Rate__r.enrtcr__Amount_Ex_GST__c;
                        csl.RateType             = ((SfServiceRef.enrtcr__Support_Contract_Item__c)qr.records[i]).enrtcr__Rate__r.enrtcr__Quantity_Type__c;
                        csl.AllowRateNegotiation = Convert.ToBoolean(((SfServiceRef.enrtcr__Support_Contract_Item__c)qr.records[i]).enrtcr__Rate__r.enrtcr__Allow_Rate_Negotiation__c == null ? false : true);
                        csl.Default              = false;
                        ltsCusline.Add(csl);
                    }
                    //Insert record to Database

                    dba.IntegrateCustomerLineinfointoDB(ltsCusline);
                }
                result = true;
            }
            return(result);
        }
Beispiel #6
0
        public bool IntegerateSfCustomeList(string userName, string password)
        {
            logger.Info("Scheduled Customer List job triggered");
            List <Customer> lstCus = new List <Customer>();
            bool            result = false;

            SoapClient       ss    = new SoapClient();
            LoginResult      lr    = new LoginResult();
            LoginScopeHeader LH    = new LoginScopeHeader();
            DBAction         dba   = new DBAction(_integrationAppSettings);
            var lastintegratedDate = dba.GetLastintegratedDateandTime("Last_CustomerIntegrate");

            if (sessionId == null | sessionId == "")
            {
                lr = ss.login(null, userName, password);
                if (!lr.passwordExpired)
                {
                    sessionId = lr.sessionId.ToString().Trim();
                    serverUrl = lr.serverUrl.ToString().Trim();
                    // Store SessionId in SessionHeader; We will need while making query() call
                    SessionHeader sHeader = new SessionHeader();
                    sHeader.sessionId = sessionId;

                    // Variable to store query results
                    QueryResult qr  = new QueryResult();
                    SoapClient  ss1 = new SoapClient();
                    ss1.ChannelFactory.Endpoint.Address = new System.ServiceModel.EndpointAddress(serverUrl);

                    //  if (lastintegratedDate == null)
                    ss1.query(sHeader, null, null, null, @"SELECT Id,Name,OtherStreet,OtherCity,OtherState,OtherPostalCode,RecordType.Name,Enrite_Care_Auto_Number__c,enrtcr__Status__c,LastModifiedDate FROM Contact WHERE RecordType.Name = 'Client' 
                        AND (enrtcr__Status__c='Current' OR enrtcr__Status__c='Deceased' OR enrtcr__Status__c='Inactive')", out qr);
                    //else
                    //{
                    //    var UTCDate = Convert.ToDateTime(lastintegratedDate);
                    //    var UTCTime = UTCDate.ToString("yyyy-MM-dd") + "T" + UTCDate.ToString("HH:mm:ss") + "Z";

                    //    ss1.query(sHeader, null, null, null, @"SELECT Id,Name,OtherStreet,OtherCity,OtherState,OtherPostalCode,RecordType.Name,Enrite_Care_Auto_Number__c,enrtcr__Status__c,LastModifiedDate FROM Contact WHERE RecordType.Name = 'Client'
                    //    AND (enrtcr__Status__c='Current' OR enrtcr__Status__c='Deceased' OR enrtcr__Status__c='Inactive') and LastModifiedDate >YESTERDAY", out qr);

                    //}
                    sObject[] records = qr.records;
                    if (records != null)
                    {
                        if (records.Length > 0)
                        {
                            for (var i = 0; i <= records.Length - 1; i++)
                            {
                                Customer cs = new Customer();
                                cs.CustomerId = ((SfServiceRef.Contact)qr.records[i]).Id;
                                cs.Name       = ((SfServiceRef.Contact)qr.records[i]).Name;
                                cs.Street     = ((SfServiceRef.Contact)qr.records[i]).OtherStreet;
                                cs.City       = ((SfServiceRef.Contact)qr.records[i]).OtherCity;
                                cs.State      = ((SfServiceRef.Contact)qr.records[i]).OtherState;
                                cs.PostalCode = ((SfServiceRef.Contact)qr.records[i]).OtherPostalCode;
                                cs.LumaryId   = ((SfServiceRef.Contact)qr.records[i]).Enrite_Care_Auto_Number__c;
                                if (((SfServiceRef.Contact)qr.records[i]).enrtcr__Status__c != null)
                                {
                                    cs.Active = false;
                                    if (((SfServiceRef.Contact)qr.records[i]).enrtcr__Status__c == "Current")
                                    {
                                        cs.Status = 1;
                                    }
                                    if (((SfServiceRef.Contact)qr.records[i]).enrtcr__Status__c == "Deceased")
                                    {
                                        cs.Status = 2;
                                    }
                                    if (((SfServiceRef.Contact)qr.records[i]).enrtcr__Status__c == "Inactive")
                                    {
                                        cs.Status = 3;
                                    }
                                }
                                cs.Active = true;
                                cs.OnHold = false;
                                lstCus.Add(cs);
                            }
                        }

                        dba.IntegrateCustomerInfotoDB(lstCus);
                    }
                }
                result = true;
            }
            return(result);
        }
        //[Route("IntegerateSfCustomeList")]
        public ClsCustomerListResponse IntegerateSfCustomeList(ClsCusIntegRequest ObjRequest)
        {
            ClsCustomerListResponse   ObjResponse = new ClsCustomerListResponse();
            List <ClsListofCustomers> LstRes      = new List <ClsListofCustomers>();

            try
            {
                //ObjRequest.LoginUserName = "******";
                //ObjRequest.LoginPassword = "******" + "6ohQKoPPG99OP0u8SalTFy8E";
                SoapClient       ss = new SoapClient();
                LoginResult      lr = new LoginResult();
                LoginScopeHeader LH = new LoginScopeHeader();

                if (sessionId == null | sessionId == "")
                {
                    // Login Call

                    lr = ss.login(null, ObjRequest.LoginUserName, ObjRequest.LoginPassword);
                    if (lr.passwordExpired)
                    {
                        ObjResponse.StatusID          = 300;
                        ObjResponse.StatusDescription = "Password Expired";
                        // ObjResponse.Response = null;

                        return(ObjResponse);
                    }
                    sessionId = lr.sessionId.ToString().Trim();
                    serverUrl = lr.serverUrl.ToString().Trim();
                }

                // Store SessionId in SessionHeader; We will need while making query() call
                SessionHeader sHeader = new SessionHeader();
                sHeader.sessionId = sessionId;

                // Variable to store query results
                QueryResult qr  = new QueryResult();
                SoapClient  ss1 = new SoapClient();
                ss1.ChannelFactory.Endpoint.Address = new System.ServiceModel.EndpointAddress(serverUrl);

                ss1.query(sHeader, null, null, null, @"SELECT Id,Name,OtherStreet,OtherCity,OtherState,OtherPostalCode,RecordType.Name FROM Contact WHERE RecordType.Name = 'Client' 
                        AND (enrtcr__Status__c='Current' OR enrtcr__Status__c='Deceased' OR enrtcr__Status__c='Inactive')", out qr);


                sObject[] records = qr.records;
                if (records != null)
                {
                    if (records.Length > 0)
                    {
                        for (var i = 0; i <= records.Length - 1; i++)
                        {
                            ClsListofCustomers Res = new ClsListofCustomers();
                            Res.Id              = ((SfServiceRef.Contact)qr.records[i]).Id;
                            Res.Name            = ((SfServiceRef.Contact)qr.records[i]).Name;
                            Res.OtherStreet     = ((SfServiceRef.Contact)qr.records[i]).OtherStreet;
                            Res.OtherCity       = ((SfServiceRef.Contact)qr.records[i]).OtherCity;
                            Res.OtherStreet     = ((SfServiceRef.Contact)qr.records[i]).OtherState;
                            Res.OtherPostalCode = ((SfServiceRef.Contact)qr.records[i]).OtherPostalCode;
                            Res.RecordTypeName  = ((SfServiceRef.Contact)qr.records[i]).RecordType.Name;
                            LstRes.Add(Res);
                        }


                        ObjResponse.StatusID          = 200;
                        ObjResponse.StatusDescription = "Success";
                        ObjResponse.ObjLstCutomers    = LstRes;
                    }
                    else
                    {
                        ObjResponse.StatusID          = 202;
                        ObjResponse.StatusDescription = "Unable to find client";
                    }
                }
                else
                {
                    ObjResponse.StatusID          = 201;
                    ObjResponse.StatusDescription = "User not found";
                }

                //string JS = JsonConvert.SerializeObject(records);
                //Interaction.MsgBox("Success");

                //                ObjResponse.Response = records;
                return(ObjResponse);
            }
            catch (Exception ex)
            {
                ObjResponse.StatusID          = 500;
                ObjResponse.StatusDescription = ex.Message.ToString();
                //ObjResponse.Response = null;
                return(ObjResponse);
            }
        }