public static void CopyValues(this MicrosoftDynamicsCRMadoxioApplication to, CovidApplication from) { to.AdoxioName = from.Name; //to.Adoxio_jobnumber = from.jobNumber; to.AdoxioEstablishmentpropsedname = from.EstablishmentName; to.AdoxioEstablishmentaddressstreet = from.EstablishmentAddressStreet; to.AdoxioEstablishmentaddresscity = from.EstablishmentAddressCity; to.AdoxioEstablishmentaddresspostalcode = from.EstablishmentAddressPostalCode; // 12-10-2019 - Removed the update to AdoxioAddressCity as the Dynamics workflow handles that. to.AdoxioEstablishmentparcelid = from.EstablishmentParcelId; to.AdoxioEstablishmentphone = from.EstablishmentPhone; to.AdoxioEstablishmentemail = from.EstablishmentEmail; to.AdoxioContactpersonfirstname = from.ContactPersonFirstName; to.AdoxioContactpersonlastname = from.ContactPersonLastName; to.AdoxioRole = from.ContactPersonRole; to.AdoxioEmail = from.ContactPersonEmail; to.AdoxioContactpersonphone = from.ContactPersonPhone; to.AdoxioAuthorizedtosubmit = from.AuthorizedToSubmit; to.AdoxioAdditionalpropertyinformation = from.AdditionalPropertyInformation; to.AdoxioDescription1 = from.Description1; //store opening to.AdoxioAuthorizedtosubmit = from.AuthorizedToSubmit; to.AdoxioApplicanttype = (int?)from.ApplicantType; // catering fields to.AdoxioIsapplicationcomplete = (int?)from.IsApplicationComplete; }
public async static Task <CovidApplication> ToCovidViewModel(this MicrosoftDynamicsCRMadoxioApplication dynamicsApplication, IDynamicsClient dynamicsClient, IMemoryCache cache, ILogger logger) { CovidApplication applicationVM = new CovidApplication { Name = dynamicsApplication.AdoxioName, JobNumber = dynamicsApplication.AdoxioJobnumber, //get establishment name and address EstablishmentName = dynamicsApplication.AdoxioEstablishmentpropsedname, EstablishmentAddressStreet = dynamicsApplication.AdoxioEstablishmentaddressstreet, EstablishmentAddressCity = dynamicsApplication.AdoxioEstablishmentaddresscity, EstablishmentAddressPostalCode = dynamicsApplication.AdoxioEstablishmentaddresspostalcode, EstablishmentAddress = dynamicsApplication.AdoxioEstablishmentaddressstreet + ", " + dynamicsApplication.AdoxioEstablishmentaddresscity + " " + dynamicsApplication.AdoxioEstablishmentaddresspostalcode, EstablishmentPhone = dynamicsApplication.AdoxioEstablishmentphone, EstablishmentEmail = dynamicsApplication.AdoxioEstablishmentemail, IsApplicationComplete = (GeneralYesNo?)dynamicsApplication.AdoxioIsapplicationcomplete, AddressStreet = dynamicsApplication.AdoxioAddressstreet, AddressCity = dynamicsApplication.AdoxioAddresscity, AddressPostalCode = dynamicsApplication.AdoxioAddresspostalcode, NameOfApplicant = dynamicsApplication.AdoxioNameofapplicant, AuthorizedToSubmit = dynamicsApplication.AdoxioAuthorizedtosubmit, //get parcel id EstablishmentParcelId = dynamicsApplication.AdoxioEstablishmentparcelid, //get additional property info AdditionalPropertyInformation = dynamicsApplication.AdoxioAdditionalpropertyinformation, InvoiceId = dynamicsApplication._adoxioInvoiceValue, Description1 = dynamicsApplication.AdoxioDescription1, //get contact details ContactPersonFirstName = dynamicsApplication.AdoxioContactpersonfirstname, ContactPersonLastName = dynamicsApplication.AdoxioContactpersonlastname, ContactPersonRole = dynamicsApplication.AdoxioRole, ContactPersonEmail = dynamicsApplication.AdoxioEmail, ContactPersonPhone = dynamicsApplication.AdoxioContactpersonphone, //get record audit info CreatedOn = dynamicsApplication.Createdon, ModifiedOn = dynamicsApplication.Modifiedon, ProposedEstablishmentIsAlr = dynamicsApplication.AdoxioProposedestablishmentisalr //store opening // Catering fields. }; // id if (dynamicsApplication.AdoxioApplicationid != null) { applicationVM.Id = dynamicsApplication.AdoxioApplicationid; } if (dynamicsApplication.AdoxioApplicanttype != null) { applicationVM.ApplicantType = (AdoxioApplicantTypeCodes)dynamicsApplication.AdoxioApplicanttype; } //get applying person from Contact entity if (dynamicsApplication._adoxioApplyingpersonValue != null) { Guid applyingPersonId = Guid.Parse(dynamicsApplication._adoxioApplyingpersonValue); var contact = await dynamicsClient.GetContactById(applyingPersonId); applicationVM.ApplyingPerson = contact.Fullname; } //get license type from Adoxio_licencetype entity if (dynamicsApplication._adoxioLicencetypeValue != null) { Guid adoxio_licencetypeId = Guid.Parse(dynamicsApplication._adoxioLicencetypeValue); var adoxio_licencetype = dynamicsClient.GetAdoxioLicencetypeById(adoxio_licencetypeId); applicationVM.LicenceType = adoxio_licencetype.AdoxioName; } if (dynamicsApplication.AdoxioApplicationTypeId != null) { applicationVM.ApplicationType = dynamicsApplication.AdoxioApplicationTypeId.ToViewModel(); if (!string.IsNullOrEmpty(applicationVM.ApplicationType.FormReference)) { applicationVM.ApplicationType.DynamicsForm = dynamicsClient.GetSystemformViewModel(cache, logger, applicationVM.ApplicationType.FormReference); } } return(applicationVM); }
public static void CopyValuesForCovidApplication(this MicrosoftDynamicsCRMadoxioApplication to, CovidApplication from) { to.CopyValues(from); to.AdoxioProposedestablishmentisalr = from.ProposedEstablishmentIsAlr; to.AdoxioNameofapplicant = from.NameOfApplicant; /* 2020/5/15 - Copy values has a comment that says to not copy this fields because of a dynamics workflow * Including this fields for the covid application as the workflow should not be relevant ? */ to.AdoxioAddressstreet = from.AddressStreet; to.AdoxioAddresscity = from.AddressCity; to.AdoxioAddresspostalcode = from.AddressPostalCode; }
public async System.Threading.Tasks.Task TestCreateDelete() { // C - Create var request = new HttpRequestMessage(HttpMethod.Post, "/api/" + service + "/covid"); CovidApplication viewmodel_application = new CovidApplication() { LicenceType = "Cannabis Retail Store" //*Mandatory field **This is an entity** E.g.Cannabis Retail Store , ApplicantType = AdoxioApplicantTypeCodes.PrivateCorporation //*Mandatory (label=business type) , ApplicationType = await GetDefaultCannabisApplicationType(), EstablishmentName = "Not a Dispensary" , EstablishmentAddress = "123 Any Street, Victoria, BC, V1X 1X1" , EstablishmentAddressStreet = "123 Any Street" , EstablishmentAddressCity = "Victoria, BC" , EstablishmentAddressPostalCode = "V1X 1X1" , ContactPersonEmail = "*****@*****.**", ContactPersonFirstName = "Firstname", ContactPersonLastName = "Lastname", ContactPersonPhone = "1231231234", ContactPersonRole = "Owner", IsApplicationComplete = GeneralYesNo.Yes }; var jsonString = JsonConvert.SerializeObject(viewmodel_application); request.Content = new StringContent(jsonString, Encoding.UTF8, "application/json"); var response = await _client.SendAsync(request); // parse as JSON. jsonString = await response.Content.ReadAsStringAsync(); response.EnsureSuccessStatusCode(); CovidApplication responseViewModel = JsonConvert.DeserializeObject <CovidApplication>(jsonString); //Assert.Equal("Applying Person", responseViewModel.applyingPerson); Assert.Equal("Not a Dispensary", responseViewModel.EstablishmentName); Assert.Equal("Victoria, BC", responseViewModel.EstablishmentAddressCity); Assert.Equal("V1X1X1", responseViewModel.EstablishmentAddressPostalCode); // postal code now has spaces removed by system Assert.Equal("*****@*****.**", responseViewModel.ContactPersonEmail); Assert.Equal("Firstname", responseViewModel.ContactPersonFirstName); Assert.Equal("Lastname", responseViewModel.ContactPersonLastName); Assert.Equal("1231231234", responseViewModel.ContactPersonPhone); Assert.Equal("Owner", responseViewModel.ContactPersonRole); Assert.Equal(GeneralYesNo.Yes, responseViewModel.IsApplicationComplete); Guid id = new Guid(responseViewModel.Id); //return; // D - Delete request = new HttpRequestMessage(HttpMethod.Post, "/api/" + service + "/" + id + "/covidDelete"); response = await _client.SendAsync(request); response.EnsureSuccessStatusCode(); // second delete should return a 404. request = new HttpRequestMessage(HttpMethod.Post, "/api/" + service + "/" + id + "/covidDelete"); response = await _client.SendAsync(request); Assert.Equal(HttpStatusCode.NotFound, response.StatusCode); }