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

            return(await Util.TryAsync(() => GetConnection().InsertOrReplaceAsync(application),
                                       failureMessage : "DataContext failed to SAVE EntityApplication"));
        }
Пример #2
0
        /// <summary>
        /// Gets the system user.
        /// </summary>
        /// <param name="emailAddress">The email address.</param>
        /// <param name="password">The password.</param>
        /// <returns></returns>
        internal static async Task <EntitySystemUser> GetSystemUser(string emailAddress, string password)
        {
            if (_users == null)
            {
                _users = new List <EntitySystemUser>();
            }

            EntitySystemUser user = _users.FirstOrDefault();

            if (user == null)
            {
                var streets = await GetStreets();

                user           = new EntitySystemUser();
                user.Id        = UtilsService.GenerateId(user.Id);
                user.FirstName = "System";
                user.LastName  = "Administrator";
                user.Username  = emailAddress;
                user.Password  = password;

                user.EmailAddress = "*****@*****.**";
                user.PhoneNumber  = "021 531 7856";
                user.MobileNumber = "082 421 1330";

                SetAddress(streets, UtilsService.RandomNumber(11, 99).ToString(), ref user);

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

            return(user);
        }
        /// <summary>
        /// Saves the street.
        /// </summary>
        /// <param name="entity">The entity.</param>
        /// <returns></returns>
        public async Task <int> SaveStreet(EntityStreet entity)
        {
            entity.Id = UtilsService.GenerateId(entity.Id);

            return(await Util.TryAsync(() => GetConnection().InsertOrReplaceAsync(entity),
                                       failureMessage : "DataContext failed to load Towns"));
        }
        /// <summary>
        /// Saves the town.
        /// </summary>
        /// <param name="town">The town.</param>
        /// <returns></returns>
        public async Task <int> SaveTown(EntityTown town)
        {
            town.Id = UtilsService.GenerateId(town.Id);

            return(await Util.TryAsync(() => GetConnection().InsertOrReplaceAsync(town),
                                       failureMessage : "DataContext {SaveTown} failed to load EntityTown"));
        }
        /// <summary>
        /// Saves the suburb.
        /// </summary>
        /// <param name="suburb">The suburb.</param>
        /// <returns></returns>
        public async Task <int> SaveSuburb(EntitySuburb suburb)
        {
            suburb.Id = UtilsService.GenerateId(suburb.Id);

            return(await Util.TryAsync(() => GetConnection().InsertOrReplaceAsync(suburb),
                                       failureMessage : "DataContext failed to SAVE EntitySuburb"));
        }
        /// <summary>
        /// Saves the province.
        /// </summary>
        /// <param name="province">The province.</param>
        /// <returns></returns>
        public async Task <int> SaveProvince(EntityProvince province)
        {
            province.Id = UtilsService.GenerateId(province.Id);

            return(await Util.TryAsync(() => GetConnection().InsertOrReplaceAsync(province),
                                       failureMessage : "DataContext failed to SAVE EntityProvince"));
        }
        /// <summary>
        /// Saves the payment.
        /// </summary>
        /// <param name="providerPayment">The provider payment.</param>
        /// <returns></returns>
        public async Task <int> SavePayment(EntityProviderPayment providerPayment)
        {
            providerPayment.Id = UtilsService.GenerateId(providerPayment.Id);

            return(await Util.TryAsync(() => GetConnection().InsertOrReplaceAsync(providerPayment),
                                       failureMessage : "DataContext failed to load Towns"));
        }
        /// <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>
        /// Saves the installer.
        /// </summary>
        /// <param name="customers">The customers.</param>
        /// <returns></returns>
        public async Task <int> SaveInstaller(List <EntityInstaller> customers)
        {
            await customers.ParallelForEachAsync(async customer =>
            {
                customer.Id = UtilsService.GenerateId(customer.Id);
                await Util.TryAsync(() => GetConnection().InsertOrReplaceAsync(customer),
                                    failureMessage: "DataContext failed to SAVE EntityCustomers");
            });

            return(await Task.Run(() => 1));
        }
        /// <summary>
        /// Saves the provider product.
        /// </summary>
        /// <param name="products">The products.</param>
        /// <returns></returns>
        public async Task <bool> SaveProviderProduct(List <EntityProviderProduct> products)
        {
            await products.ParallelForEachAsync(async asset =>
            {
                asset.Id = UtilsService.GenerateId(asset.Id);

                await Util.TryAsync(() => GetConnection().InsertOrReplaceAsync(asset),
                                    failureMessage: "DataContext failed to SAVE EntityProviderProduct");
            });

            return(await Task.Run(() => true));
        }
Пример #11
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());
        }
        /// <summary>
        /// Saves the street.
        /// </summary>
        /// <param name="entities">The entities.</param>
        /// <returns></returns>
        public async Task <int> SaveStreet(List <EntityStreet> entities)
        {
            await entities.ParallelForEachAsync(async entity =>
            {
                entity.Id = UtilsService.GenerateId(entity.Id);

                await Util.TryAsync(() => GetConnection().InsertOrReplaceAsync(entity),
                                    failureMessage: "DataContext failed to SAVE EntityStreet");
            });

            return(await Task.Run(() => 1));
        }
