private IEvent CreateEvent(EventType type)
        {
            IEvent e = EventBase.GetEventFromType(type);

            e.Name      = "Wedding Sample";
            e.StartTime = DateTime.Today.AddMonths(1);
            e.EndTime   = e.StartTime.AddHours(6);
            e.Contact.Clone(CreateContact());
            e.Venue.Clone(e.Contact.Address);
            var     a      = CreateArrangement();
            IVendor vendor = CreateVendor(VendorType.Photographer);

            var h = new VendorProcessor(vendor);
            var s = h.Create().Result;

            a.Vendor = s.Data;
            e.Arrangements.Add(a);

            return(e);
        }
        public void TestVendorCRUD()
        {
            IVendor vendor = CreateVendor(VendorType.Photographer);

            var vp   = new VendorProcessor(vendor);
            var save = vp.Create().Result;

            Assert.IsTrue(save.Data != null && save.Data.Id != Guid.Empty, "Vendor save failed.");

            var one = vp.FetchById().Result;

            one.Data.Password = "******";
            Assert.IsTrue(one.Data != null && JsonConvert.SerializeObject(one.Data, Formatting.None).Equals(JsonConvert.SerializeObject(save.Data, Formatting.None)), "Vendor fetch failed.");

            var uHelper = new UserProcessor(save.Data.Id);
            var uOne    = uHelper.FetchById().Result;

            Assert.IsTrue(uOne.Data != null, "User not populated from vendor save.");

            var loggedIn = vp.Login().Result;

            Assert.IsTrue(loggedIn != null && loggedIn.Data != Guid.Empty, "Vendor login failed.");

            var delete = vp.Delete().Result;

            one = vp.FetchById().Result;
            Assert.IsTrue(one.Data == null, "Vendor delete failed.");

            uOne = uHelper.FetchById().Result;
            Assert.IsTrue(uOne.Data == null, "User not deleted from vendor delete.");

            var tp     = new TokenProcessor(loggedIn.Data);
            int result = tp.Delete().Result;
            var t      = tp.FetchById().Result;

            Assert.IsTrue(t.Data == null, "Token delete failed.");
        }