Here is the code for the Register and login service. I have not included the HashPass, LoginClass or SeedCode classes.
IReviewerRegistration
using System; using System.Collections.Generic; using System.Linq; using System.Runtime.Serialization; using System.ServiceModel; using System.Text; [ServiceContract] public interface IReviewerRegistration { [OperationContract] bool Register(Reviewer reviewer); [OperationContract] int ReviewerLogin(string userName, string Password); }
ReviewerRegistration the service
using System; using System.Collections.Generic; using System.Linq; using System.Runtime.Serialization; using System.ServiceModel; using System.Text; // NOTE: You can use the "Rename" command on the "Refactor" menu to change the class name "ReviewerRegistration" in code, svc and config file together. public class ReviewerRegistration : IReviewerRegistration { BookReviewDbEntities db = new BookReviewDbEntities(); public bool Register(Reviewer reviewer) { bool good = true; try { KeyCode k = new KeyCode(); int seed = k.GetKeyCode(); PasswordHash hash = new PasswordHash(); byte[] hashedpassword = hash.HashIt (reviewer.ReviewPlainPassword, seed.ToString()); reviewer.ReviewerKeyCode = seed; reviewer.ReviewerHashedPass = hashedpassword; reviewer.ReviewerDateEntered = DateTime.Now; db.Reviewers.Add(reviewer); db.SaveChanges(); } catch (Exception ex) { good = false; } return good; } public int ReviewerLogin(string userName, string Password) { LoginClass lc = new LoginClass(userName, Password); return lc.ValidateLogin(); } }
Now here is the code for the second service to Add a review
Here is the Interface
using System; using System.Collections.Generic; using System.Linq; using System.Runtime.Serialization; using System.ServiceModel; using System.Text; // NOTE: You can use the "Rename" command on the "Refactor" menu to change the interface name "ICreateReviewService" in both code and config file together. [ServiceContract] public interface ICreateReviewService { [OperationContract] ListGetBooks(); [OperationContract] List GetAuthors(); [OperationContract] List GetCategories(); [OperationContract] bool WriteReview(Review r); }
Here is the service code
using System; using System.Collections.Generic; using System.Linq; using System.Runtime.Serialization; using System.ServiceModel; using System.Text; // NOTE: You can use the "Rename" command on the "Refactor" menu to change the class name "CreateReviewService" in code, svc and config file together. public class CreateReviewService : ICreateReviewService { BookReviewDbEntities db = new BookReviewDbEntities(); public List<Book> GetBooks() { var bks = from b in db.Books orderby b.BookTitle select b; List<Book> books = new List<Book>(); foreach(Book b in bks) { Book bk = new Book(); bk.BookTitle = b.BookTitle; bk.BookISBN = b.BookISBN; bk.BookKey = b.BookKey; books.Add(bk); } return books; } public List<Author> GetAuthors() { var auth = from a in db.Authors orderby a.AuthorName select a; List<Author> authors = new List<Author>(); foreach (Author a in auth) { Author au = new Author(); au.AuthorKey = a.AuthorKey; au.AuthorName = a.AuthorName; authors.Add(au); } return authors; } public List<Category> GetCategories() { var cats = from c in db.Categories orderby c.CategoryName select c; List<Category> categories = new List<Category>(); foreach(Category c in cats) { Category bk = new Category(); bk.CategoryName = c.CategoryName; bk.CategoryKey = c.CategoryKey; categories.Add(bk); } return categories; } public bool WriteReview(Review r) { bool result = true; try { r.ReviewDate = DateTime.Now; db.Reviews.Add(r); db.SaveChanges(); } catch(Exception ex) { result = false; } return result; } }
No comments:
Post a Comment