Пример #13
0
        /// <summary>
        /// Gets the sent applications.
        /// </summary>
        /// <returns></returns>
        internal static async Task <List <EntityApplication> > GetSentApplications()
        {
            if (_applications == null)
            {
                _applications = new List <EntityApplication>();
            }

            if (_applications.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 EntityApplication();
                    dto1.Id           = UtilsService.GenerateId(dto1.Id);
                    dto1.FirstName    = $"Brown";
                    dto1.LastName     = "Njemza";
                    dto1.EmailAddress = "*****@*****.**";
                    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)}";
                    SetAddress(streets, ref dto1);
                    _applications.Add(dto1);

                    var dto2 = new EntityApplication();
                    dto2.Id           = UtilsService.GenerateId(dto1.Id);
                    dto2.FirstName    = $"Bubu Mlibo";
                    dto2.LastName     = "Mbiza";
                    dto2.EmailAddress = "*****@*****.**";
                    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)}";

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

                using (var db = new MancobaLocalDataApi(ConnectionFactory, PlatformCapabilities))
                {
                    var response = await db.SaveApplication(_applications.FirstOrDefault());
                }
            }

            return(_applications.OrderBy(c => c.FirstName).ToList());
        }
Пример #14
0
        /// <summary>
        /// Gets the providers.
        /// </summary>
        /// <returns></returns>
        internal static async Task <List <EntityProvider> > GetProviders()
        {
            if (_providers == null)
            {
                _providers = new List <EntityProvider>();
            }

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

                var dto1 = new EntityProvider();
                dto1.Id            = UtilsService.GenerateId(dto1.Id);
                dto1.Name          = "MultiChoice South Africa";
                dto1.ContactPerson = "Sales Team";
                dto1.EmailAddress  = "*****@*****.**";
                dto1.PhoneNumber   = "+27 21 508 1234";
                dto1.MobileNumber  = null;
                dto1.WebAddress    = "http://www.multichoice.co.za";
                dto1.IsFavourite   = false;

                SetAddress(streets, "15, DStv House", ref dto1);
                _providers.Add(dto1);

                var dto2 = new EntityProvider();
                dto2.Id            = UtilsService.GenerateId(dto2.Id);
                dto2.Name          = "MultiChoice Africa";
                dto2.ContactPerson = "Sales Manager";
                dto2.EmailAddress  = "*****@*****.**";
                dto2.PhoneNumber   = "+27 11 218 2342";
                dto2.MobileNumber  = "+27 82 131 3893";
                dto2.WebAddress    = "http://www.multichoice.co.za";
                dto2.IsFavourite   = false;

                SetAddress(streets, "64, Africa House", ref dto2);
                _providers.Add(dto2);
            }

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

            return(_providers.OrderBy(c => c.Name).ToList());
        }
