/// <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")); }
/// <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()); }
/// <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); }