public async Task <IHttpActionResult> ChangeStatus(int id) { try { var account = db.accounts.Where(acc => acc.id == id).FirstOrDefault(); if (account != null) { account.status = !account.status; int val = await db.SaveChangesAsync(); if (val > 0) { //refesh account return(Ok(await FetchDetailsAccount.GetDetailsAccount(id))); } else { return(BadRequest("Register fails.")); } } else { return(BadRequest("Not found.")); } } catch (Exception e) { return(BadRequest(e.Message)); } }
public async Task <IHttpActionResult> Post() { try { var identity = (ClaimsIdentity)User.Identity; var username = identity.Claims.Where(a => a.Type == ClaimTypes.Name).Select(c => c.Value).FirstOrDefault(); var findUser = db.accounts.Where(a => a.username == username).FirstOrDefault(); if (findUser != null) { var httpRequest = HttpContext.Current.Request; if (httpRequest.Files.Count > 0) { var docfiles = ""; foreach (string file in httpRequest.Files) { var postedFile = httpRequest.Files[file]; //check image file if (postedFile.ContentType == "image/jpeg" || postedFile.ContentType == "image/jpg" || postedFile.ContentType == "image/png" || postedFile.ContentType == "image/gif") { // post to cloud service return path bool check = await UpdateAvatar(postedFile, findUser.id); if (check) { return(Ok(await FetchDetailsAccount.GetDetailsAccount(findUser.id))); } else { return(BadRequest("Update avatar fails.")); } } else { return(BadRequest("file is not image type.")); } } return(Created("Success", docfiles)); } else { return(BadRequest("Upload file error.")); } } else { return(BadRequest("Account not found.")); } } catch { return(BadRequest("Error code.")); } }
public async Task <IHttpActionResult> ResetPassword(int id, [FromBody] ResetAccount form) { try { var account = (from a in db.accounts where a.id == id select a).FirstOrDefault(); if (account != null) { //check same password var pass1 = HashPassword.hashPassword(form.password); var pass2 = HashPassword.hashPassword(form.pre_password); if (pass1 == pass2) { account.password = pass1; account.password2 = pass2; int val = await db.SaveChangesAsync(); //search from list report var findListReport = db.report_account.Where(a => a.account_id == account.id).FirstOrDefault(); if (findListReport != null) { db.Entry(findListReport).State = System.Data.Entity.EntityState.Deleted; await db.SaveChangesAsync(); } if (val > 0) { return(Ok(await FetchDetailsAccount.GetDetailsAccount(id))); } else { return(BadRequest("Reset password error.")); } } else { return(BadRequest("Passwords are not the same.")); } } else { return(BadRequest("Not found accounts.")); } }catch (Exception e) { return(BadRequest(e.Message)); } }
public async Task <IHttpActionResult> CreateAccountInfo([FromBody] detail form) { try { var identity = (ClaimsIdentity)User.Identity; var username = identity.Claims.Where(a => a.Type == ClaimTypes.Name).Select(c => c.Value).FirstOrDefault(); var findIDAcc = db.accounts.Where(a => a.username == username).FirstOrDefault(); if (findIDAcc != null) { var details = db.details.Where(a => a.account_id == findIDAcc.id).FirstOrDefault(); if (details != null) { details.classroom_id = form.classroom_id; details.birthday = form.birthday; details.first_name = form.first_name; details.last_name = form.last_name; details.phone_number = form.phone_number; details.description = form.description; details.gender = form.gender; details.modify_date = DateTime.Now; int check = await db.SaveChangesAsync(); if (check > 0) { return(Ok(await FetchDetailsAccount.GetDetailsAccount(findIDAcc.id))); } else { return(BadRequest("Update profile error.")); } } else { return(BadRequest("Dont find details.")); } } else { return(BadRequest()); } } catch { return(BadRequest("Error request.")); } }
public async Task <IHttpActionResult> ResetPasswordUser([FromBody] account form) { try { var identity = (ClaimsIdentity)User.Identity; var username = identity.Claims.Where(a => a.Type == ClaimTypes.Name).Select(c => c.Value).FirstOrDefault(); var account = (from a in db.accounts where a.username == username select a).FirstOrDefault(); if (account != null) { //check same password var pass1 = HashPassword.hashPassword(form.password); var pass2 = HashPassword.hashPassword(form.password2); if (pass1 == pass2) { account.password = pass1; account.password2 = pass2; int val = await db.SaveChangesAsync(); if (val > 0) { return(Ok(await FetchDetailsAccount.GetDetailsAccount(account.id))); } else { return(BadRequest("Reset password error.")); } } else { return(BadRequest("Passwords are not the same.")); } } else { return(BadRequest("Not found accounts.")); } } catch (Exception e) { return(BadRequest(e.Message)); } }
public async Task <IHttpActionResult> GetAccountInfo() { try { var identity = (ClaimsIdentity)User.Identity; var username = identity.Claims.Where(a => a.Type == ClaimTypes.Name).Select(c => c.Value).FirstOrDefault(); //find id account vs username var find = db.accounts.Where(e => e.username == username).Select(e => e.id).FirstOrDefault(); if (find != null) { return(Ok(await FetchDetailsAccount.GetDetailsAccount(find))); } else { return(BadRequest("Not found account.")); } }catch (Exception e) { return(BadRequest("Error fetch my profile.")); } }
public async Task <IHttpActionResult> GetDetailsAccount(int id) { try { var account = await FetchDetailsAccount.GetDetailsAccount(id); if (account != null) { return(Ok(account)); } else { return(BadRequest("Dont find account.")); } //refesh account } catch (Exception e) { return(BadRequest(e.Message)); } }