Example #1
0
        public HttpResponseMessage Register([FromBody] RegistrationRequest rModel)
        {
            AccountAddRequest model = new AccountAddRequest
            {
                Username     = rModel.Username,
                Email        = rModel.Email,
                PasswordHash = rModel.Password,
                Salt         = "salt",
                ModifiedBy   = rModel.Email
            };
            int id = _userSvc.Register(model);

            if (id > 0)
            {
                UserModel uModel = new UserModel
                {
                    Id       = id,
                    Username = rModel.Username,
                    Email    = rModel.Email
                };
                _userSvc.LogIn(uModel);
            }

            SuccessResponse resp = new SuccessResponse();

            return(Request.CreateResponse(HttpStatusCode.OK, resp));
        }
Example #2
0
        public HttpResponseMessage LoginWithFacebook(FacebookUserAddRequest model)
        {
            int acctId = _userSvc.GetIdByEmail(model.Email);

            if (acctId == 0)
            {
                AccountAddRequest aModel = new AccountAddRequest
                {
                    Username     = model.Name,
                    Email        = model.Email,
                    PasswordHash = "random password here",
                    Salt         = "salt",
                    ModifiedBy   = model.Email
                };
                acctId = _userSvc.Register(aModel);
                if (acctId <= 0)
                {
                    return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "There was an error registering this account"));
                }
            }
            UserModel uModel = new UserModel
            {
                Id       = acctId,
                Username = model.Name,
                Email    = model.Email
            };

            _userSvc.LogIn(uModel);

            SuccessResponse resp = new SuccessResponse();

            return(Request.CreateResponse(HttpStatusCode.OK, resp));
        }
Example #3
0
        public int Insert(AccountAddRequest model)
        {
            int id = 0;

            using (SqlConnection conn = new SqlConnection(connStr))
            {
                string cmdText = "accounts_insert";
                using (SqlCommand cmd = new SqlCommand(cmdText, conn))
                {
                    cmd.CommandType = System.Data.CommandType.StoredProcedure;
                    SqlParameter param = new SqlParameter();
                    param.ParameterName = "@Id";
                    param.SqlDbType     = System.Data.SqlDbType.Int;
                    param.Direction     = System.Data.ParameterDirection.Output;

                    cmd.Parameters.Add(param);
                    cmd.Parameters.AddWithValue("@Username", model.Username);
                    cmd.Parameters.AddWithValue("@Email", model.Email);
                    cmd.Parameters.AddWithValue("@PasswordHash", model.PasswordHash);
                    cmd.Parameters.AddWithValue("@Salt", model.Salt);
                    cmd.Parameters.AddWithValue("@ModifiedBy", model.ModifiedBy);
                    conn.Open();
                    cmd.ExecuteNonQuery();
                    id = (int)cmd.Parameters["@Id"].Value;
                    conn.Close();
                }
            }
            return(id);
        }
Example #4
0
        public void InsertTest()
        {
            AccountAddRequest model = new AccountAddRequest
            {
                Username   = "******",
                Email      = "*****@*****.**",
                ModifiedBy = "Unit Test"
            };
            AccountService svc    = new AccountService();
            int            result = svc.Insert(model);

            Assert.IsTrue(result > 0);
        }
Example #5
0
 public HttpResponseMessage Post([FromBody] AccountAddRequest model)
 {
     try
     {
         if (ModelState.IsValid)
         {
             ItemResponse <int> resp = new ItemResponse <int>();
             model.ModifiedBy = "API";
             resp.Item        = svc.Insert(model);
             return(Request.CreateResponse(HttpStatusCode.OK, resp));
         }
         else
         {
             return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
         }
     }
     catch (Exception ex)
     {
         return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message));
     }
 }