/// <summary>
        /// Saves the installer.
        /// </summary>
        /// <param name="installer">The installer.</param>
        /// <returns></returns>
        public async Task <int> SaveInstaller(EntityInstaller installer)
        {
            installer.Id = UtilsService.GenerateId(installer.Id);

            return(await Util.TryAsync(() => GetConnection().InsertOrReplaceAsync(installer),
                                       failureMessage : "DataContext failed to SAVE EntityInstaller"));
        }
Exemple #2
0
        /// <summary>
        /// Gets the installers.
        /// </summary>
        /// <returns></returns>
        internal static async Task <List <EntityInstaller> > GetInstallers()
        {
            if (_installers == null)
            {
                _installers = new List <EntityInstaller>();
            }

            if (_installers.Count == 0)
            {
                var streets = await GetStreets();

                foreach (var town in _townList)
                {
                    var subs = _suburbList.Where(c => c.TownId == town.Id).Select(c => c.Id).ToList();
                    var sts  = _streetList.Where(c => subs.Contains(c.SuburbId)).ToList();

                    var dto1 = new EntityInstaller();
                    dto1.Id            = UtilsService.GenerateId(dto1.Id);
                    dto1.Name          = $"Test Installer {UtilsService.RandomNumber(111, 999)}";
                    dto1.ContactPerson = "Mr Owner";
                    dto1.EmailAddress  = $"installer@{dto1.Name.ToLower()}.co.za";
                    dto1.PhoneNumber   =
                        $"+27 {UtilsService.RandomNumber(11, 99)} {UtilsService.RandomNumber(111, 999)} {UtilsService.RandomNumber(1111, 9999)}";
                    dto1.MobileNumber =
                        $"+27 {UtilsService.RandomNumber(60, 89)} {UtilsService.RandomNumber(111, 999)} {UtilsService.RandomNumber(1111, 9999)}";
                    dto1.IsFavourite = false;
                    SetAddress(streets, ref dto1);

                    _installers.Add(dto1);

                    var dto2 = new EntityInstaller();
                    dto2.Id            = UtilsService.GenerateId(dto1.Id);
                    dto2.Name          = $"Test Installer {UtilsService.RandomNumber(111, 999)}";
                    dto2.ContactPerson = "Mr Owner";
                    dto2.EmailAddress  = $"installer@{dto1.Name.ToLower()}.co.za";
                    dto2.PhoneNumber   =
                        $"+27 {UtilsService.RandomNumber(11, 99)} {UtilsService.RandomNumber(111, 999)} {UtilsService.RandomNumber(1111, 9999)}";
                    dto2.MobileNumber =
                        $"+27 {UtilsService.RandomNumber(60, 89)} {UtilsService.RandomNumber(111, 999)} {UtilsService.RandomNumber(1111, 9999)}";
                    dto2.IsFavourite = false;

                    SetAddress(streets, ref dto2);
                    _installers.Add(dto2);
                }

                using (var db = new MancobaLocalDataApi(ConnectionFactory, PlatformCapabilities))
                {
                    var response = await db.SaveInstaller(_installers);
                }
            }

            return(_installers.OrderBy(c => c.Name).ToList());
        }
Exemple #3
0
        /// <summary>
        /// Sets the address.
        /// </summary>
        /// <param name="streets">The streets.</param>
        /// <param name="entity">The entity.</param>
        private static void SetAddress(List <EntityStreet> streets, ref EntityInstaller entity)
        {
            var str  = streets[UtilsService.RandomNumber(0, streets.Count - 1)];
            var sub  = _suburbList.FirstOrDefault(c => c.Id == str.SuburbId);
            var town = _townList.FirstOrDefault(c => c.Id == sub.TownId);
            var prov = _provinceList.FirstOrDefault(c => c.Id == town.ProvinceId);

            entity.StreetId = str.Id;
            entity.House    = $"{UtilsService.RandomNumber(11, 99)}";
            entity.Street   = str.Name;
            entity.Suburb   = sub.Name;
            entity.Town     = town.Name;
            entity.Province = prov.Name;
            entity.Country  = prov.Country;
        }
        /// <summary>
        /// To the model.
        /// </summary>
        /// <param name="entity">The entity.</param>
        /// <returns></returns>
        internal static ModelInstaller ToModel(this EntityInstaller entity)
        {
            var model = new ModelInstaller();

            model.Id            = entity.Id;
            model.Name          = entity.Name;
            model.ContactPerson = entity.ContactPerson;
            model.EmailAddress  = entity.EmailAddress;
            model.PhoneNumber   = entity.PhoneNumber;
            model.MobileNumber  = entity.MobileNumber;
            model.WebAddress    = entity.WebAddress;
            model.StreetId      = entity.StreetId;
            model.IsFavourite   = entity.IsFavourite;
            model.StreetId      = entity.StreetId;
            model.House         = entity.House;
            model.Street        = entity.Street;
            model.Suburb        = entity.Suburb;
            model.Town          = entity.Town;
            model.Province      = entity.Province;
            model.Country       = entity.Country;

            return(model);
        }
        /// <summary>
        /// To the entity.
        /// </summary>
        /// <param name="model">The model.</param>
        /// <returns></returns>
        internal static EntityInstaller ToEntity(this ModelInstaller model)
        {
            var entity = new EntityInstaller();

            entity.Id            = model.Id;
            entity.Name          = model.Name;
            entity.ContactPerson = model.ContactPerson;
            entity.EmailAddress  = model.EmailAddress;
            entity.PhoneNumber   = model.PhoneNumber;
            entity.MobileNumber  = model.MobileNumber;
            entity.WebAddress    = model.WebAddress;
            entity.StreetId      = model.StreetId;
            entity.IsFavourite   = model.IsFavourite;

            entity.StreetId = model.StreetId;
            entity.House    = model.House;
            entity.Street   = model.Street;
            entity.Suburb   = model.Suburb;
            entity.Town     = model.Town;
            entity.Province = model.Province;
            entity.Country  = model.Country;

            return(entity);
        }