// GET: api/Users?url=xxx&username=xxxx&app=dental public HttpResponseMessage GetUser(string url, string username, string app) { try { UserInformation ui = new UserInformation(); var Session = HttpContext.Current.Session; var rootUrl = Url.Content("~/"); var generatedUrl = rootUrl + "api/Users?url=" + url + "&username="******"&app=dental"; var redirect = Request.CreateResponse(HttpStatusCode.Moved); //Search username and get url var users = db.Users.Where(u => u.Username.Equals(username)).ToArray(); if (users.Length > 0 && users[0].Url.Equals(generatedUrl)) { var user = db.Users.Find(users[0].Id); users[0].Status = 1; db.Entry(user).State = EntityState.Modified; db.Entry(user).CurrentValues.SetValues(users[0]); db.SaveChanges(); Session["Username"] = username; redirect.Headers.Location = new Uri(rootUrl + "#/Home/Index"); } else redirect.Headers.Location = new Uri(rootUrl + "Home/NotFound"); return redirect; }catch(Exception){ throw; } }
public void filterRecord(int length, int userType, string property, string value, string value2, ref UserInformation[] userInformation) { /* Fields that can be filter * FirstName * LastName * MiddleName * Gender * ContactNo */ //Filter for a specific patient int fetch; userInformation = null; if (property.Equals("FirstName")) { value = value.ToLower(); var records = db.UserInformations.Where(ui => (ui.FirstName.ToLower().Contains(value) || ui.FirstName.ToLower().ToLower().Equals(value)) && ui.User.UserTypeId == userType).Count(); if (records > length) { if ((records - length) > pageSize) fetch = pageSize; else fetch = records - length; var getUserInformation = db.UserInformations.Where(ui => (ui.FirstName.ToLower().Contains(value) || ui.FirstName.ToLower().ToLower().Equals(value)) && ui.User.UserTypeId == userType) .OrderBy(ui => ui.Id).Skip((length)).Take(fetch).ToArray(); userInformation = getUserInformation; } } else if (property.Equals("MiddleName")) { value = value.ToLower(); var records = db.UserInformations.Where(ui => (ui.MiddleName.ToLower().Contains(value) || ui.MiddleName.ToLower().ToLower().Equals(value)) && ui.User.UserTypeId == userType).Count(); if (records > length) { if ((records - length) > pageSize) fetch = pageSize; else fetch = records - length; var getUserInformation = db.UserInformations.Where(ui => (ui.MiddleName.ToLower().Contains(value) || ui.MiddleName.ToLower().ToLower().Equals(value)) && ui.User.UserTypeId == userType) .OrderBy(ui => ui.Id).Skip((length)).Take(fetch).ToArray(); userInformation = getUserInformation; } } else if (property.Equals("LastName")) { value = value.ToLower(); var records = db.UserInformations.Where(ui => (ui.LastName.ToLower().Contains(value) || ui.LastName.ToLower().ToLower().Equals(value)) && ui.User.UserTypeId == userType).Count(); if (records > length) { if ((records - length) > pageSize) fetch = pageSize; else fetch = records - length; var getUserInformation = db.UserInformations.Where(ui => (ui.LastName.ToLower().Contains(value) || ui.LastName.ToLower().ToLower().Equals(value)) && ui.User.UserTypeId == userType) .OrderBy(ui => ui.Id).Skip((length)).Take(fetch).ToArray(); userInformation = getUserInformation; } } else if (property.Equals("Gender")) { value = value.ToLower(); var records = db.UserInformations.Where(ui => (ui.Gender.ToLower().Contains(value) || ui.Gender.ToLower().ToLower().Equals(value)) && ui.User.UserTypeId == userType).Count(); if (records > length) { if ((records - length) > pageSize) fetch = pageSize; else fetch = records - length; var getUserInformation = db.UserInformations.Where(ui => (ui.Gender.ToLower().Contains(value) || ui.Gender.ToLower().ToLower().Equals(value)) && ui.User.UserTypeId == userType) .OrderBy(ui => ui.Id).Skip((length)).Take(fetch).ToArray(); userInformation = getUserInformation; } } //ContactNo else { value = value.ToLower(); var records = db.UserInformations.Where(ui => ui.Gender.ToLower().ToLower().Equals(value) && ui.User.UserTypeId == userType).Count(); if (records > length) { if ((records - length) > pageSize) fetch = pageSize; else fetch = records - length; var getUserInformation = db.UserInformations.Where(ui => ui.Gender.ToLower().ToLower().Equals(value) && ui.User.UserTypeId == userType) .OrderBy(ui => ui.Id).Skip((length)).Take(fetch).ToArray(); userInformation = getUserInformation; } } }
public IHttpActionResult PostUserInformation(UserInformation userInformation) { response.status = "FAILURE"; if (!ModelState.IsValid) { response.message = "Bad request."; return Ok(response); } else if (this.checkIfExist(userInformation.User.Username)) { response.message = "Username is already used, please choose another one."; return Ok(response); } else if (searchEmail(userInformation.EmailAddress)) { response.message = "Email address is already used, please choose another one."; return Ok(response); } else { try { User userDetails = new User(); userDetails.Username = userInformation.User.Username; userDetails.Password = userInformation.User.Password; userDetails.Url = this.generateUrl(20, userDetails.Username); userDetails.UserTypeId = 6; userDetails.RegistrationDate = DateTime.Now; userDetails.Status = 0; db.Users.Add(userDetails); userInformation.User = null; userInformation.UserId = userDetails.Id; db.UserInformations.Add(userInformation); //email url this.emailUrl(userDetails.Url, userInformation.EmailAddress, userInformation.FirstName); db.SaveChanges(); response.status = "SUCCESS"; response.message = "Thank you for your patience. Please check your email for account activation."; } catch (Exception e) { response.message = e.Message.ToString(); } } return Ok(response); }
public IHttpActionResult PutUserInformation(int id, UserInformation userInformation) { response.status = "FAILURE"; if (!ModelState.IsValid || id != userInformation.Id) { response.message = "Bad request"; return Ok(response); } try { var searchEmail = db.UserInformations.Where(ui => ui.EmailAddress.Equals(userInformation.EmailAddress) && ui.User.Id != userInformation.Id).Count(); if (searchEmail > 0) { response.message = "Email Address is already used."; return Ok(response); } var getId = db.UserInformations.Where(ui => ui.UserId == id).ToArray(); userInformation.UserId = id; id = getId[0].Id; var getInformation = db.UserInformations.Find(id); userInformation.Id = id; //userInformation.RegistrationDate = DateTime.Now; db.Entry(getInformation).CurrentValues.SetValues(userInformation); db.Entry(getInformation).State = EntityState.Modified; db.SaveChanges(); response.status = "SUCCESS"; response.objParam1 = userInformation; } catch (Exception e) { if (!UserInformationExists(id)) { response.message = "User doesn't exist"; } else { response.message = e.InnerException.InnerException.Message.ToString(); } } return Ok(response); }
//Filtering base on status public IHttpActionResult GetUserInformations(int length, int userType, int status, string property, string value, string value2) { UserInformation[] userInformation = new UserInformation[pageSize]; this.filterRecord(length, userType, status, property, value, value2, ref userInformation); if (userInformation != null) return Ok(userInformation); else return Ok(); }