private void OnDrop(object sender, Telerik.Windows.DragDrop.DragEventArgs e) { var draggedItem = DragDropPayloadManager.GetDataFromObject(e.Data, "DraggedItem"); if (draggedItem == null) { draggedItem = DragDropPayloadManager.GetDataFromObject(e.Data, "DraggedData"); } var details = DragDropPayloadManager.GetDataFromObject(e.Data, "DropDetails") as GridRowIndicationDetail; if (details == null || draggedItem == null || (draggedItem is IList && (draggedItem as IList).Count == 0)) { return; } if (sender is RadGridView && (e.Effects == DragDropEffects.Move || e.Effects == DragDropEffects.All)) { ((sender as RadGridView).ItemsSource as IList).Remove(draggedItem); } if (e.Effects != DragDropEffects.None) { var collection = (sender as RadGridView).ItemsSource as IList; int index = details.DropIndex < 0 ? 0 : details.DropIndex; index = details.DropIndex > collection.Count - 1 ? collection.Count : index; if (draggedItem is IList && (draggedItem as IList).Count > 0 && (draggedItem as IList)[0] is IOuvrage && collection.GetType().GetGenericArguments()[0] == typeof(Composition)) { foreach (var item in draggedItem as IList) { Composition co = new Composition(); if (item is EqEquipement) { co.EqEquipement = item as EqEquipement; } else if (item is Pp) { co.Pp = item as Pp; } collection.Insert(index++, co); } } else { collection.Insert(index, draggedItem); } } }
/// <summary> /// Créez un nouvel objet Composition. /// </summary> /// <param name="cleComposition">Valeur initiale de la propriété CleComposition.</param> /// <param name="cleTournee">Valeur initiale de la propriété CleTournee.</param> /// <param name="enumTypeEval">Valeur initiale de la propriété EnumTypeEval.</param> /// <param name="numeroOrdre">Valeur initiale de la propriété NumeroOrdre.</param> public static Composition CreateComposition(global::System.Int32 cleComposition, global::System.Int32 cleTournee, global::System.Int32 enumTypeEval, global::System.Int32 numeroOrdre) { Composition composition = new Composition(); composition.CleComposition = cleComposition; composition.CleTournee = cleTournee; composition.EnumTypeEval = enumTypeEval; composition.NumeroOrdre = numeroOrdre; return composition; }
/// <summary> /// Exporte l'objet EqEquipement passé en paramètre en un XmlElement /// </summary> /// <param name="EQ">Objet à transformer en XML</param> /// <param name="XmlDoc">XMLDocument racine</param> /// <returns></returns> private XmlElement getEquipementToXML(Composition co, XmlDocument XmlDoc) { XmlElement elemEQ = XmlDoc.CreateElement("EQ"); if (co.CleEquipement.HasValue) { EqEquipement EQ = co.EqEquipement; XmlElement elemEQdetails = XmlDoc.CreateElement("CleTypeEvaluation"); elemEQdetails.InnerText = co.EnumTypeEval.ToString(); elemEQ.AppendChild(elemEQdetails); elemEQdetails = XmlDoc.CreateElement("TypeEvaluation"); elemEQdetails.InnerText = co.RefEnumValeur != null ? co.RefEnumValeur.LibelleCourt : string.Empty; elemEQ.AppendChild(elemEQdetails); elemEQdetails = XmlDoc.CreateElement("CleEquipement"); elemEQdetails.InnerText = EQ.CleEquipement.ToString(); elemEQ.AppendChild(elemEQdetails); //elemEQdetails = XmlDoc.CreateElement("CleEquipementOrigine"); //elemEQdetails.InnerText = EQ.CleEquipementOrigine != null ? EQ.CleEquipementOrigine.ToString() : string.Empty; //elemEQ.AppendChild(elemEQdetails); elemEQdetails = XmlDoc.CreateElement("ClePp"); elemEQdetails.InnerText = EQ.ClePp.ToString(); elemEQ.AppendChild(elemEQdetails); //// Caractérisrique de la pp de ratachement //XmlElement elemEQPP = XmlDoc.CreateElement("PP"); //XmlElement elemPPdetails = XmlDoc.CreateElement("CourantsVagabonds"); //elemPPdetails.InnerText = EQ.Pp.CourantsVagabonds != null ? EQ.Pp.CourantsVagabonds.ToString() : string.Empty; //elemEQPP.AppendChild(elemPPdetails); //elemPPdetails = XmlDoc.CreateElement("CourantsAlternatifsInduits"); //elemPPdetails.InnerText = EQ.Pp.CourantsAlternatifsInduits != null ? EQ.Pp.CourantsAlternatifsInduits.ToString() : string.Empty; //elemEQPP.AppendChild(elemPPdetails); //elemPPdetails = XmlDoc.CreateElement("ElectrodeEnterreAmovible"); //elemPPdetails.InnerText = EQ.Pp.CourantsAlternatifsInduits != null ? EQ.Pp.CourantsAlternatifsInduits.ToString() : string.Empty; //elemEQPP.AppendChild(elemPPdetails); //elemPPdetails = XmlDoc.CreateElement("TemoinEnterreAmovible"); //elemPPdetails.InnerText = EQ.Pp.TemoinEnterreAmovible != null ? EQ.Pp.TemoinEnterreAmovible.ToString() : string.Empty; //elemEQPP.AppendChild(elemPPdetails); //elemPPdetails = XmlDoc.CreateElement("TemoinMetalliqueDeSurface"); //elemPPdetails.InnerText = EQ.Pp.TemoinMetalliqueDeSurface != null ? EQ.Pp.TemoinMetalliqueDeSurface.ToString() : string.Empty; //elemEQPP.AppendChild(elemPPdetails); //elemPPdetails = XmlDoc.CreateElement("Telemesure"); //elemPPdetails.InnerText = EQ.Pp.PresenceDUneTelemesure != null ? EQ.Pp.PresenceDUneTelemesure.ToString() : string.Empty; //elemEQPP.AppendChild(elemPPdetails); //elemEQ.AppendChild(elemEQPP); elemEQdetails = XmlDoc.CreateElement("CleTypeEq"); elemEQdetails.InnerText = EQ.CleTypeEq.ToString(); elemEQ.AppendChild(elemEQdetails); elemEQdetails = XmlDoc.CreateElement("TypeEquipement"); elemEQdetails.InnerText = EQ.TypeEquipement != null ? EQ.TypeEquipement.CodeEquipement : string.Empty; elemEQ.AppendChild(elemEQdetails); //elemEQdetails = XmlDoc.CreateElement("CleUtilisateur"); //elemEQdetails.InnerText = EQ.CleUtilisateur.HasValue ? EQ.CleUtilisateur.Value.ToString() : string.Empty; //elemEQ.AppendChild(elemEQdetails); elemEQdetails = XmlDoc.CreateElement("Libelle"); elemEQdetails.InnerText = EQ.Libelle != null ? EQ.Libelle : string.Empty; elemEQ.AppendChild(elemEQdetails); //elemEQdetails = XmlDoc.CreateElement("Commentaire"); //elemEQdetails.InnerText = EQ.Commentaire != null ? EQ.Commentaire : string.Empty; //elemEQ.AppendChild(elemEQdetails); //elemEQdetails = XmlDoc.CreateElement("DateMAJCommentaire"); //elemEQdetails.InnerText = EQ.DateMajCommentaire.HasValue ? EQ.DateMajCommentaire.Value.ToString() : string.Empty; //elemEQ.AppendChild(elemEQdetails); //elemEQdetails = XmlDoc.CreateElement("DateMAJEquipement"); //elemEQdetails.InnerText = EQ.DateMajEquipement != null ? EQ.DateMajEquipement.ToString() : string.Empty; //elemEQ.AppendChild(elemEQdetails); //elemEQdetails = XmlDoc.CreateElement("Supprime"); //elemEQdetails.InnerText = EQ.Supprime != null ? EQ.Supprime.ToString() : string.Empty; //elemEQ.AppendChild(elemEQdetails); // Dernière visite ayant le même type d'évaluation (Si EG, ECD convient également) IEnumerable<Visite> visites = EQ.Visites.Where(v => v.EnumTypeEval == co.EnumTypeEval || (co.RefEnumValeur.Valeur == "1" && v.RefEnumValeur.Valeur == "2")).OrderByDescending(v => v.DateVisite); elemEQdetails = XmlDoc.CreateElement("Visites"); if (visites.Count() > 0) { elemEQdetails.AppendChild(getVisiteToXML(visites.First(), XmlDoc)); } // Génération d'une visite de saisie vide XmlElement elemVisiteProteIN = XmlDoc.CreateElement("VisiteProteIN"); elemVisiteProteIN.AppendChild(XmlDoc.CreateElement("CleUtilisateur")); XmlElement elemVisiteProteINDetails = XmlDoc.CreateElement("EnumTypeEval"); elemVisiteProteINDetails.InnerText = co.EnumTypeEval.ToString(); elemVisiteProteIN.AppendChild(elemVisiteProteINDetails); elemVisiteProteIN.AppendChild(XmlDoc.CreateElement("ClePP")); elemVisiteProteINDetails = XmlDoc.CreateElement("CleEquipement"); elemVisiteProteINDetails.InnerText = EQ.CleEquipement.ToString(); elemVisiteProteIN.AppendChild(elemVisiteProteINDetails); elemVisiteProteIN.AppendChild(XmlDoc.CreateElement("DateVisite")); elemVisiteProteIN.AppendChild(XmlDoc.CreateElement("EstConfirmee")); elemVisiteProteIN.AppendChild(XmlDoc.CreateElement("CommentaireVisite")); elemVisiteProteIN.AppendChild(XmlDoc.CreateElement("CommentaireAnalyse")); elemVisiteProteIN.AppendChild(XmlDoc.CreateElement("CleAnalyse")); elemVisiteProteIN.AppendChild(XmlDoc.CreateElement("MesMesures")); elemEQdetails.AppendChild(elemVisiteProteIN); elemEQ.AppendChild(elemEQdetails); } return elemEQ; }
/// <summary> /// Méthode déconseillée pour ajouter un nouvel objet à l'EntitySet Compositions. Utilisez la méthode .Add de la propriété ObjectSet<T> associée à la place. /// </summary> public void AddToCompositions(Composition composition) { base.AddObject("Compositions", composition); }