/// <summary> /// Registers a job on the job manager /// </summary> /// <param name="services"></param> /// <param name="jobType"></param> /// <param name="identifier"></param> public static void RegisterJob(this IServiceCollection services, Type jobType, string?identifier = null, InternetAccess requiredNetwork = InternetAccess.None, bool runInForeground = false, bool?clearJobQueueFirst = null, params (string Key, object value)[] parameters)
private static void MissingImages() { var checkedImages = d.ProductsImages.Where(t => t.ImageChecked).ToList(); var internetAccess = new InternetAccess(); var siteURL = d.Settings.Where(t => t.SettingName == "URL").FirstOrDefault().SettingValue; var site = (from s in d.Sites where s.SiteURL == siteURL select s).FirstOrDefault(); var connection = internetAccess.FtpConnect(site.FTPServer, 21, site.FTPUsername, site.FTPPass, true); connection.SetDirectory(site.ImagesPath); var files = connection.GetDirectoryContents("*.jpeg", CachingFlags.None); var filesNames = files.Where(t => !t.Name.Contains("_med") && !t.Name.Contains("_sm")).Select(t => t.Name.Replace(".jpeg", "")).ToList(); if (checkedImages.Count != filesNames.Count) { foreach (var file in filesNames) { if (checkedImages.Where(t => t.ImageID.ToString() == file).FirstOrDefault() == null) { // удалить по ftp try { connection.DeleteFile(file + ".jpeg"); connection.DeleteFile(file + "_med.jpeg"); connection.DeleteFile(file + "_sm.jpeg"); } catch { } } } files = connection.GetDirectoryContents("*.jpeg", CachingFlags.None); filesNames = files.Select(t => t.Name.Replace(".jpeg", "")).ToList(); } if (checkedImages.Count != filesNames.Count) { foreach (var image in checkedImages) { if (!filesNames.Contains(image.ImageID.ToString())) { var originalImageName = homeFolder + image.ImageID.ToString();; var ftpPath = site.ImagesPath + "/" + image.ImageID.ToString(); try { connection.UploadFile(originalImageName + ".jpeg", ftpPath + ".jpeg", TransferType.Binary, CachingFlags.None); if (site.ResizeImages && site.SmallBigSize != null) { connection.UploadFile(originalImageName + "_sm.jpeg", ftpPath + "_sm.jpeg", TransferType.Binary, CachingFlags.None); } if (site.ResizeImages && site.MedBigSize != null) { connection.UploadFile(originalImageName + "_med.jpeg", ftpPath + "_med.jpeg", TransferType.Binary, CachingFlags.None); } } catch { } } } } connection.Dispose(); internetAccess.Dispose(); }
private static void ClearImages() { Console.WriteLine("Clear Images"); var di = new DirectoryInfo(homeFolder); var filesCount = di.GetFiles().Where(t => !t.Name.Contains("_med") && !t.Name.Contains("_sm")).Count(); var dbImagesCount = d.ProductsImages.Count(); if (dbImagesCount != filesCount) { var internetAccess = new InternetAccess(); var siteURL = d.Settings.Where(t => t.SettingName == "URL").FirstOrDefault().SettingValue; var site = (from s in d.Sites where s.SiteURL == siteURL select s).FirstOrDefault(); try { var connection = internetAccess.FtpConnect(site.FTPServer, 21, site.FTPUsername, site.FTPPass, true); connection.SetDirectory(site.ImagesPath); var productsImages = d.ProductsImages.Select(t => t.ImageID.ToString()).ToList(); var files = di.GetFiles().Where(t => !t.Name.Contains("_med") && !t.Name.Contains("_sm")); foreach (var file in files) { var imageId = file.Name.Replace(".jpeg", ""); if (!productsImages.Contains(imageId)) { var medfile = new FileInfo(file.Name.Replace(".jpeg", "_med.jpeg")); var smfile = new FileInfo(file.Name.Replace(".jpeg", "_sm.jpeg")); file.Delete(); medfile.Delete(); smfile.Delete(); // удалить по ftp try { connection.DeleteFile(imageId + ".jpeg"); connection.DeleteFile(imageId + "_med.jpeg"); connection.DeleteFile(imageId + "_sm.jpeg"); } catch { } } } foreach (var img in d.ProductsImages) { if (!new FileInfo(di.FullName + "\\" + img.ImageID + ".jpeg").Exists) { var product = d.Products.Where(t => t.ImageId == img.ImageID).FirstOrDefault(); if (product != null) { product.ImageId = null; } d.ProductsImages.DeleteOnSubmit(img); } } d.SubmitChanges(); } catch { } } }
/// <summary> /// Registers a job on the job manager /// </summary> /// <param name="services"></param> /// <param name="jobType"></param> /// <param name="identifier"></param> public static void RegisterJob(this IServiceCollection services, Type jobType, string?identifier = null, InternetAccess requiredNetwork = InternetAccess.None, bool runInForeground = false) => services.RegisterJob(new JobInfo(jobType, identifier) { RequiredInternetAccess = requiredNetwork, RunOnForeground = runInForeground, Repeat = true });
private static void ClearImages() { Console.WriteLine("Clear Images"); var di = new DirectoryInfo(homeFolder); var filesCount = di.GetFiles().Where(t => !t.Name.Contains("_med") && !t.Name.Contains("_sm")).Count(); var dbImagesCount = d.ProductsImages.Count(); if (dbImagesCount != filesCount) { var internetAccess = new InternetAccess(); var siteURL = d.Settings.Where(t => t.SettingName == "URL").FirstOrDefault().SettingValue; var site = (from s in d.Sites where s.SiteURL == siteURL select s).FirstOrDefault(); try { var connection = internetAccess.FtpConnect(site.FTPServer, 21, site.FTPUsername, site.FTPPass, true); connection.SetDirectory(site.ImagesPath); var productsImages = d.ProductsImages.Select(t=>t.ImageID.ToString()).ToList(); var files = di.GetFiles().Where(t => !t.Name.Contains("_med") && !t.Name.Contains("_sm")); foreach (var file in files) { var imageId = file.Name.Replace(".jpeg", ""); if (!productsImages.Contains(imageId)) { var medfile = new FileInfo(file.Name.Replace(".jpeg", "_med.jpeg")); var smfile = new FileInfo(file.Name.Replace(".jpeg", "_sm.jpeg")); file.Delete(); medfile.Delete(); smfile.Delete(); // удалить по ftp try { connection.DeleteFile(imageId + ".jpeg"); connection.DeleteFile(imageId + "_med.jpeg"); connection.DeleteFile(imageId + "_sm.jpeg"); } catch { } } } foreach (var img in d.ProductsImages) { if (!new FileInfo(di.FullName + "\\" + img.ImageID + ".jpeg").Exists) { var product = d.Products.Where(t => t.ImageId == img.ImageID).FirstOrDefault(); if (product != null) product.ImageId = null; d.ProductsImages.DeleteOnSubmit(img); } } d.SubmitChanges(); } catch { } } }
static NetworkType ToNative(InternetAccess access) { switch (access) { case InternetAccess.Any: return(NetworkType.Connected); case InternetAccess.Unmetered: return(NetworkType.Unmetered); case InternetAccess.None: default: return(NetworkType.NotRequired); } }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); Xamarin.Essentials.Platform.Init(this, savedInstanceState); SetContentView(Resource.Layout.LoginLayout); FindElements(); SetFonts(); if (InternetAccess.CheckNetworkConnection()) { var names = UserBussines.GetAll().Select(q => q.UserName).ToList(); ArrayAdapter adapter = new ArrayAdapter <string>(this, Android.Resource.Layout.SimpleSpinnerItem, names); txtUserName.Adapter = adapter; } btnLogin.Click += BtnLogin_Click; }
/// <summary> /// Registers a job on the job manager /// </summary> /// <param name="services"></param> /// <param name="jobType"></param> /// <param name="identifier"></param> public static void RegisterJob(this IServiceCollection services, Type jobType, string?identifier = null, InternetAccess requiredNetwork = InternetAccess.None) => services.RegisterPostBuildAction(async sp => { // what if permission fails? var jobs = sp.GetService <IJobManager>(); var access = await jobs.RequestAccess(); if (access == AccessState.Available) { await jobs.Schedule(new JobInfo(jobType, identifier) { RequiredInternetAccess = requiredNetwork, Repeat = true }); } });
private ReturnedSaveFuncInfo CheckValidation() { var res = new ReturnedSaveFuncInfo(); try { txtUserName.Error = null; txtPassword.Error = null; if (!InternetAccess.CheckNetworkConnection()) { res.AddReturnedValue(ReturnedState.Error, "لطفا دسترسی خود به اینترنت را بررسی کرده و مجددا تلاش نمایید"); return(res); } if (string.IsNullOrEmpty(txtUserName.Text)) { var msg = "لطفا نام کاربری را وارد نمایید"; txtUserName.Error = msg; res.AddReturnedValue(ReturnedState.Error, msg); } if (res.HasError) { return(res); } if (string.IsNullOrEmpty(txtPassword.Text)) { var msg = "لطفا کلمه عبور را وارد نمایید"; txtPassword.Error = msg; res.AddReturnedValue(ReturnedState.Error, msg); } } catch (Exception ex) { WebErrorLog.ErrorInstence.StartErrorLog(ex); res.AddReturnedValue(ex); } return(res); }
public static async Task CreateAsync(UserHelpers usersInterface, InternetAccess internetCheck, string pin = null) { _internetCheck = internetCheck; if (!string.IsNullOrEmpty(pin)) { var result = await Users.TryGetUserAsync(_conn, pin); if (string.IsNullOrEmpty(result)) { throw new NoUserFound(); } await usersInterface.CreateLoggedUserAsync(result); _user = result; } else { _user = await Users.ReadLoggedUserAsync() ?? throw new UserReadFailed(); } }
static NetworkType ToNative(InternetAccess access) => access switch {
private static void MissingImages() { var checkedImages = d.ProductsImages.Where(t => t.ImageChecked).ToList(); var internetAccess = new InternetAccess(); var siteURL = d.Settings.Where(t => t.SettingName == "URL").FirstOrDefault().SettingValue; var site = (from s in d.Sites where s.SiteURL == siteURL select s).FirstOrDefault(); var connection = internetAccess.FtpConnect(site.FTPServer, 21, site.FTPUsername, site.FTPPass, true); connection.SetDirectory(site.ImagesPath); var files = connection.GetDirectoryContents("*.jpeg", CachingFlags.None); var filesNames = files.Where(t => !t.Name.Contains("_med") && !t.Name.Contains("_sm")).Select(t => t.Name.Replace(".jpeg", "")).ToList(); if (checkedImages.Count != filesNames.Count) { foreach (var file in filesNames) { if (checkedImages.Where(t => t.ImageID.ToString() == file).FirstOrDefault() == null) { // удалить по ftp try { connection.DeleteFile(file + ".jpeg"); connection.DeleteFile(file + "_med.jpeg"); connection.DeleteFile(file + "_sm.jpeg"); } catch { } } } files = connection.GetDirectoryContents("*.jpeg", CachingFlags.None); filesNames = files.Select(t => t.Name.Replace(".jpeg", "")).ToList(); } if (checkedImages.Count != filesNames.Count) { foreach (var image in checkedImages) { if (!filesNames.Contains(image.ImageID.ToString())) { var originalImageName = homeFolder + image.ImageID.ToString(); ; var ftpPath = site.ImagesPath + "/" + image.ImageID.ToString(); try { connection.UploadFile(originalImageName + ".jpeg", ftpPath + ".jpeg", TransferType.Binary, CachingFlags.None); if (site.ResizeImages && site.SmallBigSize != null) { connection.UploadFile(originalImageName + "_sm.jpeg", ftpPath + "_sm.jpeg", TransferType.Binary, CachingFlags.None); } if (site.ResizeImages && site.MedBigSize != null) { connection.UploadFile(originalImageName + "_med.jpeg", ftpPath + "_med.jpeg", TransferType.Binary, CachingFlags.None); } } catch { } } } } connection.Dispose(); internetAccess.Dispose(); }
public void Execute(BasicHttpBinding binding, EndpointAddress endpoint) { //try //{ bool modified = false; using (CentralCenterSoapClient centralCenter = CreateClient(binding, endpoint)) { if (centralCenter.IsCompatibleClient(App.VersionStr())) { CIV.CentralCenterClient.CentralCenterServiceReference.InternetAccessBO[] updatedAccess = centralCenter.GetInternetAccess(); if (updatedAccess != null) { InternetAccess oldAccess; InternetAccess newAccess; for (int i = 0; i < updatedAccess.Count(); i++) { newAccess = new InternetAccess() { Id = updatedAccess[i].Id, MaxCost = updatedAccess[i].MaxCost, OverCharge = updatedAccess[i].OverCharge, TotalCombined = updatedAccess[i].TotalCombined, UploadSpeed = updatedAccess[i].UploadSpeed, DownloadSpeed = updatedAccess[i].DownloadSpeed, LastUpdate = updatedAccess[i].LastUpdate }; newAccess.Name[SupportedLanguages.French] = updatedAccess[i].NameFr; newAccess.Name[SupportedLanguages.English] = updatedAccess[i].NameEn; oldAccess = InternetAccesList.Instance.Access.SingleOrDefault(p => p.Id == newAccess.Id); // Nouvelle accès if (oldAccess == null) { modified = true; InternetAccesList.Instance.Access.Add(newAccess); } // Mise à jour d'un accès else if (oldAccess.LastUpdate.CompareTo(updatedAccess[i].LastUpdate) != 0) { modified = true; oldAccess.MaxCost = newAccess.MaxCost; oldAccess.OverCharge = newAccess.OverCharge; oldAccess.TotalCombined = newAccess.TotalCombined; oldAccess.UploadSpeed = newAccess.UploadSpeed; oldAccess.DownloadSpeed = newAccess.DownloadSpeed; oldAccess.Name = newAccess.Name; oldAccess.LastUpdate = newAccess.LastUpdate; } } } if (modified) { InternetAccesList.Instance.Save(); InternetAccesList.Reload(); } } else if (IsNotCompatibleClient != null) { IsNotCompatibleClient(this, null); } } //} //catch //{ // // Si ça plante, on met pas à jours // return new InternetAccesList() { Publication = DateTime.Now.AddYears(-1)}; //} }
public LoginPage(InternetAccess internetCheck) { InitializeComponent(); _internetCheck = internetCheck; }