Пример #1
0
        public void SupprimerInterventionTrancheExacte()
        {
            if (!DessinSite.EnEdition)
            {
                return;
            }

            if (!m_bInitialise)
            {
                List <CInterventionPourEditeurPreventive> intersPartiel = DessinSite.DessinEditeur.GetIntersOfTranche(DessinTranche.Tranche, m_dessinSite.Site);
                foreach (CInterventionPourEditeurPreventive inter in intersPartiel)
                {
                    if (inter.DateDebut == DateDebut && inter.DateFin == DateFin &&
                        inter.ListesOperations.Contains(DessinSite.ContratListesOperationsEnCour.ListeOperations) &&
                        !inter.Deleted)
                    {
                        DessinSite.SupprimerIntervention(inter);
                    }
                }
            }
            else
            {
                List <CDessinListeOperations> dessins = GetDessinsInterOfLigne(1);
                if (dessins.Count == 1 &&
                    dessins[0].DateDebut == DateDebut &&
                    dessins[0].DateFin == DateFin &&
                    !dessins[0].Intervention.Deleted)                        //Pas necessaire normalement
                {
                    DessinSite.SupprimerIntervention(dessins[0].Intervention);
                }
            }
        }
Пример #2
0
        public void SupprimerInterventions()
        {
            if (!DessinSite.EnEdition)
            {
                return;
            }

            if (!m_bInitialise)
            {
                List <CInterventionPourEditeurPreventive> intersPartiel = DessinSite.DessinEditeur.GetIntersOfTranche(DessinTranche.Tranche, m_dessinSite.Site);
                foreach (CInterventionPourEditeurPreventive inter in intersPartiel)
                {
                    if (!inter.Deleted && inter.ListesOperations.Contains(DessinSite.ContratListesOperationsEnCour.ListeOperations))
                    {
                        DessinSite.SupprimerIntervention(inter);
                    }
                }
            }
            else if (MappageNumeroLigneDessinListeOperationExist(1))
            {
                List <CDessinListeOperations> dessins = GetDessinsInterOfLigne(1);
                foreach (CDessinListeOperations d in dessins)
                {
                    if (!d.Intervention.Deleted)                    //Pas necessaire normalement
                    {
                        DessinSite.SupprimerIntervention(d.Intervention);
                    }
                }
            }
        }
Пример #3
0
 public void OnClicRight(Point p)
 {
     if (DessinSite.EnEdition)
     {
         CInterventionPourEditeurPreventive inter = GetInterventionFromPoint(p);
         if (inter != null)
         {
             DessinSite.SupprimerIntervention(inter);
         }
     }
 }
Пример #4
0
        public void AjouterIntervention()
        {
            if (!DessinSite.EnEdition)
            {
                return;
            }

            if (!m_bInitialise)
            {
                List <CInterventionPourEditeurPreventive> intersPartiel = DessinSite.DessinEditeur.GetIntersOfTranche(DessinTranche.Tranche, m_dessinSite.Site);
                if (intersPartiel.Count > 0)
                {
                    return;
                }
            }
            else
            {
                //Si il y a une intervention déjà présente on ne peut pas ajouter
                List <CDessinListeOperations> dessins = GetDessinsInterOfLigne(1);
                foreach (CDessinListeOperations d in dessins)
                {
                    if (!d.Intervention.Deleted)
                    {
                        return;
                    }
                }
            }

            string strLabel = I.T("Intervention for @1|539", DessinSite.ContratListesOperationsEnCour.ListeOperations.Libelle);
            List <CListeOperations> listeOp = new List <CListeOperations>();

            listeOp.Add(DessinSite.ContratListesOperationsEnCour.ListeOperations);
            CInterventionPourEditeurPreventive i = new CInterventionPourEditeurPreventive(
                strLabel,
                DessinSite.Site,
                listeOp,
                DateDebut,
                DateFin,
                DessinSite.ContratListesOperationsEnCour.TypeIntervention);

            DessinSite.AjouterIntervention(i);
        }
