Esempio n. 1
0
        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;
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }