public void Update_status_in_of(crm.Indbetaling crm_indbetaling) { //todo byt ud med of_indbetaling_id int?of_indbetaling_id = crm_indbetaling.Nrq_of_id; if (of_indbetaling_id.HasValue == false) { return; } of.data.Payment of_indbetaling = _of_connection.Payment.Get(of_indbetaling_id.Value); //todo sæt status //string crm_status = crm_indbetaling.nrq_tekst; string crm_status = string.Empty; if (crm_status == of_indbetaling.State) { return; } of.data.Payment of_indbetaling_patch = new of.data.Payment() { Of_id = of_indbetaling_id, State = crm_status, }; _of_connection.Payment.Patch(of_indbetaling_id.Value, of_indbetaling); }
private void Create_or_update_associated_entities(crm.Indbetaling crm_indbetaling, of.data.Payment of_indbetaling) { if (of_indbetaling.Agreement_id.HasValue) { of.data.Agreement of_aftale = _of_connection.Agreement.Get(of_indbetaling.Agreement_id.Value); crm.Aftale crm_aftale = Create_or_update_one_aftale_in_crm(of_aftale); crm_indbetaling.Nrq_betalingsaftale = new EntityReference("new_indbetaling", crm_aftale.Id); //_tracingService.Trace($"connecting aftale {crm_aftale.Id} to indbetaling {crm_indbetaling.Id}"); } else { //_tracingService.Trace($"no aftale on indbetaling {crm_indbetaling.Id}"); } if (of_indbetaling.Contact_id.HasValue) { of.data.Contact of_contact = _of_connection.Contact.Get(of_indbetaling.Contact_id.Value); crm.Contact crm_contact = Create_or_update_one_contact_in_crm(of_indbetaling.Contact_id, of_contact); crm_indbetaling.Nrq_indbetaler = new EntityReference("contact", crm_contact.Id); //_tracingService.Trace($"connecting contact {crm_contact.Id} to indbetaling {crm_indbetaling.Id}"); } else { //_tracingService.Trace($"no contact on indbetaling {crm_indbetaling.Id}"); } crm_indbetaling.Set_indbetaling_type_from_of_project_id(of_indbetaling.Project_id); }
public static void To_crm(crm.Indbetaling crm_indbetaling, of.data.Payment of_payment, ITracingService tracingService) { crm_indbetaling.Nrq_of_agreement_id = of_payment.Agreement_id; if (of_payment.Amount != null) { crm_indbetaling.New_amount = new Money((decimal)of_payment.Amount); } if (string.IsNullOrWhiteSpace(of_payment.Crm_id) == false) { crm_indbetaling.Id = Guid.Parse(of_payment.Crm_id); } if (string.IsNullOrWhiteSpace(of_payment.Amount_type) == false) { crm_indbetaling.Nrq_amountType.Select(of_payment.Amount_type, tracingService); } //crm_indbetaling.Nrq_FeeAmount = of_payment.fee_amount; crm_indbetaling.Nrq_of_contact_id = of_payment.Contact_id; crm_indbetaling.Nrq_of_fundraising_project_id = of_payment.Project_id; crm_indbetaling.Nrq_of_id = of_payment.Of_id; //crm_indbetaling.Nrq_paymentDate = of_payment.Payment_ts_value; crm_indbetaling.Nrq_PaymentDueDate = of_payment.Payment_due_ts_value; crm_indbetaling.Nrq_PaymentGateway.Select(of_payment.Payment_gateway, tracingService); crm_indbetaling.Nrq_PaymentMedia.Select(of_payment.Payment_media, tracingService); crm_indbetaling.Nrq_PaymentType.Select(of_payment.Payment_media_type, tracingService); //crm_indbetaling.Nrq_BookkeeptinDate //crm_indbetaling.Nrq_ChargebackDate }
private void Create_in_crm(crm.Indbetaling crm_indbetaling, of.data.Payment of_indbetaling) { Mapping.Indbetaling.To_crm(crm_indbetaling, of_indbetaling, _tracingService); Create_or_update_associated_entities(crm_indbetaling, of_indbetaling); crm_indbetaling.Create(); }
protected override void Execute(CodeActivityContext codeActivityContext) { Initialize(codeActivityContext); EntityReference aftaleEntityReference = IndbetalingEntityReference.Get <EntityReference>(codeActivityContext); crm.Indbetaling crm_indbetaling = new crm.Indbetaling(_service, _tracingService); crm_indbetaling.Get_by_reference(aftaleEntityReference); Maintain maintain = new Maintain(_service, _tracingService, _config, _of_connection); maintain.Update_status_in_of(crm_indbetaling); }
private void Update_in_crm(crm.Indbetaling crm_indbetaling, of.data.Payment of_indbetaling) { List <string> parameters_to_update = Mapping.Indbetaling.Needs_update_in_crm(crm_indbetaling, of_indbetaling); if (parameters_to_update.Any() == false) { return; } Mapping.Indbetaling.To_crm(crm_indbetaling, of_indbetaling, _tracingService); Create_or_update_associated_entities(crm_indbetaling, of_indbetaling); crm_indbetaling.Update(parameters_to_update); }
public void Create_or_update_one_indbetaling_in_crm(int of_indbetaling_id, of.data.Payment of_indbetaling) { crm.Indbetaling crm_indbetaling = new crm.Indbetaling(_service, _tracingService); crm_indbetaling.Get_by_of_id(of_indbetaling_id); if (crm_indbetaling.CrmEntity == null) { Create_in_crm(crm_indbetaling, of_indbetaling); } else { Update_in_crm(crm_indbetaling, of_indbetaling); } }
public static List <string> Needs_update_in_of(crm.Indbetaling crm_indbetaling, of.data.Payment of_payment) { List <string> parameters = new List <string>(); Mapping_update_helper.Add_if_unequal(parameters, "Agreement_id", crm_indbetaling.Nrq_of_agreement_id, of_payment.Agreement_id); Mapping_update_helper.Add_if_unequal(parameters, "Amount", (int?)crm_indbetaling.New_amount.Value, of_payment.Amount); Mapping_update_helper.Add_if_unequal(parameters, "Amount_type", crm_indbetaling.Nrq_amountType.SelectedValue, of_payment.Amount_type); //Mapping_update_helper.Add_if_unequal(parameters, "nrq_bookkeepingdate", crm_indbetaling.Nrq_BookkeepinDate, of_payment.); //Mapping_update_helper.Add_if_unequal(parameters, "nrq_chargebackdate", crm_indbetaling.Nrq_ChargebackDate, of_payment.Agreement_id); //Mapping_update_helper.Add_if_unequal(parameters, "nrq_feeamount", crm_indbetaling.Nrq_FeeAmount, of_payment.fee); Mapping_update_helper.Add_if_unequal(parameters, "Contact_id", crm_indbetaling.Nrq_of_contact_id, of_payment.Contact_id); Mapping_update_helper.Add_if_unequal(parameters, "Project_id", crm_indbetaling.Nrq_of_fundraising_project_id, of_payment.Project_id); //Mapping_update_helper.Add_if_unequal(parameters, "nrq_paymentdate", crm_indbetaling.Nrq_paymentDate, of_payment.Payment_ts_value); Mapping_update_helper.Add_if_unequal(parameters, "Payment_due_ts", crm_indbetaling.Nrq_PaymentDueDate, of_payment.Payment_due_ts_value); Mapping_update_helper.Add_if_unequal(parameters, "Payment_gateway", crm_indbetaling.Nrq_PaymentGateway.SelectedValue, of_payment.Payment_gateway); Mapping_update_helper.Add_if_unequal(parameters, "Payment_media", crm_indbetaling.Nrq_PaymentMedia.SelectedValue, of_payment.Payment_media); Mapping_update_helper.Add_if_unequal(parameters, "Payment_media_type", crm_indbetaling.Nrq_PaymentType.SelectedValue, of_payment.Payment_media_type); return(parameters); }
//todo felter public static void To_of(crm.Indbetaling crm_indbetaling, of.data.Payment of_payment) { of_payment.Agreement_id = crm_indbetaling.Nrq_of_agreement_id; of_payment.Amount = (int?)crm_indbetaling.New_amount.Value; of_payment.Contact_id = crm_indbetaling.Nrq_of_contact_id; of_payment.Crm_id = crm_indbetaling.Id.ToString().ToLower(); of_payment.Currency = "208"; of_payment.Amount_type = crm_indbetaling.Nrq_amountType.SelectedValue; //of_payment.Form_id //of_payment.Gateway_subscription_id //of_payment.Ocr //of_payment.Order_id of_payment.Payment_due_ts_value = crm_indbetaling.Nrq_PaymentDueDate; of_payment.Payment_gateway = crm_indbetaling.Nrq_PaymentGateway.SelectedValue; of_payment.Payment_media = crm_indbetaling.Nrq_PaymentMedia.SelectedValue; of_payment.Payment_media_type = crm_indbetaling.Nrq_PaymentType.SelectedValue; of_payment.Of_id = crm_indbetaling.Nrq_of_id; //of_payment.Payment_method //of_payment.State //of_payment.Subscription_id = crm_indbetaling. }