Пример #15
0
        /// <summary>
        /// Gets the provinces.
        /// </summary>
        /// <returns></returns>
        public static async Task <List <EntityProvince> > GetProvinces()
        {
            if (_provinceList == null || _provinceList.Count == 0)
            {
                const string country = "South Africa";
                _provinceList = new List <EntityProvince>()
                {
                    new EntityProvince()
                    {
                        Country = country,
                        Id      = UtilsService.GenerateId(),
                        Name    = "Eastern Cape"
                    },
                    new EntityProvince()
                    {
                        Country = country,
                        Id      = UtilsService.GenerateId(),
                        Name    = "Free State"
                    },
                    new EntityProvince()
                    {
                        Country = country,
                        Id      = UtilsService.GenerateId(),
                        Name    = "Gauteng"
                    },
                    new EntityProvince()
                    {
                        Country = country,
                        Id      = UtilsService.GenerateId(),
                        Name    = "KwaZulu-Natal"
                    },
                    new EntityProvince()
                    {
                        Country = country,
                        Id      = UtilsService.GenerateId(),
                        Name    = "Limpopo"
                    },
                    new EntityProvince()
                    {
                        Country = country,
                        Id      = UtilsService.GenerateId(),
                        Name    = "Mpumalanga"
                    },
                    new EntityProvince()
                    {
                        Country = country,
                        Id      = UtilsService.GenerateId(),
                        Name    = "Northern Cape"
                    },
                    new EntityProvince()
                    {
                        Country = country,
                        Id      = UtilsService.GenerateId(),
                        Name    = "North West"
                    },
                    new EntityProvince()
                    {
                        Country = country,
                        Id      = UtilsService.GenerateId(),
                        Name    = "Western Cape"
                    }
                };

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

            return(_provinceList.OrderBy(c => c.Name).ToList());
        }
Пример #16
0
        /// <summary>
        /// Gets the towns.
        /// </summary>
        /// <returns></returns>
        public static async Task <List <EntityTown> > GetTowns()
        {
            if (_townList == null || _townList.Count == 0)
            {
                _townList = new List <EntityTown>();

                for (int i = 0; i < _provinceList.Count; i++)
                {
                    var province = _provinceList[i];

                    if (i == 0)                     //  Name = "Eastern Cape"
                    {
                        _townList.Add(new EntityTown()
                        {
                            Id         = UtilsService.GenerateId(),
                            Name       = "Port Elizabeth",
                            ProvinceId = province.Id,
                        });
                        _townList.Add(new EntityTown()
                        {
                            Id         = UtilsService.GenerateId(),
                            Name       = "East London",
                            ProvinceId = province.Id,
                        });
                    }
                    if (i == 1)                     //  Name = "Free State"
                    {
                        _townList.Add(new EntityTown()
                        {
                            Id         = UtilsService.GenerateId(),
                            Name       = "Bloemfontein",
                            ProvinceId = province.Id,
                        });
                        _townList.Add(new EntityTown()
                        {
                            Id         = UtilsService.GenerateId(),
                            Name       = "Welkom",
                            ProvinceId = province.Id,
                        });
                    }
                    if (i == 2)                     //  Name = "Gauteng"
                    {
                        _townList.Add(new EntityTown()
                        {
                            Id         = UtilsService.GenerateId(),
                            Name       = "Pretoria",
                            ProvinceId = province.Id,
                        });
                        _townList.Add(new EntityTown()
                        {
                            Id         = UtilsService.GenerateId(),
                            Name       = "Johannesburg",
                            ProvinceId = province.Id,
                        });
                    }

                    if (i == 3)                     //  Name = "KwaZulu-Natal"
                    {
                        _townList.Add(new EntityTown()
                        {
                            Id         = UtilsService.GenerateId(),
                            Name       = "Durban",
                            ProvinceId = province.Id,
                        });
                        _townList.Add(new EntityTown()
                        {
                            Id         = UtilsService.GenerateId(),
                            Name       = "Pietermaritzburg",
                            ProvinceId = province.Id,
                        });
                    }

                    if (i == 4)                     //  Name = "Limpopo"
                    {
                        _townList.Add(new EntityTown()
                        {
                            Id         = UtilsService.GenerateId(),
                            Name       = "Mokopane",
                            ProvinceId = province.Id,
                        });
                        _townList.Add(new EntityTown()
                        {
                            Id         = UtilsService.GenerateId(),
                            Name       = "Polokwane",
                            ProvinceId = province.Id,
                        });
                    }

                    if (i == 5)                     //  Name = "Mpumalanga"
                    {
                        _townList.Add(new EntityTown()
                        {
                            Id         = UtilsService.GenerateId(),
                            Name       = "Ermelo",
                            ProvinceId = province.Id,
                        });
                        _townList.Add(new EntityTown()
                        {
                            Id         = UtilsService.GenerateId(),
                            Name       = "Nelspruit",
                            ProvinceId = province.Id,
                        });
                    }

                    if (i == 6)                     //  Name = "Northern Cape"
                    {
                        _townList.Add(new EntityTown()
                        {
                            Id         = UtilsService.GenerateId(),
                            Name       = "Kimberley",
                            ProvinceId = province.Id,
                        });
                        _townList.Add(new EntityTown()
                        {
                            Id         = UtilsService.GenerateId(),
                            Name       = "Upington",
                            ProvinceId = province.Id,
                        });
                    }

                    if (i == 7)                     //  Name = "North West"
                    {
                        _townList.Add(new EntityTown()
                        {
                            Id         = UtilsService.GenerateId(),
                            Name       = "Rustenburg",
                            ProvinceId = province.Id,
                        });
                        _townList.Add(new EntityTown()
                        {
                            Id         = UtilsService.GenerateId(),
                            Name       = "Potchefstroom",
                            ProvinceId = province.Id,
                        });
                    }

                    if (i == 8)                     //  Name = "Western Cape"
                    {
                        _townList.Add(new EntityTown()
                        {
                            Id         = UtilsService.GenerateId(),
                            Name       = "Cape Town",
                            ProvinceId = province.Id,
                        });
                        _townList.Add(new EntityTown()
                        {
                            Id         = UtilsService.GenerateId(),
                            Name       = "Mossel Bay",
                            ProvinceId = province.Id,
                        });
                        _townList.Add(new EntityTown()
                        {
                            Id         = UtilsService.GenerateId(),
                            Name       = "Worcester",
                            ProvinceId = province.Id,
                        });
                    }
                }

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

            return(_townList.OrderBy(c => c.Name).ToList());
        }
Пример #17
0
        /// <summary>
        /// Gets the products.
        /// </summary>
        /// <returns></returns>
        internal static async Task <List <EntityProduct> > GetProducts()
        {
            if (_products == null)
            {
                _products = new List <EntityProduct>();
            }

            if (_products.Count == 0)
            {
                _products.Add(new EntityProduct()
                {
                    Id          = UtilsService.GenerateId(),
                    Name        = "PVR Decoder",
                    Description = "DStv PVR Decoder",
                    Price       = 698
                });

                _products.Add(new EntityProduct()
                {
                    Id          = UtilsService.GenerateId(),
                    Name        = "Single-View Decoder",
                    Description = "DStv Single-View Decoder",
                    Price       = 350
                });

                _products.Add(new EntityProduct()
                {
                    Id          = UtilsService.GenerateId(),
                    Name        = "Dual -View Decoder",
                    Description = "DStv Dual-View Decoder",
                    Price       = 450
                });

                _products.Add(new EntityProduct()
                {
                    Id          = UtilsService.GenerateId(),
                    Name        = "Explora Decoder",
                    Description = "DStv Explora Decoder",
                    Price       = 1300
                });

                _products.Add(new EntityProduct()
                {
                    Id          = UtilsService.GenerateId(),
                    Name        = "2-Tuner PVR Decoder",
                    Description = "DStv 2-Tuner Decoder",
                    Price       = 799
                });

                _products.Add(new EntityProduct()
                {
                    Id          = UtilsService.GenerateId(),
                    Name        = "SD PVR Decoder",
                    Description = "DStv SD PVR Decoder",
                    Price       = 900
                });

                _products.Add(new EntityProduct()
                {
                    Id          = UtilsService.GenerateId(),
                    Name        = "UEC 4-tuner PVR Decoder",
                    Description = "DStv UEC 4-tuner PVR Decoder",
                    Price       = 900
                });
            }

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

            return(_products.OrderBy(c => c.Name).ToList());
        }