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]
List GetBooks();
[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