示例#1
0
        public void EdytujElement(Element element)
        {
            ApplicationDbContext db = new ApplicationDbContext();

            ElementModel elementModel = db.Elementy.SingleOrDefault(e => e.Klucz == element.Klucz);

            switch (elementModel.Rodzaj)
            {
            case RodzajElementu.Folder:
                elementModel = element;
                db.Entry(elementModel).State = EntityState.Modified;
                break;

            case RodzajElementu.Klient:
                KlientModel klientModel = db.Klienci.SingleOrDefault(k => k.Element.Klucz == element.Klucz);
                klientModel = (Klient)element;
                db.Entry(klientModel).State = EntityState.Modified;
                break;

            case RodzajElementu.Rdp:
                RdpModel rdpModel = db.PolaczeniaRdp.SingleOrDefault(k => k.Element.Klucz == element.Klucz);
                rdpModel = (Rdp)element;
                db.Entry(rdpModel).State = EntityState.Modified;
                break;

            case RodzajElementu.TeamViewer:
                TeamViewerModel teamViewerModel = db.PolaczeniaTeamViewer.SingleOrDefault(k => k.Element.Klucz == element.Klucz);
                teamViewerModel = (TeamViewer)element;
                db.Entry(teamViewerModel).State = EntityState.Modified;
                break;

            case RodzajElementu.WebBrowser:
                WebBrowserModel webBrowserModel = db.PolaczeniaWebBrowser.SingleOrDefault(k => k.Element.Klucz == element.Klucz);
                webBrowserModel = (WebBrowser)element;
                db.Entry(webBrowserModel).State = EntityState.Modified;
                break;

            case RodzajElementu.Inne:
                break;

            default:
                break;
            }

            db.SaveChanges();
        }
示例#2
0
        public Element PobierzElementPoKluczu(string klucz)
        {
            ApplicationDbContext db = new ApplicationDbContext();
            Element resultElement;

            if (db.Elementy.Any(e => e.Klucz == klucz))
            {
                ElementModel elementFromDB = db.Elementy.SingleOrDefault(k => k.Klucz == klucz);
                switch (elementFromDB.Rodzaj)
                {
                case RodzajElementu.Folder:
                    resultElement = (Folder)elementFromDB;
                    break;

                case RodzajElementu.Klient:
                    KlientModel klientModel = db.Klienci.SingleOrDefault(k => k.Element.Klucz == klucz);
                    resultElement = (Klient)klientModel;
                    break;

                case RodzajElementu.Rdp:
                    RdpModel rdpModel = db.PolaczeniaRdp.SingleOrDefault(k => k.Element.Klucz == klucz);
                    resultElement = (Rdp)rdpModel;
                    break;

                case RodzajElementu.TeamViewer:
                    TeamViewerModel teamViewerModel = db.PolaczeniaTeamViewer.SingleOrDefault(k => k.Element.Klucz == klucz);
                    resultElement = (TeamViewer)teamViewerModel;
                    break;

                case RodzajElementu.WebBrowser:
                    WebBrowserModel webBrowserModel = db.PolaczeniaWebBrowser.SingleOrDefault(k => k.Element.Klucz == klucz);
                    resultElement = (WebBrowser)webBrowserModel;
                    break;

                default:
                    resultElement = null;
                    throw new Exception("Błąd pobierania elementu");
                }
            }
            else
            {
                resultElement = null;
            }
            return(resultElement);
        }
示例#3
0
        public bool DodajElement(Element element)
        {
            ApplicationDbContext db        = new ApplicationDbContext();
            ElementModel         elementDb = new ElementModel()
            {
                Klucz = element.Klucz, Nazwa = element.Nazwa, Opis = element.Opis, Rodzaj = element.Rodzaj, KluczRodzica = element.KluczRodzica
            };

            switch (element.Rodzaj)
            {
            case RodzajElementu.Folder:
                db.Elementy.Add(elementDb);
                break;

            case RodzajElementu.Klient:
                KlientModel klient = element as Klient;
                db.Klienci.Add(klient);
                break;

            case RodzajElementu.Rdp:
                RdpModel rdpModel = element as Rdp;
                db.PolaczeniaRdp.Add(rdpModel);
                break;

            case RodzajElementu.TeamViewer:
                TeamViewerModel tvModel = element as TeamViewer;
                db.PolaczeniaTeamViewer.Add(tvModel);
                break;

            case RodzajElementu.WebBrowser:
                WebBrowserModel webModel = element as WebBrowser;
                db.PolaczeniaWebBrowser.Add(webModel);
                break;

            case RodzajElementu.Inne:
                break;

            default:
                break;
            }


            db.SaveChanges();
            return(true);
        }
