// GET: Register public ActionResult Index() { LoginModelResponse customerinfo = (LoginModelResponse)Session["Customer"]; if (customerinfo != null) { return(RedirectToActionPermanent("Index", "Product")); } PaymentMethodTypes paymentTypes = new PaymentMethodTypes(); using (var client = new HttpClient()) { client.BaseAddress = new Uri(ConfigurationManager.AppSettings["WebApiBaseUrl"]); //HTTP GET var responseMessageTask = client.GetAsync("api/Register"); responseMessageTask.Wait(); var responseMessage = responseMessageTask.Result; if (responseMessage.IsSuccessStatusCode) { var responseContentTask = responseMessage.Content.ReadAsAsync <PaymentMethodTypes>(); responseContentTask.Wait(); paymentTypes = responseContentTask.Result; TempData["PaymentMethodOptions"] = paymentTypes.PaymentMethodOptions; TempData.Keep(); return(View()); } else //web api sent error response { //log response status here.. ModelState.AddModelError(string.Empty, "Server error. Please contact administrator."); return(View()); } } }
public ActionResult ProductTypes() { LoginModelResponse customerinfo = (LoginModelResponse)Session["Customer"]; if (customerinfo == null) { return(RedirectToActionPermanent("Index", "Login")); } ViewBag.LoginSuccess = "True"; ProductTypesResponse productTypesResponse = new ProductTypesResponse(); using (var client = new HttpClient()) { client.BaseAddress = new Uri(ConfigurationManager.AppSettings["WebApiBaseUrl"]); //HTTP GET var responseMessageTask = client.GetAsync("api/Product/GetProductTypes"); responseMessageTask.Wait(); var responseMessage = responseMessageTask.Result; if (responseMessage.IsSuccessStatusCode) { var responseContentTask = responseMessage.Content.ReadAsAsync <ProductTypesResponse>(); responseContentTask.Wait(); productTypesResponse = responseContentTask.Result; } else //web api sent error response { //log response status here.. ModelState.AddModelError(string.Empty, "Server error. Please contact administrator."); return(View("Index", productTypesResponse)); } } return(View("Index", productTypesResponse)); }
public ActionResult DisplayCustomerOrder(int orderid) { LoginModelResponse customerinfo = (LoginModelResponse)Session["Customer"]; if (customerinfo == null) { return(RedirectToActionPermanent("Index", "Login")); } ViewBag.LoginSuccess = "True"; Order customerOrders = new Order(); using (var client = new HttpClient()) { client.BaseAddress = new Uri(ConfigurationManager.AppSettings["WebApiBaseUrl"]); //HTTP GET var responseMessageTask = client.GetAsync("api/Order/GetOrder?orderid=" + orderid); responseMessageTask.Wait(); var responseMessage = responseMessageTask.Result; if (responseMessage.IsSuccessStatusCode) { var responseContentTask = responseMessage.Content.ReadAsAsync <Order>(); responseContentTask.Wait(); customerOrders = responseContentTask.Result; return(View("DisplayCustomerOrder", customerOrders)); } else //web api sent error response { return(View("DisplayCustomerOrder", customerOrders)); } } }
public async Task <LoginModelResponse> LoginUserAsync(LoginModel user) { try { Log.Info("Inside LoginUserAsync"); // Initialization. LoginModelResponse responseObj = null; // Posting. using (var client = new HttpClient()) { Log.Info("Host Url: " + HostUrl); // Setting Base address. client.BaseAddress = new Uri(HostUrl); // Setting content type. client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); // Initialization. HttpResponseMessage response = new HttpResponseMessage(); List <KeyValuePair <string, string> > allIputParams = new List <KeyValuePair <string, string> >() { new KeyValuePair <string, string>("username", user.username), new KeyValuePair <string, string>("password", user.password), new KeyValuePair <string, string>("grant_type", user.grant_type), new KeyValuePair <string, string>("schoolcode", user.schoolcode), }; // Convert Request Params to Key Value Pair. // URL Request parameters. HttpContent requestParams = new FormUrlEncodedContent(allIputParams); //Log.Info("requestParams: "+ requestParams.ReadAsStringAsync().Result); // HTTP POST response = await client.PostAsync("oauth/token", requestParams).ConfigureAwait(false); Log.Info("IsSuccessStatusCode: " + response.StatusCode + " : " + response.IsSuccessStatusCode); // Verification if (response.IsSuccessStatusCode) { responseObj = response.ContentAsType <LoginModelResponse>(); } } return(responseObj); } catch (Exception ex) { Log.Error("LoginUserAsync: " + ex.ToString()); throw ex; } }
public ActionResult UpdateCustomerProduct(ProductRequest product) { LoginModelResponse customerinfo = (LoginModelResponse)Session["Customer"]; if (customerinfo == null) { return(RedirectToActionPermanent("Index", "Login")); } ProductResponse productResponse = new ProductResponse(); ViewBag.LoginSuccess = "True"; if (!ModelState.IsValid) { TempData["Error"] = "All Fields are required"; return(RedirectToAction("DisplayCustomerProduct", new { productid = product.ProductID })); } using (var client = new HttpClient()) { client.BaseAddress = new Uri(ConfigurationManager.AppSettings["WebApiBaseUrl"]); product.CustomerId = customerinfo.CustomerId; //HTTP POST var responseMessageTask = client.PostAsJsonAsync <ProductRequest>("api/Product/UpdateProduct", product); responseMessageTask.Wait(); var responseMessage = responseMessageTask.Result; if (responseMessage.IsSuccessStatusCode) { var responseContentTask = responseMessage.Content.ReadAsAsync <ProductResponse>(); responseContentTask.Wait(); productResponse = responseContentTask.Result; if (productResponse.Error == null) { return(RedirectToActionPermanent("GetCustomerProducts", "Product")); } TempData["Error"] = productResponse.Error.Message; return(RedirectToAction("DisplayCustomerProduct", new { productid = product.ProductID })); } TempData["Error"] = "server error"; return(RedirectToAction("DisplayCustomerProduct", new { productid = product.ProductID })); } }
public ActionResult UserBid(AuctionRequest auction) { LoginModelResponse customerinfo = (LoginModelResponse)Session["Customer"]; if (customerinfo == null) { return(RedirectToActionPermanent("Index", "Login")); } AuctionResponse auctionResponse = new AuctionResponse(); ViewBag.LoginSuccess = "True"; auction.CustomerId = customerinfo.CustomerId; if (!ModelState.IsValid) { TempData["Error"] = "Bid Price is required"; return(RedirectToAction("GetProductWithProductid", "Product", new { productid = auction.ProductId })); } using (var client = new HttpClient()) { client.BaseAddress = new Uri(ConfigurationManager.AppSettings["WebApiBaseUrl"]); //HTTP POST var responseMessageTask = client.PostAsJsonAsync <AuctionRequest>("api/Auction/CreateBid", auction); responseMessageTask.Wait(); var responseMessage = responseMessageTask.Result; if (responseMessage.IsSuccessStatusCode) { var responseContentTask = responseMessage.Content.ReadAsAsync <Auction.Model.Message.AuctionResponse>(); responseContentTask.Wait(); auctionResponse = responseContentTask.Result; if (auctionResponse.Error == null) { return(RedirectToActionPermanent("GetMyBids", "Auction")); } TempData["Error"] = auctionResponse.Error.Message; return(RedirectToAction("GetProductWithProductid", "Product", new { productid = auction.ProductId })); } else { TempData["Error"] = "Server error. Please contact administrator."; return(RedirectToAction("GetProductWithProductid", "Product", new { productid = auction.ProductId })); } } }
public ActionResult AddProduct(ProductRequest product) { LoginModelResponse customerinfo = (LoginModelResponse)Session["Customer"]; if (customerinfo == null) { return(RedirectToActionPermanent("Index", "Login")); } ProductResponse productResponse = new ProductResponse(); ViewBag.LoginSuccess = "True"; product.CustomerId = customerinfo.CustomerId; if (!ModelState.IsValid) { TempData.Keep(); return(View("SellProduct")); } using (var client = new HttpClient()) { client.BaseAddress = new Uri(ConfigurationManager.AppSettings["WebApiBaseUrl"]); //HTTP POST var responseMessageTask = client.PostAsJsonAsync <ProductRequest>("api/CreateProduct", product); responseMessageTask.Wait(); var responseMessage = responseMessageTask.Result; if (responseMessage.IsSuccessStatusCode) { var responseContentTask = responseMessage.Content.ReadAsAsync <ProductResponse>(); responseContentTask.Wait(); productResponse = responseContentTask.Result; if (productResponse.Error == null) { return(RedirectToActionPermanent("GetCustomerProducts", "Product")); } ModelState.AddModelError("", productResponse.Error.Message); TempData.Keep(); return(View("SellProduct")); } ModelState.AddModelError("", "server error"); TempData.Keep(); return(View("SellProduct")); } }
public ActionResult DisplayCustomerProduct(int productid) { LoginModelResponse customerinfo = (LoginModelResponse)Session["Customer"]; if (customerinfo == null) { return(RedirectToActionPermanent("Index", "Login")); } Product productModel = new Product(); using (var client = new HttpClient()) { client.BaseAddress = new Uri(ConfigurationManager.AppSettings["WebApiBaseUrl"]); //HTTP GET var responseMessageTask = client.GetAsync("api/Product/GetProduct?productId=" + productid); responseMessageTask.Wait(); var responseMessage = responseMessageTask.Result; if (responseMessage.IsSuccessStatusCode) { var responseContentTask = responseMessage.Content.ReadAsAsync <Product>(); responseContentTask.Wait(); productModel = responseContentTask.Result; // TempData["products"] = productResponse.Products; } else //web api sent error response { //log response status here.. ModelState.AddModelError(string.Empty, "Server error. Please contact administrator."); return(View("MyAuctionsView", productModel)); } } ViewBag.LoginSuccess = "True"; if (TempData["Error"] != null) { ModelState.AddModelError("", TempData["Error"].ToString()); TempData["Error"] = null; } return(View("CustomerProduct", productModel)); }
public IHttpActionResult UserLogin([FromBody] LoginModelRequest loginRequest) { LoginModelResponse loginResponse = new LoginModelResponse(); try { if (!ModelState.IsValid) { loginResponse.Error = new Error { Code = ErrorCodes.ModelStateInvalid, Message = "Please correct the errors" }; return(Ok(loginResponse)); } loginResponse = CustomerLogin.Login(loginRequest); return(Ok(loginResponse)); } catch (Exception ex) { return(Ok(ex.Message)); } }
//To get customer orders public ActionResult GetCustomerOrders() { LoginModelResponse customerinfo = (LoginModelResponse)Session["Customer"]; OrdersResponse orders = new OrdersResponse(); if (customerinfo != null) { ViewBag.LoginSuccess = "True"; int customerid = customerinfo.CustomerId; using (var client = new HttpClient()) { client.BaseAddress = new Uri("http://localhost:54713/api/"); //HTTP GET var url = "Order/GetCustomerOrders?customerid=" + customerid; var responseMessageTask = client.GetAsync(url); responseMessageTask.Wait(); var result = responseMessageTask.Result; if (result.IsSuccessStatusCode) { var readTask = result.Content.ReadAsAsync <OrdersResponse>(); readTask.Wait(); orders = readTask.Result; return(View(orders)); } else //web api sent error response { //log response status here.. ModelState.AddModelError(string.Empty, "Server error. Please contact administrator."); return(View(orders)); } } } else { return(RedirectToActionPermanent("Index", "Login")); } }
public ActionResult Signin(LoginModelRequest login) { LoginModelResponse loginModelResponse = new LoginModelResponse(); ViewBag.LoginSuccess = "False"; if (!ModelState.IsValid) { return(View("Index")); } using (var client = new HttpClient()) { client.BaseAddress = new Uri(ConfigurationManager.AppSettings["WebApiBaseUrl"]); //HTTP POST var responseMessageTask = client.PostAsJsonAsync <LoginModelRequest>("api/Login", login); responseMessageTask.Wait(); var responseMessage = responseMessageTask.Result; if (responseMessage.IsSuccessStatusCode) { var responseContentTask = responseMessage.Content.ReadAsAsync <LoginModelResponse>(); responseContentTask.Wait(); loginModelResponse = responseContentTask.Result; if (loginModelResponse.Error == null) { Session["Customer"] = loginModelResponse; return(RedirectToActionPermanent("ProductTypes", "Product")); } ModelState.AddModelError("", loginModelResponse.Error.Message); return(View("Index")); } else { ModelState.AddModelError("", "Server error"); return(View("Index")); } } }
public async Task <IActionResult> Login([FromBody] LoginModelRequest request) { var response = new LoginModelResponse(); response.UrlApi = HttpContext.Request.Path.Value; // Get URL if (request == null) { response.ErrorMessage = "Request is null"; response.Success = false; return(BadRequest(response)); } if (String.IsNullOrEmpty(request.Username)) { response.ErrorMessage = "@Username is null or empty"; response.Success = false; return(BadRequest(response)); } if (String.IsNullOrEmpty(request.Password)) { response.ErrorMessage = "@Password is null or empty"; response.Success = false; return(BadRequest(response)); } var obj = await this.IAuthenticationService.Login(UserMapper.Map(request)); if (obj == null) { response.ErrorMessage = "User not found"; response.Success = false; return(NotFound(response)); } // Response Ok response.User = obj; response.Success = true; return(Ok(response)); }
private async Task ExternalAPILogin(LoginViewModel model) { try { Log.Info("ExternalAPILogin"); string ESupportAPIUrl = ApplicationConfigurations.ECareAPIUrl; UserHelper userhelper = new UserHelper(); LoginModel user = new LoginModel() { username = model.Email, password = model.Password, grant_type = "password", schoolcode = ApplicationConfigurations.SchoolCode }; Log.Info("LoginUserAsync Call"); LoginModelResponse res = userhelper.LoginUserAsync(user).Result; if (res != null) { Log.Info("LoginUserAsync Success" + res.ToString()); Log.Info("Response is not null- " + res.access_token); List <KeyValuePair <string, string> > cookieData = new List <KeyValuePair <string, string> >() { new KeyValuePair <string, string>("access_token", res.access_token), new KeyValuePair <string, string>("token_type", res.token_type), new KeyValuePair <string, string>("expires_in", res.expires_in.ToString()), new KeyValuePair <string, string>("ESupportAPIUrl", ESupportAPIUrl), }; CookiesHelper.SaveData(Response, cookieData); Log.Info("Data Saved in cookies"); } } catch (Exception ex) { Log.Error("ExternalAPILogin Error- " + ex.Message.ToString()); } }
public ActionResult MyBidDetail(int auctionid) { LoginModelResponse customerinfo = (LoginModelResponse)Session["Customer"]; if (customerinfo == null) { return(RedirectToActionPermanent("Index", "Login")); } Auction.Model.Message.Auction userAuction = new Auction.Model.Message.Auction(); ViewBag.LoginSuccess = "True"; using (var client = new HttpClient()) { client.BaseAddress = new Uri(ConfigurationManager.AppSettings["WebApiBaseUrl"]); //HTTP GET var responseMessageTask = client.GetAsync("api/Auction/GetBid?auctionid=" + auctionid); responseMessageTask.Wait(); var responseMessage = responseMessageTask.Result; if (responseMessage.IsSuccessStatusCode) { var responseContentTask = responseMessage.Content.ReadAsAsync <Auction.Model.Message.Auction>(); responseContentTask.Wait(); userAuction = responseContentTask.Result; TempData["Bid"] = userAuction; if (TempData["Error"] != null) { ModelState.AddModelError("", TempData["Error"].ToString()); TempData["Error"] = null; } return(View("CustomerBid", userAuction)); } else //web api sent error response { //log response status here.. return(View("MyBids", userAuction)); } } }
public static LoginModelResponse Login(LoginModelRequest login) { auctionEntities = new AuctionSystemEntities(); loginResponse = new LoginModelResponse(); //To retrive customers based on email. customer customer = auctionEntities.customers.Where(c => c.customer_email == login.Email).FirstOrDefault(); //check if customer already exist or not if (customer == null) { //if customer do not exist set fault as invalid email loginResponse.Error = new Error { Code = ErrorCodes.InvalidEmail, Message = "User Email does not exist" }; loginResponse.LoginIsValid = false; return(loginResponse); } //if customer exists check if passwords match by hashing the password if (customer.customer_password != CustomerRegistration.HashPassword(login.Password)) { //if paswords do not match set fault as invalid password loginResponse.Error = new Error { Code = ErrorCodes.InvalidPassword, Message = "User Email / Password does not match" }; loginResponse.LoginIsValid = false; return(loginResponse); } //if passwords match login the user by setting loginresponse loginResponse.Email = customer.customer_email; loginResponse.CustomerId = customer.id; loginResponse.CustomerLastName = customer.customer_lastname; loginResponse.CustomerFirstName = customer.customer_firstname; loginResponse.LoginIsValid = true; return(loginResponse); }
public ActionResult GetBid(int auctionid) { LoginModelResponse customerinfo = (LoginModelResponse)Session["Customer"]; if (customerinfo == null) { return(RedirectToActionPermanent("Index", "Login")); } ViewBag.LoginSuccess = "True"; AuctionResponse auctionResponse = new AuctionResponse(); AuctionDetails auction = new AuctionDetails(); using (var client = new HttpClient()) { int customerid = customerinfo.CustomerId; auction.customerid = customerid; auction.auctionid = auctionid; client.BaseAddress = new Uri(ConfigurationManager.AppSettings["WebApiBaseUrl"]); var responseMessageTask = client.PostAsJsonAsync <AuctionDetails>("api/GetUserBids", auction); responseMessageTask.Wait(); var responseMessage = responseMessageTask.Result; if (responseMessage.IsSuccessStatusCode) { var responseContentTask = responseMessage.Content.ReadAsAsync <AuctionResponse>(); responseContentTask.Wait(); auctionResponse = responseContentTask.Result; } else //web api sent error response { //log response status here.. ModelState.AddModelError(string.Empty, "Server error. Please contact administrator."); return(View("MyBids", auctionResponse)); } } return(View("MyBids", auctionResponse)); }
//To display customer bids with customer id public ActionResult GetMyBids() { LoginModelResponse customerinfo = (LoginModelResponse)Session["Customer"]; if (customerinfo == null) { return(RedirectToActionPermanent("Index", "Login")); } ViewBag.LoginSuccess = "True"; AuctionResponse auctionResponse = new AuctionResponse(); using (var client = new HttpClient()) { int id = customerinfo.CustomerId; client.BaseAddress = new Uri(ConfigurationManager.AppSettings["WebApiBaseUrl"]); var url = "api/Auction/GetBidsByCustomerId?customerId=" + id; //HTTP GET var responseMessageTask = client.GetAsync(url); responseMessageTask.Wait(); var responseMessage = responseMessageTask.Result; if (responseMessage.IsSuccessStatusCode) { var responseContentTask = responseMessage.Content.ReadAsAsync <AuctionResponse>(); responseContentTask.Wait(); auctionResponse = responseContentTask.Result; TempData["Bid"] = auctionResponse.Auctions; return(View("MyBids", auctionResponse)); } else //web api sent error response { //log response status here.. return(View("MyBids", auctionResponse)); } } }
public HttpResponseMessage Login(LoginModelRequest objLoginModelRequest) { LoginModelResponse result = new LoginModelResponse(); if (ModelState.IsValid) { try { Int64 UserId = _objFriendFitDBEntity.Database.SqlQuery <Int64>("Select Id from UserProfile where Email={0}", objLoginModelRequest.Email).FirstOrDefault(); bool mailVerified = _objFriendFitDBEntity.Database.SqlQuery <bool>("select EmailConfirmed from UserProfile where Id={0}", UserId).FirstOrDefault(); if (mailVerified == false) { result.Response.StatusCode = Convert.ToInt32(HttpStatusCode.NotAcceptable); result.Response.Message = "Please Verify Your Email Id that has been sent to your mail."; } else { result.Response = _objIUserSettings.Login(objLoginModelRequest); //Int64 UserId = _objFriendFitDBEntity.Database.SqlQuery<Int64>("select Id from UserProfile where Email={0}", objLoginModelRequest.Email).FirstOrDefault(); if (result.Response != null) { string Token = _objFriendFitDBEntity.Database.SqlQuery <string>("select TokenCode from UserToken where UserId={0}", UserId).FirstOrDefault(); if (Token == null || Token == "0") { if (Token == null) { UserToken objToken = new UserToken() { UserId = result.Response.Id, RoleId = result.Response.RoleId, CreatedOn = DateTime.Now, IsActive = true, ExpiryDate = DateTime.Now.AddDays(7), TokenCode = Guid.NewGuid().ToString() + result.Response.Id.ToString() + Guid.NewGuid().ToString() }; _objFriendFitDBEntity.UserTokens.Add(objToken); _objFriendFitDBEntity.SaveChanges(); result.Response.TokenCode = objToken.TokenCode; } else { int rowEffected = _objFriendFitDBEntity.Database.ExecuteSqlCommand("Update Token set TokenCode=@TokenCode,ExpiryDate=@ExpiryDate where UserId=@UserId", new SqlParameter("TokenCode", Guid.NewGuid().ToString() + result.Response.Id.ToString() + Guid.NewGuid().ToString()), new SqlParameter("ExpiryDate", DateTime.Now.AddDays(7)), new SqlParameter("UserId", UserId)); } } else { result.Response.TokenCode = Token; } result.Response.StatusCode = Convert.ToInt32(HttpStatusCode.OK); result.Response.Message = "You are logged in successfully!"; } else { var GetIsActive = _objFriendFitDBEntity.UserProfiles.Where(a => a.Password == objLoginModelRequest.Password && a.Email == objLoginModelRequest.Email).FirstOrDefault(); if (GetIsActive != null) { var IsActive = _objFriendFitDBEntity.UserProfiles.Where(a => a.Password == objLoginModelRequest.Password && a.Email == objLoginModelRequest.Email && a.IsActive == true && a.IsDeleted == false).FirstOrDefault(); if (IsActive != null) { FResponse res = new FResponse(); res.StatusCode = Convert.ToInt32(HttpStatusCode.Unauthorized); res.Message = "Email or Password is Incorrect"; _response = Request.CreateResponse(HttpStatusCode.Unauthorized, res); } else { FResponse res = new FResponse(); res.StatusCode = Convert.ToInt32(HttpStatusCode.Unauthorized); res.Message = "Your Account is currently disabled kindly contact Admin."; _response = Request.CreateResponse(HttpStatusCode.Unauthorized, res); } } else { FResponse res = new FResponse(); res.StatusCode = Convert.ToInt32(HttpStatusCode.Unauthorized); res.Message = "Email or Password is Incorrect"; _response = Request.CreateResponse(HttpStatusCode.Unauthorized, res); } return(_response); } } } catch (Exception ex) { result.Response.StatusCode = Convert.ToInt32(HttpStatusCode.BadRequest); _response = Request.CreateResponse(HttpStatusCode.InternalServerError, "Some error occurred"); } } else { result.Response.StatusCode = Convert.ToInt32(HttpStatusCode.BadRequest); _response = Request.CreateResponse(HttpStatusCode.InternalServerError, "Model is not valid"); } //result.Response.StatusCode = Convert.ToInt32(HttpStatusCode.OK); //result.Response.Message = "Success"; _response = Request.CreateResponse(HttpStatusCode.OK, result); return(_response); }