Ejemplo n.º 1
0
        public virtual BorrowResponse Borrow(Borrow req)
        {
            // Create request header
            String action;
            action = "http://tempuri.org/IService/Borrow";
            WsWsaHeader header;
            header = new WsWsaHeader(action, null, EndpointAddress, m_version.AnonymousUri, null, null);
            WsMessage request = new WsMessage(header, req, WsPrefix.None);

            // Create request serializer
            BorrowDataContractSerializer reqDcs;
            reqDcs = new BorrowDataContractSerializer("Borrow", "http://tempuri.org/");
            request.Serializer = reqDcs;
            request.Method = "Borrow";

            // Send service request
            m_requestChannel.Open();
            WsMessage response = m_requestChannel.Request(request);
            m_requestChannel.Close();

            // Process response
            BorrowResponseDataContractSerializer respDcs;
            respDcs = new BorrowResponseDataContractSerializer("BorrowResponse", "http://tempuri.org/");
            BorrowResponse resp;
            resp = ((BorrowResponse)(respDcs.ReadObject(response.Reader)));
            response.Reader.Dispose();
            response.Reader = null;
            return resp;
        }
Ejemplo n.º 2
0
 public void BorrowBook()
 {
     try
     {   //show a loading message
         View.ShowLoading();
         using (IServiceClientProxy proxy = new IServiceClientProxy(binding, new ProtocolVersion11()))
         {
             //execute the borrow request
             int bookId = LibraryModelSingleton.Instance.Book.ID;
             int userId = LibraryModelSingleton.Instance.User.ID;
             Borrow borrowRequest = new Borrow() { bookID = bookId, userID = userId };
             BorrowResponse response = proxy.Borrow(borrowRequest);
             //show positive a message if the result is valid otherwise a negative message
             //and return in the welcome page
             state = InnerState.WELCOME;
             string msg = (response.BorrowResult.StartDate.Equals(DateTime.MinValue)) ? BORROW_FAILED_MSG : OPERATION_COMPLETED_MSG;
             View.ShowMessageWithButton(msg, () => { View.ShowWelcomePage(); });
         }
     }
     //show a message and then returns in the login page
     catch (Exception) { View.ShowMessageWithButton(ERROR_MSG, () => { this.Logout(); }); }
 }
Ejemplo n.º 3
0
 public override object ReadObject(XmlReader reader)
 {
     Borrow BorrowField = null;
     if (IsParentStartElement(reader, false, true))
     {
         BorrowField = new Borrow();
         reader.Read();
         if (IsChildStartElement(reader, "userID", false, false))
         {
             reader.Read();
             BorrowField.userID = XmlConvert.ToInt32(reader.ReadString());
             reader.ReadEndElement();
         }
         if (IsChildStartElement(reader, "bookID", false, false))
         {
             reader.Read();
             BorrowField.bookID = XmlConvert.ToInt32(reader.ReadString());
             reader.ReadEndElement();
         }
         reader.ReadEndElement();
     }
     return BorrowField;
 }