示例#4
0
 public WebBrowserVM(ChromiumWebBrowser _browser)
 {
     WebBrowserModel = new WebBrowserModel();
     browser         = _browser;
     //      browser.U
 }
 public IWebElement FindElementByID(WebBrowserModel model, string elementId)
 {
     return(model.WebDriver.FindElement(By.Id(elementId)));
 }
 public IWebElement FindElementByXPath(WebBrowserModel model, string xPath)
 {
     return(model.WebDriver.FindElement(By.XPath(xPath)));
 }
 public void AssignWebsiteToModel(WebBrowserModel model)
 {
     model.WebDriver.Url = _testData.WebsiteUrl;
 }
示例#8
0
        public List <Element> PobierzWszystkieElementy()
        {
            ApplicationDbContext db = new ApplicationDbContext();

            Queue <Element>           PobraneElementy  = new Queue <Element>(); //kolejka do pobierania elementów podległych
            List <Element>            ListaElementow   = new List <Element>();  //gotowa lista zwracana do programu
            List <Element>            ElementyNaLiscie = new List <Element>();  //lista wszystkich elementów dodanych już do listy elementów
            IQueryable <ElementModel> ElementyPobraneZBazy;                     //potrzbna, żeby później określić czy pobrane będą wszystkie czy tylko aktywne elementy
            string pobierzTylkoAktywne = PobierzWartoscOpcji(NazwaOpcji.PokazUkryteElementy);

            PobraneElementy.Clear();
            ListaElementow.Clear();
            ElementyNaLiscie.Clear();


            if (pobierzTylkoAktywne == "T")
            {
                ElementyPobraneZBazy = db.Elementy.Where(e => e.Status == StatusElementu.Aktywny);
            }
            else
            {
                ElementyPobraneZBazy = db.Elementy;
            }

            foreach (var item in ElementyPobraneZBazy)
            {
                Element elem;
                switch (item.Rodzaj)
                {
                case RodzajElementu.Folder:
                    elem = new Folder(item.Nazwa, item.KluczRodzica, item.Opis, item.Klucz);
                    break;

                case RodzajElementu.Klient:
                    KlientModel klientModel = db.Klienci.SingleOrDefault(k => k.Element.Klucz == item.Klucz);
                    elem = (Klient)klientModel;
                    break;

                case RodzajElementu.Rdp:
                    RdpModel rdpModel = db.PolaczeniaRdp.SingleOrDefault(k => k.Element.Klucz == item.Klucz);
                    elem = (Rdp)rdpModel;
                    break;

                case RodzajElementu.TeamViewer:
                    TeamViewerModel teamViewerModel = db.PolaczeniaTeamViewer.SingleOrDefault(k => k.Element.Klucz == item.Klucz);
                    elem = (TeamViewer)teamViewerModel;
                    break;

                case RodzajElementu.WebBrowser:
                    WebBrowserModel webBrowserModel = db.PolaczeniaWebBrowser.SingleOrDefault(k => k.Element.Klucz == item.Klucz);
                    elem = (WebBrowser)webBrowserModel;
                    break;

                default:
                    elem = null;
                    throw new Exception("Błąd pobierania elementu");
                }

                PobraneElementy.Enqueue(elem);
            }

            PobraneElementy.OrderBy(o => o.KluczRodzica);
            while (PobraneElementy.Count > 0)
            {
                Element element = PobraneElementy.Dequeue();
                if (String.IsNullOrWhiteSpace(element.KluczRodzica))//jeżeli element nie ma rodzica to dodaj bezpośrednio na listę elementów
                {
                    ListaElementow.Add(element);
                    ElementyNaLiscie.Add(element);
                }
                else if (ElementyNaLiscie.Any(e => e.Klucz == element.KluczRodzica)) //jeżeli element na rodzica i jest on już na liście to dodaj element jako item
                {
                    Element parent = ElementyNaLiscie.Single(e => e.Klucz == element.KluczRodzica);
                    parent.Items.Add(element);
                    ElementyNaLiscie.Add(element);
                }
                else//jeżeli ma rodzica, którego jeszcze nie ma na liście elementów dodaj go z powrotem na kolejkę
                {
                    PobraneElementy.Enqueue(element);
                }
            }
            return(ListaElementow);
        }