Пример #1
0
 public void SegnalaLibro(Libro libro)
 {
     try
     {
         BasicHttpBinding myBinding = new BasicHttpBinding();
         myBinding.MaxReceivedMessageSize = 2147483647;
         myBinding.MaxBufferSize          = 2147483647;
         EndpointAddress          myEndpoint       = new EndpointAddress(_addr);
         ChannelFactory <IUtente> myChannelFactory = new ChannelFactory <IUtente>(myBinding, myEndpoint);
         // Create a channel.
         IUtente           client = myChannelFactory.CreateChannel();
         SegnalazioneLibro segn   = new SegnalazioneLibro()
         {
             Username = _username,
             Libro    = _libro,
             Id       = 1
         };
         client.AddSegnalazioneLibro(segn);
         ((IClientChannel)client).Close();
     }
     catch (Exception)
     {
         //doNothing
     }
 }
        public SegnalazioneLibro GetSegnalazioneLibro()
        {
            SegnalazioneLibro segn = null;

            try
            {
                if (File.Exists(_fileCodaSenalazioneLibro))
                {
                    StreamReader  streamReader = new StreamReader(_fileCodaSenalazioneLibro);
                    List <string> lines        = new List <string>();
                    while (streamReader.Peek() >= 0)
                    {
                        lines.Add(streamReader.ReadLine());
                    }
                    streamReader.Close();
                    if (lines.Count > 0)
                    {
                        string firstLine = lines[0];
                        lines.Remove(firstLine);
                        StreamWriter writer = new StreamWriter(_fileCodaSenalazioneLibro);
                        foreach (string l in lines)
                        {
                            writer.WriteLine(l);
                        }
                        writer.Close();
                        string[] elements = firstLine.Split('/');
                        if (elements.Length == 3)
                        {
                            Libro libro = _segnalazioneLibroController.GetLibro(elements[0], elements[1]);
                            if (libro == null)
                            {
                                throw new Exception("impossibile trovare il libro");
                            }
                            segn = new SegnalazioneLibro(elements[2], libro);
                            ISession sessione = OpenConnection();
                            sessione.BeginTransaction();
                            List <SegnalazioneLibro> segnReceived = null;
                            ICriteria criteria = sessione.CreateCriteria <SegnalazioneLibro>();
                            segnReceived = (List <SegnalazioneLibro>)criteria.Add(Expression.Like("Libro", libro)).List <SegnalazioneLibro>();
                            foreach (SegnalazioneLibro s in segnReceived)
                            {
                                sessione.Delete(s);
                            }
                            sessione.Transaction.Commit();
                            sessione.Transaction.Dispose();
                        }
                        else
                        {
                            throw new Exception("segnalazione scorretta");
                        }
                    }
                }
                return(segn);
            }
            catch (Exception e)
            {
                throw new FaultException <BookFault>(new BookFault(e.Message));
            }
        }
 public void AddSegnalazioneLibro(SegnalazioneLibro segnalazioneLibro)
 {
     if (_segnalazioniController == null)
     {
         _segnalazioniController = new SegnalazioniController();
     }
     _segnalazioniController.AddSegnalazioneLibro(segnalazioneLibro);
 }
 private static void WriteSegnalazioneLibro(SegnalazioneLibro target)
 {
     try
     {
         StreamWriter writer = File.AppendText(_fileCodaSenalazioneLibro);
         writer.WriteLine(target.Libro.Titolo + "/" + target.Libro.Autore + "/" + target.Username);
         writer.Close();
     }
     catch (SerializationException e)
     {
         Console.WriteLine("Failed to serialize. Reason: " + e.Message);
         throw;
     }
 }
Пример #5
0
        private void buttonSegnalazioniLibri_Click(object sender, EventArgs e)
        {
            SegnalazioneLibro sl = _homeAmministratore.GetSegnalazioneLibro();

            if (sl != null)
            {
                new SegnalazioniLibriView(_addr, sl.Libro).Show();
                this.Hide();
            }
            else
            {
                System.Windows.Forms.MessageBox.Show("Non ci sono segnalazioni di libri");
            }
        }
 public void AddSegnalazioneLibro(SegnalazioneLibro segnalazioneLibro)
 {
     try
     {
         WriteSegnalazioneLibro(segnalazioneLibro);
         ISession sessione = OpenConnection();
         sessione.BeginTransaction();
         sessione.Save(segnalazioneLibro);
         sessione.Transaction.Commit();
         sessione.Transaction.Dispose();
     }
     catch (Exception e)
     {
         throw new FaultException <BookFault>(new BookFault(e.Message));
     }
 }
Пример #7
0
        public SegnalazioneLibro GetSegnalazioneLibro()
        {
            SegnalazioneLibro segn = null;

            try
            {
                BasicHttpBinding myBinding  = new BasicHttpBinding();
                EndpointAddress  myEndpoint = new EndpointAddress(_addr);
                ChannelFactory <IAmministratore> myChannelFactory = new ChannelFactory <IAmministratore>(myBinding, myEndpoint);
                // Create a channel.
                IAmministratore clientAmministratore = myChannelFactory.CreateChannel();
                segn = clientAmministratore.GetSegnalazioneLibro();
                ((IClientChannel)clientAmministratore).Close();
                myChannelFactory.Close();
            }
            catch (Exception e)
            {
                //System.Windows.Forms.MessageBox.Show(e.Message);
                //doNothing
            }
            return(segn);
        }
Пример #8
0
 public void AddSegnalazioneLibro(SegnalazioneLibro segnalazioneLibro)
 {
     _segnalazioni.AddSegnalazioneLibro(segnalazioneLibro);
 }
 public void AddSegnalazioneLibro(SegnalazioneLibro segnalazioneLibro)
 {
     //questo metodo non e' accessibile dall'amministratore
 }