public HttpResponseMessage Edit([FromBody] Models.Account account) { try { if (account == null) { return(Request.CreateResponse(HttpStatusCode.BadRequest, "")); } using (var context = new EMContext()) { context.Configuration.LazyLoadingEnabled = false; Models.Account updatedAccount = new Models.Account(); DB.Models.Account existingAccount = context.Accounts.Where(x => x.AccountID == account.AccountID).FirstOrDefault(); if (existingAccount != null) { existingAccount.AccountTypeID = account.AccountTypeID; existingAccount.AccountName = account.AccountName; existingAccount.CreatedDate = DateTime.Now; context.SaveChanges(); updatedAccount = context.Accounts.Where(x => x.AccountID == account.AccountID).Select(x => new Models.Account() { AccountID = x.AccountID, AccountTypeID = x.AccountTypeID, AccountName = x.AccountName, CreatedDate = x.CreatedDate }).FirstOrDefault(); } APIResponse <Models.Account> apiResponse = new APIResponse <Models.Account>() { StatusCode = (int)(updatedAccount == null ? HttpStatusCode.ExpectationFailed : HttpStatusCode.OK), StatusRemark = "", Content = (updatedAccount ?? null), }; return(Request.CreateResponse((updatedAccount == null ? HttpStatusCode.ExpectationFailed : HttpStatusCode.OK), apiResponse)); } } catch (Exception ex) { Console.WriteLine(ex.StackTrace); if (HttpContext.Current.IsDebuggingEnabled) { return(Request.CreateResponse(HttpStatusCode.InternalServerError, ex)); } else { return(Request.CreateResponse(HttpStatusCode.InternalServerError, "")); } } }
public HttpResponseMessage Delete(string id) { try { if (id == null || (id != null && id.Trim().Length == 0)) { return(Request.CreateResponse(HttpStatusCode.BadRequest, "")); } bool result = false; string error = string.Empty; using (var context = new EMContext()) { context.Configuration.LazyLoadingEnabled = false; Guid accountID = Guid.Parse(id); DB.Models.Transaction foundTransaction = context.Transactions.Where(x => x.FromAccountID == accountID || x.ToAccountID == accountID).FirstOrDefault(); if (foundTransaction == null) { DB.Models.Account foundAccount = context.Accounts.Where(x => x.AccountID == accountID).FirstOrDefault(); if (foundAccount != null) { context.Accounts.Remove(foundAccount); context.SaveChanges(); result = true; } else { result = false; } } else { result = false; error = "Error, found that this account in used in transaction."; } APIResponse <bool> apiResponse = new APIResponse <bool>() { StatusCode = (int)(!result ? HttpStatusCode.ExpectationFailed : HttpStatusCode.OK), StatusRemark = error, Content = result, }; return(Request.CreateResponse((!result ? HttpStatusCode.ExpectationFailed : HttpStatusCode.OK), apiResponse)); } } catch (Exception ex) { Console.WriteLine(ex.StackTrace); if (HttpContext.Current.IsDebuggingEnabled) { return(Request.CreateResponse(HttpStatusCode.InternalServerError, ex)); } else { return(Request.CreateResponse(HttpStatusCode.InternalServerError, "")); } } }