public HttpResponseMessage Put([FromBody] int id, [FromUri] Employee employee) { try { using (EmployeeServiceDBEntities entites = new EmployeeServiceDBEntities()) { var entity = entites.Employees.FirstOrDefault(e => e.ID == id); if (entity == null) { return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "Employee with id = " + id.ToString() + " not found to update")); } else { entity.FirstName = employee.FirstName; entity.LastName = employee.LastName; entity.Gender = employee.Gender; entity.Salary = employee.Salary; entites.SaveChanges(); return(Request.CreateResponse(HttpStatusCode.OK, entity)); } } } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
public HttpResponseMessage LoadEmployeeById(int id)//this entity is generated by ado.net { using (EmployeeServiceDBEntities entities = new EmployeeServiceDBEntities()) { var entity = entities.Employees.FirstOrDefault(e => e.ID == id); if (entity != null) { return(Request.CreateResponse(HttpStatusCode.OK, entity)); } else { return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "Employee with ID = " + id.ToString() + " not found")); } } }
public HttpResponseMessage Post([FromBody] Employee employee)//[FromBody] is giving info about that employee will come from request body { try { using (EmployeeServiceDBEntities entities = new EmployeeServiceDBEntities()) { entities.Employees.Add(employee);//id is automatically generated entities.SaveChanges(); var message = Request.CreateResponse(HttpStatusCode.Created, employee); message.Headers.Location = new Uri(Request.RequestUri + "/" + employee.ID.ToString());//sender will retrieve uri for GET created row return(message); } } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
[HttpGet] //if this method was called loadAllEmployees it wouldn't work without [HttpGet] public HttpResponseMessage LoadAllEmployees(string gender = "All") //this entity is generated by ado.net { using (EmployeeServiceDBEntities entities = new EmployeeServiceDBEntities()) { switch (gender.ToLower()) { case "all": return(Request.CreateResponse(HttpStatusCode.OK, entities.Employees.ToList())); case "male": return(Request.CreateResponse(HttpStatusCode.OK, entities .Employees.Where(e => e.Gender.ToLower() == "male").ToList())); case "female": return(Request.CreateResponse(HttpStatusCode.OK, entities .Employees.Where(e => e.Gender.ToLower() == "female").ToList())); default: return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Value for gender must be All, Male or Female. " + gender + " is invalid")); } } }
public HttpResponseMessage Delete(int id) { try { using (EmployeeServiceDBEntities entities = new EmployeeServiceDBEntities()) { var entity = entities.Employees.FirstOrDefault(e => e.ID == id); if (entity == null) { return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "Employee with id = " + id.ToString() + " not found to delete")); } else { entities.Employees.Remove(entity); entities.SaveChanges(); return(Request.CreateResponse(HttpStatusCode.OK)); } } } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }