Snippets

Alan Holt AA9q: Untitled snippet

Created by Alan Holt
/*
 * Created by SharpDevelop.
 * User: Sev
 * Date: 9/5/2014
 * Time: 8:45 PM
 * 
 * To change this template use Tools | Options | Coding | Edit Standard Headers.
 */
using System;
using System.Net;
using System.IO;
using Foo.Bar.Suite.framework.core;
using NUnit.Framework;
using System.Linq;

namespace Foo.Bar.Suite.framework.json
{
	/// <summary>
	/// Description of LoginRequest.
	/// </summary>
	public class LoginRequest : BaseJsonObject
	{
		public String username{get;set;}
		public String password{get;set;}
		public bool rememberMe{get;set;}
		public String forward{get;set;}
		public String schoolId{get;set;}
		
		public LoginRequest()
		{
		}
		
		public LoginRequest(String username,String paswd,bool remember,String forwd,String schoolid){
			this.username = username;
			password = paswd;
			rememberMe = remember;
			forward = forwd;
			schoolId = schoolid;
		}
		
		/// <inheritdoc/>
		public override String ToString(){
			return Newtonsoft.Json.JsonConvert.SerializeObject(this);
		}
		
		/// <summary>
		/// Convert the json string to a LoginRequest object
		/// </summary>
		/// <param name="json"></param>
		/// <returns></returns>
		public static LoginRequest fromString(String json){
			return Newtonsoft.Json.JsonConvert.DeserializeObject<LoginRequest>(json);
		}
		
		public static CookieCollection sendLoginRequest(LoginRequest requestJson){
			
			using(CookiesReaderWebClient wc = new CookiesReaderWebClient()){
				wc.IgnoreRedirects = true;
				wc.Headers[HttpRequestHeader.ContentType] = "application/json; charset=utf-8";
				LoginResponse result = LoginResponse.fromString(wc.UploadString(Prefs.ApplicationURL,requestJson.ToString()));
				
				Assert.IsTrue(result.success);
				
				return wc.InboundCookies;
			}
		}
	}
}

Comments (0)

HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.