public void CreateIntervention_OnApprovedStateWithInsufficientMaxLabourHours_ReturnNullAndFalse() { bool result = false; string msg = ""; InterventionType type = new InterventionType { DefaultCost = 10000, DefaultLabourHours = 100, InterventionTypeId = 1, Name = "Supply and Install Portable Toilet" }; Client client = new Client { Address = "Pitt St", ClientId = 1, District = "Rural Indonesia", Name = "John Lennon" }; ENETCareGlobal.CurrentUser = new SiteEngineer { District = "Rural Indonesia", MaxHours = 1, MaxCost = 10000, Name = "Neil", SiteEngineerId = 1, UserId = 1 }; DateTime dateToPerform = new DateTime(2991, 9, 23); Intervention intervention = new InterventionManager().CreateIntervention(type, "Approved", 100, 10000, "OK", dateToPerform, client, out msg, out result); Assert.IsFalse(result); Assert.IsNull(intervention); }
//***************************************************************************************************************** void listerInterventionsTechnicienDate() { Intervention uneIntervention = new Intervention(); uneIntervention.DebutIntervention = DateTime.Now.Date; uneIntervention.FkLoginT = "tvsilvestre"; try { using (InterventionManager interventionManager = new InterventionManager()) { List <Intervention> listIntervention = interventionManager.listeInterventionsTechnicien(uneIntervention); foreach (Intervention chaqueIntervention in listIntervention) { Console.Write(chaqueIntervention.NomContact + " " + chaqueIntervention.FkLoginT + " " + chaqueIntervention.DebutIntervention.ToString() + " " + chaqueIntervention.FinIntervention.ToString()); Console.WriteLine(); } } } catch (Exception ex) { Console.WriteLine(ex.Message); } }
protected void CreateBtn_Click(object sender, EventArgs e) { InterventionType selectedType = null; foreach (InterventionType type in ENETCareGlobal.allInterventionTypes) { if (type.Name == InterventionTypeDropDownList.SelectedValue) { selectedType = type; } } int labourHours = -1; int.TryParse(LabourHoursTextBox.Text, out labourHours); decimal cost = -1; decimal.TryParse(CostTextBox.Text, out cost); if (DateToPerformTextBox.Text != "") { if (NoteTextBox.Text.Length < 100) { DateTime dt = Convert.ToDateTime(DateToPerformTextBox.Text); bool result = false; string msg = ""; if (Session["selectedClientIdx"] != null) { Intervention newIntervention = new InterventionManager().CreateIntervention(selectedType, StateDropDownList.SelectedValue, labourHours, cost, NoteTextBox.Text, dt, ENETCareGlobal.allClients[(int)Session["selectedClientIdx"]], out msg, out result); if (result) { new InterventionRepository().Insert(newIntervention); ErrorLabel.Text = "Success!"; } else { ErrorLabel.Text = msg; } } else { ErrorLabel.Text = "Please select a client!"; } } else { ErrorLabel.Text = "Note too long, character limit is 100"; } } else { ErrorLabel.Text = "Please select a date!"; } }
//***************************************************************************************************************** void peuplerTableIntervention() { DateTime dateDuJour = DateTime.Now.Date.AddHours(8); // la journée débute à 8 heures String[] tabLines = System.IO.File.ReadAllLines(@"..\..\..\DonneesInitialesBdd\Interventions.csv", Encoding.GetEncoding("iso-8859-1")); Intervention intervention = new Intervention(); using (InterventionManager interventionManager = new InterventionManager()) // appel automatique de la methode dispose qui ferme la connexion { foreach (String line in tabLines) // pour toutes les lignes du jeux d'essais { String[] str = line.Split(';'); // on a choisi ";" comme séparateur csv if (str[0] != "#") // si oui c'est une ligne de commentaire { intervention.CompteRendu = str[0]; intervention.DebutIntervention = dateDuJour.AddDays(Convert.ToDouble(str[1])); intervention.DebutIntervention = intervention.DebutIntervention.AddHours(Convert.ToDouble(str[2])); intervention.FinIntervention = dateDuJour.AddDays(Convert.ToDouble(str[1])); intervention.FinIntervention = intervention.FinIntervention.AddHours(Convert.ToDouble(str[3])); intervention.ObjectifVisite = str[4]; if (str[5] != "") // y a t il une image correspondant à l'intervention { // il faut charger et convertir l'image // Conversion fichier photo en tableau de byte pour enregistrement en BDD FileStream fs = new FileStream(str[5], FileMode.OpenOrCreate, FileAccess.Read); // on ouvre le fichier de la photo byte[] imageBytes = new byte[fs.Length]; // tableau de byte pour recevoir le contenu des octets de la photo fs.Read(imageBytes, 0, Convert.ToInt32(fs.Length)); // on place le contenu des octes de la photo dans le tableau intervention.PhotoLieu = imageBytes; // on enregistre dans l'entité } else { intervention.PhotoLieu = new Byte[0]; } intervention.NomContact = str[6]; intervention.PrenomContact = str[7]; intervention.TelContact = str[8]; intervention.EtatVisite = str[9]; intervention.FkLoginE = str[10]; if (str[11] != "") { intervention.FkIdClient = Convert.ToInt32(str[11]); // on doit affecter d'office un client à l'intervention } intervention.FkLoginT = str[12]; // On persiste l'entité en BDD interventionManager.ajouterIntervention(intervention); } } } }
//************************************************************************************************** private void affichePlanningTechnicien(Technicien technicien) { // RAZ des listes de rendez-vous et d'interventions listRdv.Clear(); // Raz affichage lblValDebInter.ResetText(); lblValFinInterv.ResetText(); lblValDureeInterv.ResetText(); // Chargement des interventions du jour d'un technicien et peuplement de la liste des rdv à afficher Intervention uneIntervention = new Intervention(); uneIntervention.DebutIntervention = dayView.StartDate.Date; uneIntervention.FkLoginT = technicien.LoginT; try { using (InterventionManager interventionManager = new InterventionManager()) { listIntervention = interventionManager.listeInterventionsTechnicien(uneIntervention); if (listIntervention != null) { foreach (Intervention chaqueIntervention in listIntervention) { // on peuple la liste des rdv a afficher Appointment rdv = new Appointment(); rdv.StartDate = chaqueIntervention.DebutIntervention; rdv.EndDate = chaqueIntervention.FinIntervention; rdv.BorderColor = Color.Red; // la couleur de l'entourage rdv.Title = chaqueIntervention.ObjectifVisite; // le texte à l'intérieur du rdv listRdv.Add(rdv); // On ajoute un tag (l'IdIntervention sur chaque rdv) // IdIntervention sera récupérer grace à rdv.Layer de chaque rendez-vous rdv.Layer = chaqueIntervention.IdIntervention; } } else { Appointment rdv = new Appointment(); rdv.StartDate = dayView.StartDate; rdv.EndDate = dayView.StartDate; rdv.Title = String.Empty; } dayView.Invalidate(); // On force le conrole à ce redessiner } } catch (Exception ex) { Console.WriteLine(ex.Message); } }
//************************************************************************************************** // Cette méthode récupère les rdv d'un technicien en BDD pour peupler la liste des rendez-vous à afficher //************************************************************************************************** private void affichePlanningTechnicien(Technicien technicien) { // Raz des listes contenant les rdv affichées et les instreventions d'un technicien récupérées en BDD listRdvBdd.Clear(); // Raz de l'affichage clearTextBox(); // On charge la liste des rendez-vous d'un technicien pour un jour donné Intervention uneIntervention = new Intervention(); uneIntervention.DebutIntervention = dayView.StartDate.Date; uneIntervention.FkLoginT = technicien.LoginT; try { using (InterventionManager interventionManager = new InterventionManager()) { listIntervention = interventionManager.listeInterventionsTechnicien(uneIntervention); if (listIntervention != null) { foreach (Intervention chaqueIntervention in listIntervention) { // on peuple la liste des rdv a afficher Appointment rdv = new Appointment(); rdv.StartDate = chaqueIntervention.DebutIntervention; rdv.EndDate = chaqueIntervention.FinIntervention; rdv.BorderColor = Color.Red; // la couleur de l'entourage rdv.Title = chaqueIntervention.ObjectifVisite; // le texte à l'intérieur du rdv listRdvBdd.Add(rdv); // On ajoute un tag (l'IdIntervention sur chaque rdv) // IdIntervention sera récupérer grace à rdv.Layer de chaque rendez-vous rdv.Layer = chaqueIntervention.IdIntervention; } } else { Appointment rdv = new Appointment(); rdv.StartDate = dayView.StartDate; rdv.EndDate = dayView.StartDate; rdv.Title = String.Empty; } dayView.Invalidate(); // On force le controle à se redessiner } } catch (Exception ex) { } }
public void EngineerApproveIntervention_OnLifeInputInvalid_ReturnFalse() { ENETCareGlobal.CurrentUser = new SiteEngineer { District = "Rural Indonesia", MaxHours = 1000, MaxCost = 100000, Name = "Neil", SiteEngineerId = 1, UserId = 1 }; string msg = ""; bool result = new InterventionManager().EvaluateUpdates(1, "Invalid", "Approved", "Proposed", "Rural Indonesia", 100, 10000, out msg); Assert.IsFalse(result); }
public void EngineerCancelIntervention_OnCurrentEngineerDifferentThanProposedBy_ReturnFalse() { ENETCareGlobal.CurrentUser = new SiteEngineer { District = "Rural Indonesia", MaxHours = 1000, MaxCost = 100000, Name = "Neil", SiteEngineerId = 2, UserId = 2 }; string msg = ""; bool result = new InterventionManager().EvaluateUpdates(1, "1", "Cancelled", "Approved", "Rural Indonesia", 100, 10000, out msg); Assert.IsFalse(result); }
//************************************************************************************************** // Enregistrement des nouvelles données de l'intervention //************************************************************************************************** private void BtnModificationIntervention_Click(object sender, EventArgs e) { if ((debutRdv != DateTime.Now.Date) && (technicienSelectionne != null) && (interventionRdvSelectionne != null)) { interventionRdvSelectionne.EtatVisite = cboxEtatIntervention.SelectedItem.ToString(); if (interventionRdvSelectionne.EtatVisite != String.Empty) // EtatVisite doit être renseigné { interventionRdvSelectionne.DebutIntervention = debutRdv; interventionRdvSelectionne.FinIntervention = finRdv; interventionRdvSelectionne.ObjectifVisite = txtBoxObjetVisite.Text; // récupération image if (pictureBoxImageIntervention.Image == null) { interventionRdvSelectionne.PhotoLieu = new Byte[0]; // tableau de byte vide } else { interventionRdvSelectionne.PhotoLieu = Utils.imageToByteArray(pictureBoxImageIntervention.Image); } // les champs des textBox interventionRdvSelectionne.PrenomContact = txtBoxPrenomContact.Text.Trim(); interventionRdvSelectionne.NomContact = txtBoxNomContact.Text.Trim(); interventionRdvSelectionne.TelContact = mTxtBoxTelephone.Text.Trim(); interventionRdvSelectionne.FkLoginE = UtilisateurConnecte.Login; using (InterventionManager interventionManager = new InterventionManager()) { // On persiste l'entité en BDD interventionManager.updateIntervention(interventionRdvSelectionne); } affichePlanningTechnicien(technicienSelectionne); interventionRdvSelectionne = null; } else { MessageToast.Show("Ne pas laisser l'état visite vide"); } } else { MessageToast.Show("sélectionner un rendez-vous, un technicien"); } }
//************************************************************************************************** private void BtnSupprimerIntervention_Click(object sender, EventArgs e) { Intervention interventionASupprimer = new Intervention(); if ((debutRdv != DateTime.Now.Date) && (technicienSelectionne != null)) { interventionASupprimer.FkLoginT = technicienSelectionne.LoginT; interventionASupprimer.DebutIntervention = debutRdv; using (InterventionManager interventionManager = new InterventionManager()) { interventionManager.supprimerIntervention(interventionASupprimer); } affichePlanningTechnicien(technicienSelectionne); } else { MessageToast.Show("Sélectionner technicien et rendez-vous"); } }
protected void InterventionsGridView_RowUpdating(object sender, GridViewUpdateEventArgs e) { string district = e.OldValues["ProposedBy.District"].ToString(); string msg = ""; int proposedById = int.Parse(e.OldValues["ProposedBy.SiteEngineerId"].ToString()); bool result = new InterventionManager().EvaluateUpdates(proposedById, e.NewValues["Life"].ToString(), e.NewValues["State"] as string, e.OldValues["State"] as string, district, int.Parse(e.OldValues["LabourHours"] as string), decimal.Parse(e.OldValues["Cost"] as string), out msg); if (e.NewValues["Note"].ToString().Length >= 100) { ErrorLabel.Text = "Note too long, character limit is 100"; e.Cancel = true; } if (result == false) { ErrorLabel.Text = msg; e.Cancel = true; } }
//************************************************************************************************** private void BtnValidationIntervention_Click(object sender, EventArgs e) { Intervention intervention = new Intervention(); intervention.CompteRendu = string.Empty; if ((debutRdv != DateTime.Now.Date) && (technicienSelectionne != null) && (clientSelectionne != null)) { intervention.DebutIntervention = debutRdv; intervention.FinIntervention = finRdv; intervention.ObjectifVisite = txtBoxObjetVisite.Text; // récupération image if (pictureBoxImageIntervention.Image == null) { intervention.PhotoLieu = new Byte[0]; // null } else { intervention.PhotoLieu = Utils.imageToByteArray(pictureBoxImageIntervention.Image); } // les champs des textBox intervention.PrenomContact = txtBoxPrenomContact.Text.Trim(); intervention.NomContact = txtBoxNomContact.Text.Trim(); intervention.TelContact = mTxtBoxTelephone.Text.Trim(); intervention.EtatVisite = "planifiée"; intervention.FkLoginE = UtilisateurConnecte.Login; intervention.FkIdClient = clientSelectionne.IdClient; intervention.FkLoginT = technicienSelectionne.LoginT; using (InterventionManager interventionManager = new InterventionManager()) { // On persiste l'entité en BDD interventionManager.ajouterIntervention(intervention); } affichePlanningTechnicien(technicienSelectionne); } else { MessageToast.Show("sélectionner l'heure RDV, technicien et client"); } }
//************************************************************************************************** private void affichePlanningTechnicien(Technicien technicien) { listRdv.Clear(); dayView.Refresh(); dayView.Invalidate(); // On force le controle à ce redessiner if (listIntervention == null) { listIntervention = new List <Intervention>(); } listIntervention.Clear(); Intervention uneIntervention = new Intervention(); uneIntervention.DebutIntervention = dayView.StartDate.Date; uneIntervention.FkLoginT = technicien.LoginT; try { using (InterventionManager interventionManager = new InterventionManager()) { listIntervention = interventionManager.listeInterventionsTechnicien(uneIntervention); foreach (Intervention chaqueIntervention in listIntervention) { Appointment rdv = new Appointment(); rdv.StartDate = chaqueIntervention.DebutIntervention; rdv.EndDate = chaqueIntervention.FinIntervention; rdv.BorderColor = Color.Red; rdv.Title = chaqueIntervention.ObjectifVisite; listRdv.Add(rdv); } dayView.Invalidate(); // On force le controle à ce redessiner } } catch (Exception ex) { } }