// Add Registration details to Customer subTab
        private string UpdateCustomerRecordRegistration(string auctionInternalId, SuiteContact suiteContact, string paddle, string startDate, string auctionName, string auctionType, string auctionTimeZone, string auctionViewingInfo, string auctionCurrencyCode, string auctionCity, AMCustomer.AMCustomer amCustomer, string logId)
        {
            try
            {
                if (auctionInternalId != "" && suiteContact.Id != "")
                {
                    var suiteCustomerAddressRecord = GetSuiteAddressCount(suiteContact.Id, logId);
                    //create address subrecord
                    if (amCustomer.Addresses.Count() > 0 && suiteCustomerAddressRecord == 0)
                    {
                        foreach (var amAddress in amCustomer.Addresses)
                        {
                            InsertSuiteAddress(amAddress, suiteContact, logId);
                        }
                    }
                }

                if (CheckForAuctionAvailability(auctionInternalId, logId))
                {
                    var recordID = CheckForRegistration(auctionInternalId, suiteContact, paddle, auctionName, logId);

                    return(recordID);
                }
            }
            catch (Exception ex)
            {
                SuiteWrapper.WriteTraceLog("UpdateCustomerRecordRegistration", "Error Message : " + ex.Message);
                common.InsertSuiteAmIntegrationLogDetail(new CreateTraceLogRequest()
                {
                    Description = "Error : " + ex.Message, Name = "UpdateCustomerRecordRegistration", Entity_c = "Registration"
                }, logId);
            }
            return("");
        }
        private void InsertSuiteAddress(AMCustomer.AMAddress addrDetails, SuiteContact suiteContact, string logId)
        {
            try
            {
                var suiteWrapper = new SuiteWrapper();
                suitesessionId = suiteWrapper.Login().GetAwaiter().GetResult();

                var addressrequest = new CreateAddressRequest();

                addressrequest.Name            = suiteContact.Name;
                addressrequest.Country         = addrDetails.Country_code;
                addressrequest.Address1        = addrDetails.Street_address;
                addressrequest.City            = addrDetails.Locality;
                addressrequest.Client_number_c = suiteContact.Client_number_c;
                addressrequest.State           = addrDetails.Region;

                addressrequest.Zip = addrDetails.Postal_code;

                if (addrDetails.Type == "home" || addrDetails.Type == null)
                {
                    addressrequest.Shipping_address = true;
                }

                if (addrDetails.Type == "billing")
                {
                    addressrequest.Billing_address = true;
                }


                addressrequest.Contacts_add1_addresses_1contacts_ida = suiteContact.Id;

                var request = new InsertRequest();
                request.SessionId  = suitesessionId;
                request.ModuleName = "add1_Addresses";
                request.Entity     = addressrequest;
                var resp = suiteWrapper.Insert(request).GetAwaiter().GetResult();

                if (resp == null)
                {
                    SuiteWrapper.WriteTraceLog("InsertSuiteAddress", "Error : In updating Address for client Number");
                }
            }
            catch (Exception ex)
            {
                common.InsertSuiteAmIntegrationLogDetail(new CreateTraceLogRequest()
                {
                    Description = "Error : " + ex.Message, Name = "InsertSuiteAddress", Entity_c = "Registration"
                }, logId);
                SuiteWrapper.WriteTraceLog("InsertSuiteAddress", "Error : " + ex.Message);
            }
        }
Beispiel #3
0
        // Get NetSuite Customer internalID
        public SuiteContact GetSuiteConstactID(string auctionCustmoerID, string logId)
        {
            var suiteContact   = new SuiteContact();
            var amwrapper      = new AMWrapper();
            var suiteWrapper   = new SuiteWrapper();
            var contactrequest = new CreateContactRequest();

            suitesessionId = suiteWrapper.Login().GetAwaiter().GetResult();

            var request = new SuiteReadEntryListRequest();

            request.SessionId    = suitesessionId;
            request.ModuleName   = "Contacts";
            request.Query        = " am_customer_id_c = '" + auctionCustmoerID + "'";
            request.SelectFields = new List <string> {
                "id",
                "am_customer_id_c",
                "name",
                "client_number_c"
            };
            try
            {
                var suiteConstactlist = suiteWrapper.GetList(request).GetAwaiter().GetResult();

                foreach (var record in suiteConstactlist.EntryList)
                {
                    suiteContact.Id              = record.Entity.SelectToken("id").ToString();
                    suiteContact.Name            = record.Entity.SelectToken("name").ToString();
                    suiteContact.Client_number_c = record.Entity.SelectToken("client_number_c").ToString();
                    return(suiteContact);
                }
            }

            catch (Exception ex)
            {
                InsertSuiteAmIntegrationLogDetail(new CreateTraceLogRequest()
                {
                    Description = "Error : " + ex.Message, Name = "CheckForRegistration", Entity_c = "Customer"
                }, logId);
                SuiteWrapper.WriteTraceLog("CheckForRegistration", "Error Message : " + ex.Message);
            }
            return(null);
        }
        // ********************Check customer Registration for Auction *******************************
        private string CheckForRegistration(string auctionInternalId, SuiteContact suiteContact, string paddle, string auctionName, string logId)
        {
            var recordID        = "";
            var registerrequest = new CreateRegistrationRequest();

            registerrequest.Ac1_auction_calendar_id_c = auctionInternalId;
            registerrequest.Contact_id      = suiteContact.Id;
            registerrequest.Paddle_number_c = paddle;
            registerrequest.Name            = paddle + "-" + suiteContact.Name;

            try
            {
                var searchResultsRegistratioList = GetListSuiteRegistration(auctionInternalId, suiteContact.Id, logId);


                if (searchResultsRegistratioList != null && searchResultsRegistratioList.Count() > 0)
                {
                    foreach (var r in searchResultsRegistratioList)
                    {
                        registerrequest.Id = Convert.ToString(((Newtonsoft.Json.Linq.JProperty)r).Value);
                        recordID           = UpdateSuiteRegistration(registerrequest, logId);
                        return(registerrequest.Id);
                    }
                }
                else
                {
                    recordID           = InsertSuiteRegistration(registerrequest, logId);
                    registerrequest.Id = recordID;
                    recordID           = UpdateSuiteRegistration(registerrequest, logId);
                }
                return(recordID);
            }
            catch (Exception ex)
            {
                SuiteWrapper.WriteTraceLog("CheckForRegistration", "Error : " + ex.Message);
                common.InsertSuiteAmIntegrationLogDetail(new CreateTraceLogRequest()
                {
                    Description = "Error : " + ex.Message, Name = "CheckForRegistration", Entity_c = "Registration"
                }, logId);
                throw ex;
            }
        }