/// <summary> /// Sets the value. /// </summary> /// <param name="value">The value.</param> /// <param name="data">The data.</param> public override void SetValue(string value, params string[] data) { if (this.Adaptee is StateProperty) { ((StateProperty)this.Adaptee).Value = value; return; } if (this.Adaptee is StringProperty) { ((StringProperty)this.Adaptee).Value = value; return; } if (this.Adaptee is UniqueIdentifierProperty) { ID idValue; if (ID.TryParse(value, out idValue)) { var identifier = new UniqueIdentifier { Value = idValue.Guid }; ((UniqueIdentifierProperty)this.Adaptee).Value = identifier; } return; } if (this.Adaptee is StatusProperty) { int intValue; if (int.TryParse(value, out intValue)) { var status = new Status { Value = intValue }; ((StatusProperty)this.Adaptee).Value = status; } return; } if (this.Adaptee is PicklistProperty) { string picklistValue = value; Picklist list = null; int intValue; if (!string.IsNullOrEmpty(picklistValue) && int.TryParse(picklistValue, out intValue)) { list = new Picklist { Value = intValue }; } else { picklistValue = null; } if (string.IsNullOrEmpty(picklistValue)) { list = new Picklist { IsNull = true, IsNullSpecified = true }; } ((PicklistProperty)this.Adaptee).Value = list; return; } if (this.Adaptee is OwnerProperty) { ID idValue; if (ID.TryParse(value, out idValue)) { var owner = new Owner { Value = idValue.Guid, type = data[0] }; ((OwnerProperty)this.Adaptee).Value = owner; } return; } if (this.Adaptee is LookupProperty) { ID idValue; if (ID.TryParse(value, out idValue)) { var lookup = new Lookup { Value = idValue.Guid, type = data[0] }; ((LookupProperty)this.Adaptee).Value = lookup; } return; } if (this.Adaptee is KeyProperty) { ID idValue; if (ID.TryParse(value, out idValue)) { var key = new Key { Value = idValue.Guid }; ((KeyProperty)this.Adaptee).Value = key; } return; } if (this.Adaptee is EntityNameReferenceProperty) { var reference = new EntityNameReference { Value = value }; ((EntityNameReferenceProperty)this.Adaptee).Value = reference; return; } if (this.Adaptee is DynamicEntityArrayProperty) { var dynamycProperty = (DynamicEntityArrayProperty)this.Adaptee; dynamycProperty.Value = new[] { new DynamicEntity { Name = "activityparty", Properties = new[] { new LookupProperty { Name = "partyid", Value = new Lookup { Value = new Guid(value), type = data[0] } } } } }; } if (this.Adaptee is CustomerProperty) { ID idValue; if (ID.TryParse(value, out idValue)) { var customer = new Customer { Value = idValue.Guid, type = data[0] }; ((CustomerProperty)this.Adaptee).Value = customer; } return; } if (this.Adaptee is CrmNumberProperty) { int intValue; if (int.TryParse(value, out intValue)) { var number = new CrmNumber { Value = intValue }; ((CrmNumberProperty)this.Adaptee).Value = number; } return; } if (this.Adaptee is CrmMoneyProperty) { decimal decimalValue; if (decimal.TryParse(value, out decimalValue)) { var money = new CrmMoney { Value = decimalValue }; ((CrmMoneyProperty)this.Adaptee).Value = money; } return; } if (this.Adaptee is CrmFloatProperty) { float decimalValue; if (float.TryParse(value, out decimalValue)) { var crmFloat = new CrmFloat { Value = decimalValue }; ((CrmFloatProperty)this.Adaptee).Value = crmFloat; } return; } if (this.Adaptee is CrmDecimalProperty) { decimal decimalValue; if (decimal.TryParse(value, out decimalValue)) { var crmDecimal = new CrmDecimal { Value = decimalValue }; ((CrmDecimalProperty)this.Adaptee).Value = crmDecimal; } return; } if (this.Adaptee is CrmDateTimeProperty) { DateTime parsedValue; if (value.TryParseDateTime(out parsedValue)) { ((CrmDateTimeProperty)this.Adaptee).Value = new CrmDateTime { Value = parsedValue.ToCrmDateTimeString() }; } } if (this.Adaptee is CrmBooleanProperty) { var boolValue = MainUtil.GetBool(value, false); var crmBool = new CrmBoolean { Value = boolValue }; ((CrmBooleanProperty)this.Adaptee).Value = crmBool; } }
//public static void CreateLead(CrmService service, LeadInfo leadDetails, Guid leadID, DynamicEntity crmLeadInfo) //{ // string firstName = string.Empty; // string lastName = string.Empty; // try // { // var lead = new lead(); // foreach (Property p in crmLeadInfo.Properties) // { // if (p.Name == "firstname") // { // firstName = CrmHelper.GetSourceValue(p.GetType().Name, p); // } // if (p.Name == "lastname") // { // lastName = CrmHelper.GetSourceValue(p.GetType().Name, p); // } // } // if (leadDetails.LeadOriginatorName == string.Concat(firstName, " ", lastName)) // { // //lead.ms_bdm= matched CRM user // lead.ms_staffreferrer = null; // lead.ms_referralname = null; // } // else // { // lead.ms_bdm = null; // lead.ms_staffreferrer = null; // lead.ms_referralname = leadDetails.LeadOriginatorName; // } // var crmBrand = new Picklist(); // if (leadDetails.Brand.ToLower() == "maxxia") // { // crmBrand.Value = 0; // } // else { crmBrand.Value = 1; } // lead.ms_brand = crmBrand; // //var crmProductType = new Picklist(); // //crmProductType.Value = Convert.ToInt32("Fully Maintained Novated Lease"); // //lead.ms_producttype = crmProductType; // //var crmOwnLead = new Picklist(); // //crmOwnLead.Value = Convert.ToInt32("No"); // //lead.ms_willyouownthelead = crmOwnLead; // //var crmRating = new Picklist(); // //if (string.IsNullOrEmpty(leadDetails.LeadRating)) // //{ // // crmRating.Value = Convert.ToInt32("Warm"); // //} // //else // //{ // // crmRating.Value = Convert.ToInt32(leadDetails.LeadRating); // //} // //lead.leadqualitycode = crmRating; // //var crmLeadSource = new Picklist(); // //crmLeadSource.Value = Convert.ToInt32(leadDetails.LeadSource); // //lead.leadsourcecode = crmLeadSource; // //var crmEnquirySource = new Picklist(); // //crmEnquirySource.Value = Convert.ToInt32(leadDetails.ActivityType); // //lead.ms_enquirysource = crmEnquirySource; // //var crmCampaignSource = new Picklist(); // //if (string.IsNullOrEmpty(leadDetails.CampaignSource )) // //{ // // crmCampaignSource.Value = Convert.ToInt32("None"); // //} // //else // //{ // // crmCampaignSource.Value = Convert.ToInt32(leadDetails.CampaignSource); // //} // //lead.ms_campaignsource = crmCampaignSource; // //if (!string.IsNullOrEmpty(leadDetails.VehicleType)) // //{ // // var crmVehicleType = new Picklist(); // // if (leadDetails.VehicleType == "New Car") // // { // // crmVehicleType.Value = Convert.ToInt32("New"); // // } // // else if(leadDetails.VehicleType == "Used Car") // // { // // crmVehicleType.Value = Convert.ToInt32("Used(Dealer)"); // // } // // else if(leadDetails.VehicleType == "Refinance Existing") // // { // // crmVehicleType.Value = Convert.ToInt32("Sales & Leaseback"); // // } // // lead.ms_vehicletype = crmVehicleType; // //} // //if (!string.IsNullOrEmpty(leadDetails.EmployerCode)) // //{ // //var emp = new account { accountnumber = leadDetails.EmployerCode }; // // var crmEmployer = new Lookup(); // // if (emp.accountid != null) // // { // // //crmEmployer.Value = emp; // // } // // else // // { // // emp = new account { name = leadDetails.EmployerName }; // // if (emp.accountid != null) // // { // // // crmEmployer.Value = emp; // // } // // else // // { // // // crmEmployer.Value = TestEmployer; // // //lead.TemPMessage; // // } // // } // // lead.ms_employer = crmEmployer; // // lead.ms_salarypackager = emp.ms_salarypackager1; // //} // //var crmState = new Picklist(); // //crmState.Value = Convert.ToInt32(leadDetails.State); // //lead.ms_homeaddressstate = crmState; // lead.firstname = leadDetails.Firstname; // lead.lastname = leadDetails.Surname; // lead.emailaddress2 = leadDetails.Email; // lead.mobilephone = leadDetails.MobilePhone; // //var crmPrefferedPhone = new Picklist(); // //if (leadDetails.MobilePreferredContact) // //{ // // crmPrefferedPhone.Value = Convert.ToInt32("Mobile"); // //} // //else // //{ // // crmPrefferedPhone.Value = Convert.ToInt32("Work"); // //} // //lead.ms_preferredphone = crmPrefferedPhone; // if (!string.IsNullOrEmpty(leadDetails.OtherPhone)) lead.telephone1 = leadDetails.OtherPhone; // lead.ms_preferredcontacttime = leadDetails.PreferredCallBackTime; // var crmAnnualGS = new CrmDecimal(); // if (leadDetails.AnnualGrossSalary.ToString() != "") // { // crmAnnualGS.Value = leadDetails.AnnualGrossSalary; // var crmRefferalSplit = new CrmDecimal(); // if (leadDetails.AnnualGrossSalary < 110000) // { // crmRefferalSplit.Value = (decimal)999.00; // } // else // { // //crmRefferalSplit.Value = null; // } // lead.ms_referralsplit = crmRefferalSplit; // } // else // { // crmAnnualGS.Value = 0; // } // lead.ms_annualgrosssalary = crmAnnualGS; // //lead.siteid // lead.ms_salesmessages = "Year: " + leadDetails.VehicleYear + "/ Make: " + leadDetails.VehicleMake + "/ Model: " + leadDetails.VehicleType + "\r\n" + "Lease Term: " + leadDetails.LeaseTerm + "\r\n * **\r\n" + leadDetails.OtherInformation; // //var emp = new account { ownerid = new Owner { Value = "" }; }; // //lead.ownerid= // var oppKey = new WebReferences.CrmSdk.Key { Value = leadID }; // lead.leadid = oppKey; // service.Update(lead); // } // catch (Exception ex) // { // throw ex; // } //} public static void ReactivateLead(CrmService service, MetadataService metaDataService, LeadInfo leadDetails, Guid leadID, DynamicEntity crmLeadInfo) { string firstName = string.Empty; string lastName = string.Empty; try { var lead = new lead(); foreach (Property p in crmLeadInfo.Properties) { if (p.Name == "firstname") { firstName = CrmHelper.GetSourceValue(p.GetType().Name, p); } if (p.Name == "lastname") { lastName = CrmHelper.GetSourceValue(p.GetType().Name, p); } } if (leadDetails.LeadOriginatorName == string.Concat(firstName, " ", lastName)) { //lead.ms_bdm= matched CRM user lead.ms_staffreferrer = null; lead.ms_referralname = null; } else { lead.ms_bdm = null; lead.ms_staffreferrer = null; lead.ms_referralname = leadDetails.LeadOriginatorName; } //var crmBrand = new Picklist(); //if (leadDetails.Brand.ToLower() == DALConstants.BrandM) //{ // crmBrand.Value = Convert.ToInt32(DALConstants.Brand.Maxxia) ; //} //else { crmBrand.Value = Convert.ToInt32(DALConstants.Brand.Remserv); } //lead.ms_brand = crmBrand; //var crmProductType = new Picklist //{ // name = "ms_producttype", // Value = CrmHelper.GetPickListCode(metaDataService, "ms_producttype", "ms_producttype", DALConstants.ProductTypeFMNL) //}; //lead.ms_producttype = crmProductType; //var crmOwnLead = new Picklist(); //crmOwnLead.Value = Convert.ToInt32(DALConstants.OwnTheLead.No); //lead.ms_willyouownthelead = crmOwnLead; //var crmRating = new Picklist(); //if (string.IsNullOrEmpty(leadDetails.LeadRating)) //{ // crmRating.Value = Convert.ToInt32("Warm"); //} //else //{ // crmRating.Value = Convert.ToInt32(leadDetails.LeadRating); //} //lead.leadqualitycode = crmRating; //var crmLeadSource = new Picklist //{ // name = "ms_leadsourcename", // Value = CrmHelper.GetPickListCode(metaDataService, "ms_leadsource", "ms_leadsourcename", leadDetails.LeadSource) //}; //lead.leadsourcecode = crmLeadSource; //leadsourceid required //var crmEnquirySource = new Picklist //{ // name = "ms_enquirysourcename", // Value = CrmHelper.GetPickListCode(metaDataService, "ms_enquirysource", "ms_enquirysourcename", leadDetails.ActivityType ) //}; //lead.ms_enquirysource = crmEnquirySource; //string csName = string.Empty; //if (string.IsNullOrEmpty(leadDetails.CampaignSource)) //{ // csName = "None"; //} //else //{ // csName = leadDetails.CampaignSource; //} //var crmCampaignSource = new Picklist //{ // name = "ms_campaignsourcename", // Value = CrmHelper.GetPickListCode(metaDataService, "ms_campaignsource", "ms_campaignsourcename", csName) //}; //lead.ms_campaignsource = crmCampaignSource; //string vehicleType = string.Empty; //if (!string.IsNullOrEmpty(leadDetails.VehicleType)) //{ // if (leadDetails.VehicleType == "New Car") // { // vehicleType="New"; // } // else if (leadDetails.VehicleType == "Used Car") // { // vehicleType="Used(Dealer)"; // } // else if (leadDetails.VehicleType == "Refinance Existing") // { // vehicleType="Sales & Leaseback"; // } // var crmVehicleType = new Picklist() // { // name = "ms_vehicletype1", // Value = CrmHelper.GetPickListCode(metaDataService, "ms_vehicletype", "ms_vehicletype1", vehicleType) // }; // lead.ms_vehicletype = crmVehicleType; //} //if (!string.IsNullOrEmpty(leadDetails.EmployerCode)) //{ //var emp = new account { accountnumber = leadDetails.EmployerCode }; // var crmEmployer = new Lookup(); // if (emp.accountid != null) // { // //crmEmployer.Value = emp; // } // else // { // emp = new account { name = leadDetails.EmployerName }; // if (emp.accountid != null) // { // // crmEmployer.Value = emp; // } // else // { // // crmEmployer.Value = TestEmployer; // //lead.TemPMessage; // } // } // lead.ms_employer = crmEmployer; // lead.ms_salarypackager = emp.ms_salarypackager1; //} //var crmState = new Picklist(); //crmState.Value = Convert.ToInt32(leadDetails.State); //lead.ms_homeaddressstate = crmState; lead.firstname = leadDetails.Firstname; lead.lastname = leadDetails.Surname; lead.emailaddress2 = leadDetails.Email; lead.mobilephone = leadDetails.MobilePhone; //var crmPrefferedPhone = new Picklist(); //if (leadDetails.MobilePreferredContact) //{ // crmPrefferedPhone.Value = Convert.ToInt32("Mobile"); //} //else //{ // crmPrefferedPhone.Value = Convert.ToInt32("Work"); //} //lead.ms_preferredphone = crmPrefferedPhone; if (!string.IsNullOrEmpty(leadDetails.OtherPhone)) { lead.telephone1 = leadDetails.OtherPhone; } lead.ms_preferredcontacttime = leadDetails.PreferredCallBackTime; var crmAnnualGS = new CrmDecimal(); if (leadDetails.AnnualGrossSalary.ToString() != "") { crmAnnualGS.Value = leadDetails.AnnualGrossSalary; var crmRefferalSplit = new CrmDecimal(); if (leadDetails.AnnualGrossSalary < 110000) { crmRefferalSplit.Value = (decimal)999.00; } else { //crmRefferalSplit.Value = null; } lead.ms_referralsplit = crmRefferalSplit; } else { crmAnnualGS.Value = 0; } lead.ms_annualgrosssalary = crmAnnualGS; //lead.siteid lead.ms_salesmessages = "Year: " + leadDetails.VehicleYear + "/ Make: " + leadDetails.VehicleMake + "/ Model: " + leadDetails.VehicleType + "\r\n" + "Lease Term: " + leadDetails.LeaseTerm + "\r\n * **\r\n" + leadDetails.OtherInformation; //var emp = new account { ownerid = new Owner { Value = "" }; }; //lead.ownerid= var oppKey = new WebReferences.CrmSdk.Key { Value = leadID }; lead.leadid = oppKey; service.Update(lead); } catch (Exception ex) { throw ex; } }
public static decimal?Convert(CrmDecimal obj) { return(obj.IsNull == false ? (decimal?)obj.Value : null); }
public virtual void SetPropertyValue(Property property, string value, params string[] data) { Assert.ArgumentNotNull(property, "property"); if (property is StateProperty) { ((StateProperty)property).Value = value; return; } if (property is StringProperty) { ((StringProperty)property).Value = value; return; } if (property is UniqueIdentifierProperty) { ID idValue = null; if (ID.TryParse(value, out idValue)) { var identifier = new UniqueIdentifier { Value = idValue.Guid }; ((UniqueIdentifierProperty)property).Value = identifier; } return; } if (property is StatusProperty) { int intValue = 0; if (int.TryParse(value, out intValue)) { var status = new Status { Value = intValue }; ((StatusProperty)property).Value = status; } return; } if (property is PicklistProperty) { string picklistValue = value; Picklist list = null; int intValue = 0; if (!string.IsNullOrEmpty(picklistValue) && int.TryParse(picklistValue, out intValue)) { list = new Picklist { Value = intValue }; } else { picklistValue = null; } if (string.IsNullOrEmpty(picklistValue)) { list = new Picklist { IsNull = true, IsNullSpecified = true }; } ((PicklistProperty)property).Value = list; return; } if (property is OwnerProperty) { ID idValue = null; if (ID.TryParse(value, out idValue)) { var owner = new Owner { Value = idValue.Guid, type = data[0] }; ((OwnerProperty)property).Value = owner; } return; } if (property is LookupProperty) { ID idValue = null; if (ID.TryParse(value, out idValue)) { var lookup = new Lookup { Value = idValue.Guid, type = data[0] }; ((LookupProperty)property).Value = lookup; } return; } if (property is KeyProperty) { ID idValue = null; if (ID.TryParse(value, out idValue)) { var key = new CrmCampaignIntegration.Services.Key { Value = idValue.Guid }; ((KeyProperty)property).Value = key; } return; } if (property is EntityNameReferenceProperty) { var reference = new EntityNameReference { Value = value }; ((EntityNameReferenceProperty)property).Value = reference; return; } if (property is DynamicEntityArrayProperty) { var dynamycProperty = (DynamicEntityArrayProperty)property; dynamycProperty.Value = new[] { new DynamicEntity { Name = "activityparty", Properties = new [] { new LookupProperty { Name = "partyid", Value = new Lookup { Value = new Guid(value), type = data[0] } } } } }; } if (property is CustomerProperty) { ID idValue = null; if (ID.TryParse(value, out idValue)) { var customer = new Customer { Value = idValue.Guid, type = data[0] }; ((CustomerProperty)property).Value = customer; } return; } if (property is CrmNumberProperty) { int intValue = 0; if (int.TryParse(value, out intValue)) { var number = new CrmCampaignIntegration.Services.CrmNumber { Value = intValue }; ((CrmNumberProperty)property).Value = number; } return; } if (property is CrmMoneyProperty) { decimal decimalValue = 0; if (decimal.TryParse(value, out decimalValue)) { var money = new CrmMoney { Value = decimalValue }; ((CrmMoneyProperty)property).Value = money; } return; } if (property is CrmFloatProperty) { float decimalValue = 0; if (float.TryParse(value, out decimalValue)) { var crmFloat = new CrmCampaignIntegration.Services.CrmFloat { Value = decimalValue }; ((CrmFloatProperty)property).Value = crmFloat; } return; } if (property is CrmDecimalProperty) { decimal decimalValue = 0; if (decimal.TryParse(value, out decimalValue)) { var crmDecimal = new CrmDecimal { Value = decimalValue }; ((CrmDecimalProperty)property).Value = crmDecimal; } return; } if (property is CrmDateTimeProperty) { var dateTime = Sitecore.CrmCampaignIntegrations.Core.Utility.DateUtil.ToCrmDateTime(value); if (dateTime != null) { var crmDateTime = new CrmCampaignIntegration.Services.CrmDateTime { Value = dateTime.Value }; ((CrmDateTimeProperty)property).Value = crmDateTime; } } if (property is CrmBooleanProperty) { var boolValue = MainUtil.GetBool(value, false); var crmBool = new CrmCampaignIntegration.Services.CrmBoolean { Value = boolValue }; ((CrmBooleanProperty)property).Value = crmBool; return; } }