Пример #5
0
        public void Draw(Graphics g, Rectangle rect)
        {
            if (m_cacheDessin == null && !m_bRefreshInters)
            {
                Initialiser();
            }
            else if (rect.Size == CacheDessin.Size && !m_bRefreshInters)
            {
                g.DrawImageUnscaled(CacheDessin, rect.Location);
                return;
            }


            Rectangle rcImage = rect;

            rcImage.Offset(new Point(-rcImage.Left, -rcImage.Top));

            Image    img  = new Bitmap(rect.Size.Width, rect.Size.Height);
            Graphics gTmp = Graphics.FromImage(img);


            SolidBrush brushAzure      = new SolidBrush(Color.Azure);
            SolidBrush brushGray       = new SolidBrush(Color.Gray);
            SolidBrush brushRoyaleBlue = new SolidBrush(Color.RoyalBlue);
            Pen        crayonBleu      = new Pen(brushRoyaleBlue);

            crayonBleu.Width = 2;

            //Pour toutes les lignes
            for (int nL = 1; nL <= NombreLigne; nL++)
            {
                //Recupération du rectangle
                int       posY       = nL == 1 ? 0 : (nL - 1) * (rcImage.Height / NombreLigne);
                Rectangle rectLigneN = new Rectangle(0, posY, rcImage.Width, rcImage.Height / NombreLigne);

                //BACKGROUND
                bool bConcerne = DessinSite.MappageNumeroLigneContrat[nL].AssocieAuSite(DessinSite.Site);
                if (bConcerne)
                {
                    gTmp.FillRectangle(brushAzure, rectLigneN);
                }
                else
                {
                    gTmp.FillRectangle(brushGray, rectLigneN);
                }
                if (nL == 1 && DessinSite.EnEdition && bConcerne)
                {
                    List <CTranche> tranches = DessinSite.DecoupageObjectifElementEnEdition.GetTranchesConcernees(DateDebut, DateFin);
                    foreach (CTranche t in tranches)
                    {
                        SolidBrush brush = new SolidBrush(DessinSite.GetColorOfTranche(t));

                        DateTime dtStartDecoup = t.DateDebut < DateDebut ? DateDebut : t.DateDebut;
                        DateTime dtEndDecoup   = t.DateFin > DateFin ? DateFin : t.DateFin;
                        decimal  fWithTranche  = ((
                                                      ((decimal)dtEndDecoup.Ticks - (decimal)dtStartDecoup.Ticks)
                                                      * (decimal)rectLigneN.Width) /
                                                  ((decimal)DateFin.Ticks - (decimal)DateDebut.Ticks));
                        int       nWithTranche = Convert.ToInt32(fWithTranche) + 1;
                        int       posX         = GetX(dtStartDecoup, rectLigneN.Width);
                        Rectangle rTranche     = new Rectangle(posX, 0, nWithTranche, rectLigneN.Height);
                        gTmp.FillRectangle(brush, rTranche);
                        brush.Dispose();
                    }
                }

                //DESSIN DES INTERS
                List <CDessinListeOperations> dessinsInters = GetDessinsInterOfLigne(nL);
                foreach (CDessinListeOperations dessin in dessinsInters)
                {
                    dessin.Draw(gTmp, rectLigneN);
                }



                if (nL > 1)
                {
                    CDessinEditeurPreventive.DessinerLigne(ECoteRectangle.Haut, System.Drawing.Drawing2D.DashStyle.Dot, Color.Wheat, 1, rectLigneN, gTmp);
                }
            }


            //LIGNES OBJECTIF
            if (DessinSite.ContratListesOperationsEnCour != null)
            {
                CDecoupage      decoupEle      = DessinSite.DecoupageObjectifElementEnEdition;
                List <DateTime> datesDecoupage = decoupEle.GetDatesConcernees(DateDebut, DateFin);
                foreach (DateTime dt in datesDecoupage)
                {
                    //Dessiner la ligne
                    //System.Drawing.Drawing2D.DashStyle styleLigne = System.Drawing.Drawing2D.DashStyle.Solid;
                    //if (nCptDecoup == 0 || nCptDecoup == datesDecoupage.Count - 1)
                    //    styleLigne = System.Drawing.Drawing2D.DashStyle.DashDotDot;
                    //crayonBleu.DashStyle = styleLigne;
                    int posXLigne = GetX(dt, rcImage.Width);
                    if (posXLigne == rcImage.Width)
                    {
                        posXLigne--;
                    }
                    if (posXLigne == 0)
                    {
                        posXLigne++;
                    }
                    gTmp.DrawLine(crayonBleu, new Point(posXLigne, 0), new Point(posXLigne, rcImage.Height));
                }
            }


            //BORDS DROIT ET GAUCHE
            switch (DessinTranche.PositionTranche)
            {
            case EPositionDessinTranche.Debut:
                CDessinEditeurPreventive.DessinerLigne(ECoteRectangle.Gauche, System.Drawing.Drawing2D.DashStyle.Solid, Color.Black, 1, rcImage, gTmp);
                break;

            case EPositionDessinTranche.Fin:
                CDessinEditeurPreventive.DessinerLigne(ECoteRectangle.Droite, System.Drawing.Drawing2D.DashStyle.Solid, Color.Black, 1, rcImage, gTmp);
                goto case EPositionDessinTranche.Intermediaire;

            case EPositionDessinTranche.Intermediaire:
                CDessinEditeurPreventive.DessinerLigne(ECoteRectangle.Gauche, System.Drawing.Drawing2D.DashStyle.Dash, Color.Black, 1, rcImage, gTmp);
                break;

            case EPositionDessinTranche.Unique:
                CDessinEditeurPreventive.DessinerLigne(ECoteRectangle.Gauche, System.Drawing.Drawing2D.DashStyle.Solid, Color.Black, 1, rcImage, gTmp);
                CDessinEditeurPreventive.DessinerLigne(ECoteRectangle.Droite, System.Drawing.Drawing2D.DashStyle.Solid, Color.Black, 1, rcImage, gTmp);
                break;
            }

            CDessinEditeurPreventive.DessinerLigne(ECoteRectangle.Bas, System.Drawing.Drawing2D.DashStyle.Solid, Color.Black, 1, rcImage, gTmp);

            g.DrawImageUnscaled(img, rect.Location);
            m_cacheDessin = img;

            m_bRefreshInters = false;

            brushAzure.Dispose();
            brushGray.Dispose();
            brushRoyaleBlue.Dispose();
            crayonBleu.Dispose();
        }