public bool IzmijeniBolnicu(BolnicaIzmijeniDTO bolnicaDTO)
        {
            log.Info("Podaci o bolnici su izmijenjeni");
            bool uspjesno = dataServisProxy.IzmijeniBolnicu(sesija, bolnicaDTO);

            return(uspjesno);
        }
        public void SacuvajBolnicu()
        {
            if (TrenutnaBolnica == null)
            {
                BolnicaKreirajDTO kreiranaBolnica = new BolnicaKreirajDTO()
                {
                    NazivBolnice   = NazivBolnice,
                    VrstaBol       = IzabranaVrstaBolnice,
                    BrojLjekara    = BrojLjekara,
                    BrojOdjeljenja = BrojOdjeljenja
                };
                TrenutnaBolnica = KreirajKomunikaciju.Komunikacija.KreirajBolnicu(kreiranaBolnica);
            }

            BolnicaIzmijeniDTO izmijeniBolnicuDTO = new BolnicaIzmijeniDTO()
            {
                NoviNazivBolnice    = NazivBolnice,
                IdBolnice           = TrenutnaBolnica.IdBolnice,
                NoviBrojLjekara     = BrojLjekara,
                NoviBrojOdjeljenja  = BrojOdjeljenja,
                NovaVrstaBol        = IzabranaVrstaBolnice,
                NovaListaLjekara    = ListaLjekaraIzTabele.ToList(),
                NovaListaPacijenata = ListaPacijenataIzTabele.ToList(),
                Verzija             = TrenutnaBolnica.Verzija,
            };

            bool uspjesnoIzmijenjen = KreirajKomunikaciju.Komunikacija.IzmijeniBolnicu(izmijeniBolnicuDTO);

            if (!uspjesnoIzmijenjen)
            {
                MessageBoxResult dialogResult = MessageBox.Show("Bolnica je vec izmijenjena od strane drugog korisnika. Da li zelite pregaziti tudje izmjene", "Pregazi izmjene",
                                                                MessageBoxButton.YesNoCancel, MessageBoxImage.Question);
                switch (dialogResult)
                {
                case MessageBoxResult.Yes:
                    log.Warn("Pregazi tudje izmjene");
                    izmijeniBolnicuDTO.Azurirano = true;
                    uspjesnoIzmijenjen           = KreirajKomunikaciju.Komunikacija.IzmijeniBolnicu(izmijeniBolnicuDTO);
                    break;

                case MessageBoxResult.Cancel:
                    return;
                }
            }
            Roditelj.Close();
        }
Ejemplo n.º 3
0
        public bool IzmijeniBolnicu(Sesija sesija, BolnicaIzmijeniDTO bolnicaIzmijeniDTO)
        {
            try
            {
                SesijaManager.Instance.AutentifikacijaIzuzetak(sesija);
                Bolnica izmijenjenaBolnica = DbManager.Instance.VratiBolnicu(bolnicaIzmijeniDTO.IdBolnice);
                if (!bolnicaIzmijeniDTO.Azurirano &&
                    bolnicaIzmijeniDTO.Verzija != izmijenjenaBolnica.Verzija)
                {
                    return(false);
                }
                if (bolnicaIzmijeniDTO.NoviNazivBolnice != null)
                {
                    izmijenjenaBolnica.Naziv = bolnicaIzmijeniDTO.NoviNazivBolnice;
                }
                if (bolnicaIzmijeniDTO.NoviBrojLjekara >= 0)
                {
                    izmijenjenaBolnica.BrojLjekara = bolnicaIzmijeniDTO.NoviBrojLjekara;
                }
                if (bolnicaIzmijeniDTO.NoviBrojOdjeljenja >= 0)
                {
                    izmijenjenaBolnica.BrojOdjeljenja = bolnicaIzmijeniDTO.NoviBrojOdjeljenja;
                }
                if (bolnicaIzmijeniDTO.NovaVrstaBol.ToString() != "")
                {
                    izmijenjenaBolnica.Vrsta = bolnicaIzmijeniDTO.NovaVrstaBol;
                }

                if (bolnicaIzmijeniDTO.NovaListaLjekara != null)
                {
                    if (izmijenjenaBolnica.LjekariUBolnici != null)
                    {
                        DbManager.Instance.ObrisiLjekaraIzBolnice(izmijenjenaBolnica.IdBolnice);
                    }
                    foreach (var item in bolnicaIzmijeniDTO.NovaListaLjekara)
                    {
                        Ljekar ljekar = new Ljekar()
                        {
                            Ime             = item.Ime,
                            Odjeljenje      = item.Odjeljenje,
                            Prezime         = item.Prezime,
                            Specijalizacija = item.Specijalizacija,
                            Titula          = item.Titula
                        };

                        izmijenjenaBolnica.LjekariUBolnici.Add(ljekar);
                    }
                }

                if (bolnicaIzmijeniDTO.NovaListaPacijenata != null)
                {
                    if (izmijenjenaBolnica.PacijentiUBolnici != null)
                    {
                        DbManager.Instance.ObrisiPacijentaIzBolnice(izmijenjenaBolnica.IdBolnice);
                    }
                    foreach (var item in bolnicaIzmijeniDTO.NovaListaPacijenata)
                    {
                        Pacijent pacijent = new Pacijent()
                        {
                            Ime     = item.Ime,
                            Prezime = item.Prezime,
                            Jmbg    = item.Jmbg
                        };

                        izmijenjenaBolnica.PacijentiUBolnici.Add(pacijent);
                        DbManager.Instance.SacuvajPromjene();
                    }
                }

                ++izmijenjenaBolnica.Verzija;
                DbManager.Instance.SacuvajPromjene();
                log.Info("Bolnica sa id-em " + izmijenjenaBolnica.IdBolnice + " je izmijenjena");

                Bolnica b = DbManager.Instance.VratiBolnicu(izmijenjenaBolnica.IdBolnice);

                return(true);
            }
            catch (FaultException <Izuzetak> ex)
            {
                Console.WriteLine("Greska: " + ex.Detail.Poruka);
                return(false);
            }
        }