public void ComputerEngineeringPreReqShortTest() { // Constants for a pre-determined major/school combo const string COMPUTER_ENGINEERING_MAJOR = "1"; const string UNIVERSITY_WA = "1"; const string MAX_QUARTERS = "15"; // From my experience this seems to be a common schedule preference // set. Using this object as a concrete example to help debug and test. int schedId = PreferenceHelper.ProcessPreference(new CourseObject() { school = UNIVERSITY_WA, credits = "10", courses = "10", major = COMPUTER_ENGINEERING_MAJOR, quarters = MAX_QUARTERS, enrollment = ((int)Constants.EnrollmentType.FullTime).ToString(), job = ((int)Constants.JobType.Unemployed).ToString(), summer = "N" }, true); // Check that a schedule has been been made Assert.AreNotEqual(0, schedId); // The first check should be that all the prereqs are satisfied in the schedule. string result = db.ExecuteToString(getFulfillQueryString(schedId)); // This query will return 0 if all of the prereqs are met. Assert.AreEqual(0, Int32.Parse(result)); result = db.ExecuteToString(getScheduleQueryString(schedId)); Debug.WriteLine("THIS IS THE OUTPUT for ID" + schedId + " " + result); }
protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); SetContentView(Resource.Layout.ViewChallengeList); prefHelper = new PreferenceHelper(this); dataManager = new DataManger(this); var recyclerView = FindViewById <RecyclerView>(Resource.Id.recyclerView); var toolbar = FindViewById <Android.Widget.Toolbar>(Resource.Id.toolbar); var addItemButton = FindViewById <com.refractored.fab.FloatingActionButton>(Resource.Id.addItemButton); SetActionBar(toolbar); ActionBar.Title = "Check It"; ActionBar.SetDisplayHomeAsUpEnabled(true); ActionBar.SetHomeButtonEnabled(true); var layoutManager = new LinearLayoutManager(this, LinearLayoutManager.Vertical, false); recyclerView.SetLayoutManager(layoutManager); //Get challenges from database challenges = dataManager.ChallangeData.GetChallanges(); adapter = new ChallengeAdapter(this, challenges.Where(w => !w.IsCompleted).ToList()); recyclerView.SetAdapter(adapter); adapter.ItemClick += Challenge_ItemClick; addItemButton.Click += AddItemButton_Click; }
public override void OnBackPressed() { PreferenceHelper.PutBoolean("dialogShown", false); Finish(); OverridePendingTransition(Resource.Animation.push_down_in, Resource.Animation.push_down_out); base.OnBackPressed(); }
private void GeneratePlan(List <CourseObject> courseObj, List <int> insertedList) { foreach (var courseObject in courseObj) { var insertedId = PreferenceHelper.ProcessPreference(courseObject, true); insertedId.Should().NotBe(0); insertedList.Add(insertedId); } }
private View SetupView(View aView) { Switch lSwAskNonStdAdapter = aView.FindViewById <Switch>(Resource.Id.swAskNonStandardAdapter); lSwAskNonStdAdapter.Checked = PreferenceHelper.GetValue <bool>(ExtContext, PreferenceKeys.ASK_NON_STD_ADAPTER, false); lSwAskNonStdAdapter.CheckedChange += (sender, e) => { PreferenceHelper.SetValue(ExtContext, PreferenceKeys.ASK_NON_STD_ADAPTER, e.IsChecked); }; return(aView); }
public string Post(CourseObject content) { try { int id = PreferenceHelper.ProcessPreference(content); return(id.ToString()); } catch (Exception e) { Console.WriteLine(e); throw; } }
private Preference() { var tmp = new PreferenceHelper(); _typeFoto = tmp.GetSetings("Type"); _defaulPath = tmp.GetSetings("Path"); _lag = tmp.GetSetings("Lang"); #if DEBUG _defaulPath = @"C:\"; _lag = "pl_PL"; _typeFoto = "jpg/tif/raw/psd"; #endif }
private void ResetDefaults_PreferenceClick(object sender, Preference.PreferenceClickEventArgs e) { AlertDialogHelper.DisplayDialog(Activity, "Reset settings to default", "This will reset ALL settings to default values! Are you sure?", () => { ProgressDialogHelper.RunTask(Activity, "Resetting settings...", () => { PreferenceHelper.ResetToDefaults(); PreferenceScreen = null; SetPreferencesFromResource(Resource.Xml.preferences, _rootKey); //InitializePreferences(); }); }); }
protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); bundle = Intent.Extras; SetContentView(Resource.Layout.ViewChallenge); prefHelper = new PreferenceHelper(this); dataManager = new DataManger(this); var toolbar = FindViewById <Toolbar>(Resource.Id.toolbar); checkButton = FindViewById <BiggerFloatingActionButton>(Resource.Id.checkButton); var challengeName = FindViewById <TextView>(Resource.Id.challengeName); challange = new ChallengeDto { Id = bundle.GetInt("CHALLENGE_ID"), Name = bundle.GetString("NAME"), Duration = bundle.GetInt("DURATION"), EntriesCompleted = bundle.GetInt("ENTRIES_COMPLETED"), LastEntryDate = Utils.ToDateTimeNull(bundle.GetString("LAST_ENTRY_DATE")) }; position = bundle.GetInt("POSITION"); if (challange.CanCheck) { checkButton.BackgroundTintList = ColorStateList.ValueOf(Resources.GetColor(Resource.Color.colorPrimary)); checkButton.Clickable = true; checkButton.Click += CheckButton_Click; } else { checkButton.BackgroundTintList = ColorStateList.ValueOf(Resources.GetColor(Resource.Color.lightGray)); checkButton.Clickable = false; } challengeName.Text = challange.Name; SetActionBar(toolbar); ActionBar.Title = "Check It"; ActionBar.SetDisplayHomeAsUpEnabled(true); ActionBar.SetHomeButtonEnabled(true); }
private void ShowDisclaimerDialog() { var dialogAlreadyShown = GetPreferences(FileCreationMode.Private).GetBoolean("dialogShown", false); if (!dialogAlreadyShown) { new Android.App.AlertDialog.Builder(this) .SetTitle("Important info") .SetMessage(Resources.GetString(Resource.String.donateText)) .SetPositiveButton("I understand", (s, e) => { return; }) .SetCancelable(false) .Create() .Show(); PreferenceHelper.PutBoolean("dialogShown", true); } }
private async void SetupUI() { PreferenceHelper.Init(this); loadingCircle.Visibility = ViewStates.Visible; if (File.Exists(ideasdbPath)) { var cachedDb = await DBAssist.DeserializeDBAsync <List <Category> >(ideasdbPath); if (cachedDb != null) { Global.Categories = cachedDb; categoryList.AddRange(cachedDb); SetupList(); CloudDBManager.StartLowkeyInvalidation(); } else { File.Delete(ideasdbPath); SetupUI(); } } else { var snack = Snackbar.Make(bookmarksFab, "Getting ideas from server. Please wait.", Snackbar.LengthIndefinite); snack.Show(); var db = await CloudDBManager.DownloadDB(SetupUI, snack); if (db != null) { Global.Categories = db; snack.Dismiss(); categoryList = db; SetupList(); } else { loadingCircle.Visibility = ViewStates.Gone; } } }
private void SelectOtherDevice(Action aCallbackError) { if (PreferenceHelper.GetValue <bool>(Activity, PreferenceKeys.ASK_NON_STD_ADAPTER, false) == false) { return; } RunOnUiThread(() => { DialogHelper.ShowToast(Activity, Resource.String.standard_device_not_found, ToastLength.Long); List <IListPrompt> lItems = new List <IListPrompt>(AndroidOBDBluetoothConnection.Current.BondedDeviceNames); if (lItems.Count > 0) { DialogHelper.DisplayListPrompt(Activity, lItems, (sender, e) => { AndroidOBDBluetoothConnection.Current.Start(lItems[e.Which].Text, aCallbackError); }); } else { DialogHelper.ShowToast(Activity, Resource.String.no_devices_found, ToastLength.Long); } }); }
public void OkPath() { var tmp = new PreferenceHelper(); tmp.UpdateSetings("Path", DefaultPath); }
public void OkLang() { var tmp = new PreferenceHelper(); tmp.UpdateSetings("Lang", Lang); }
public void OkType() { var tmp = new PreferenceHelper(); tmp.UpdateSetings("Type", TypeFile); }
public static async Task <ConversationViewModel> FillConversationFromTask(long taskId, ServiceGateWayClient gatewayITask, EnvironmentViewModel environnement, TaskUser user, List <ClAgent> fullAgents, ClTaskDocument currentTask = null) { var model = new ConversationViewModel(); var task = new ClTaskDocument(); //On va chercher les préférences utilisateurs, comme l'affichage chronologique, les couleurs... var userPreference = await PreferenceHelper.GetPreferenceSettings(gatewayITask, user); //pour pouvoir avoir les quelques infos de la tâche (description, employeur et travailleur de la tâche) if (currentTask != null) { task = currentTask; } else { //on va récupérer les documents attachés à la tâche task = await Task.Run(() => gatewayITask.SearchDocumentTask(taskId, environnement.language, true, MapClRessourcesToRessourcesViewModel.Map(user.RessourcesListWithAccess).ToArray(), long.Parse(user.Id))); } //On va cherché les éléments de conversations liés à la tâche et on les trie par date d'envoi var contentConversation = gatewayITask.GetTaskConversation(task).OrderBy(a => a.SentDate); if (taskId == -1) { //Actuellement aucunes tâches sans identifiant...une sécurité inutile? //todo something } else { model.TaskId = taskId; model.CurrentStatus = task.CurrentStatus; model.Description = task.Task.Description; model.TaskEmployerNumber = task.Task.EmployerNumber; model.TaskEmployerName = task.Task.EmployerDenomination; model.TaskWorkerNumber = task.Task.WorkerNumber; model.TaskWorkerName = task.Task.WorkerName; model.DialogDisplayChrono = userPreference.DialogDisplayChrono; model.IsStatusVisible = true; //on construit la conversation foreach (var elem in contentConversation) { //Filtre en fonction des droits de l'utilisateur connecté if (CanSeeMessage(elem, user, gatewayITask)) { var senderMail = CreateALiasFormated(elem.AuthorAgent.Mail, elem.AliasFrom); var mess = new MessageConversationViewModel { TypeOfMessage = elem.ContributionType.ToString(), DateOfMessage = elem.SentDate, Sender = senderMail, Subject = elem.Subject, MessageContentText = elem.MailBodyText, MessageContentHtml = elem.MailBody, IsConfidential = elem.Confidential == 1, FilesAssociatedToMessage = new List <DocumentViewModel>(), FullHtmlToRecover = "<div style=\"color:black;\">" + elem.MailBody + "</div>", PermIdMainMessage = elem.PermIdMainMessage, TechnicalIdContributeTask = elem.IdTechnic, MailBodyIsHtml = elem.MailBodyIsHtml, AliasCopyCc = new List <string>(elem.AliasCopyCc), AliasRecipient = new List <string>(elem.AliasRecipient), AliasFrom = elem.AliasFrom }; // 10/09/2019, toujours prendre le contenu html du mail if (string.IsNullOrEmpty(mess.MessageContentHtml)) { mess.MessageContentHtml = mess.MessageContentText; } // Lors de l'envoi du mail, le tag GroupSMailExternTask a été rajouté // Donc on peut couper pour l'affichage tout ce qui se trouve dans cette Div try { //Nugget pour parcourir HTML sous forme hierarchique HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument(); doc.LoadHtml(mess.MessageContentHtml); var divs = doc.DocumentNode.SelectNodes("//div"); if (divs != null) { foreach (var tag in divs) { if (tag.Attributes["id"] != null && tag.Attributes["id"].Value.Contains("MailExternTask")) { tag.Remove(); } } mess.MessageContentHtml = doc.DocumentNode.InnerHtml; } } catch { } // mess.AgentVm = MapClAgentToAgentViewModel.Map(elem.AuthorAgent); //on construit les CC foreach (var cc in elem.CopyCc) { if (cc != "0") { mess.CopyTo += cc + ", "; } } if (!string.IsNullOrEmpty(mess.CopyTo)) { mess.CopyTo = mess.CopyTo.Substring(0, mess.CopyTo.Length); } foreach (var rc in elem.Recipient) { if (rc != "0") { mess.Receiver += rc + ", "; } } if (!string.IsNullOrEmpty(mess.Receiver)) { mess.Receiver = mess.Receiver.Substring(0, mess.Receiver.Length); } //Permet de savoir si il y a plus d'une seule addresse dans le to var isManyReceiver = mess.Receiver != null?mess.Receiver.Split(',') : new string [1]; List <string> listReceiver = new List <string>(isManyReceiver); //Supprime la derniere cellule car elle est egale a " " comme on split sur les ',' listReceiver.RemoveAt(listReceiver.Count() - 1); //savoir si on doit afficher le bouton reply all ou pas mess.CanSeeReplyAllButton = listReceiver.Count() > 1 || mess.CopyTo != null ? true : false; //si ce n'est pas un commentaire if (mess.TypeOfMessage != "2") { var adrTo = CreateChainOfAddressMailWithAlias(elem.AliasRecipient, elem.Recipient); if (adrTo.Length > 0) { //Retire la derniere virgule inutile adrTo = adrTo.Remove(adrTo.Length - 1); mess.MoreInfosAboutMessage = "TO : " + adrTo; } var adrCC = CreateChainOfAddressMailWithAlias(elem.AliasCopyCc, elem.CopyCc); if (adrCC.Length > 0) { //Retire la derniere virgule inutile adrCC = adrCC.Remove(adrCC.Length - 1); mess.MoreInfosAboutMessage += ",CC : " + adrCC; } // Il arrive que des mails ont été archivés sans adresses dans To et sans CC if (mess.MoreInfosAboutMessage != null) { mess.MoreInfosAboutMessage = mess.MoreInfosAboutMessage.Replace(";", ";\n"); } } foreach (var file in elem.joinFiles) { mess.FilesAssociatedToMessage.Add(new DocumentViewModel { DocumentName = file.FileName, PermId = file.PermId }); } //Adaptation pour le CSS sous forme de bulle de conversation => preferences switch (elem.ContributionType) { case 1: //TASK_TYPE_CONTRIBUTION 1 Mail provenant de l'extérieur mess.BubbleCss = "bubble-left mail-content"; break; case 2: //TASK_TYPE_CONTRIBUTION 2 Commentaire mess.BubbleCss = "bubble-comment comment-content"; break; case 3: //TASK_TYPE_CONTRIBUTION 3 Mail interne //si c'est message interne mais c'est la réponse d'un collègue --> bubble-left-internal mess.BubbleCss = elem.AuthorCreation == user.Id ? "bubble-right-internal dialog-content" : "bubble-left-internal dialog-content"; break; case 8: //TASK_TYPE_CONTRIBUTION 10 Mail destiné à l'extérieur mess.BubbleCss = elem.AuthorCreation == user.Id ? "bubble-right-draft mail-content" : "bubble-left-draft mail-content"; break; case 10: //TASK_TYPE_CONTRIBUTION 10 Mail destiné à l'extérieur mess.BubbleCss = elem.AuthorCreation == user.Id ? "bubble-right-external mail-content" : "bubble-left-external mail-content"; break; } model.MessageConversationList.Add(mess); } } //mettre le dernier mail externe en reply si il existe var lastExt = model.MessageConversationList.LastOrDefault(x => x.TypeOfMessage == "1"); if (lastExt != null) { lastExt.LastExternReply = true; } //mettre le dernier mail interne en reply si il existe var lastInt = model.MessageConversationList.LastOrDefault(x => x.TypeOfMessage == "3"); if (lastInt != null) { lastInt.LastInternReply = true; } } model.Environment = new EnvironmentViewModel { _listLabels = environnement._listLabels, language = environnement.language }; if (userPreference.DialogDisplayChrono) { model.MessageConversationList = model.MessageConversationList.OrderBy(a => a.DateOfMessage).ToList(); } else { model.MessageConversationList = model.MessageConversationList.OrderByDescending(a => a.DateOfMessage).ToList(); } return(model); }