/// <summary> /// Update appointmnet time, date and end time of a dutyleave by providing DLID /// </summary> /// <param name="id"></param> /// <param name="dutyLeave"></param> /// <returns></returns> public HttpResponseMessage Put(int id, [FromBody] duty_leave dutyLeave) { try { using (ebuilderEntities entities = new ebuilderEntities()) { var entity = entities.duty_leave.FirstOrDefault(dl => dl.DLID == id); if (entity == null) { return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "Duty Leave with DLID " + id.ToString() + " not found")); } else { entity.date = dutyLeave.date; entity.appointmentTime = dutyLeave.appointmentTime; entity.endTime = dutyLeave.endTime; entities.SaveChanges(); return(Request.CreateResponse(HttpStatusCode.OK, entity)); } } } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
/// <summary> /// Add an dutyleave. One dutyleave is allowed for one employee in a single day /// </summary> /// <param name="dutyLeave"></param> /// <returns></returns> public HttpResponseMessage Post([FromBody] duty_leave dutyLeave) { try { using (ebuilderEntities entities = new ebuilderEntities()) { if (dutyLeave.EID == null || dutyLeave.location == null || dutyLeave.date == null) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Some fieds are empty")); } if (DateTime.Compare(dutyLeave.date, DateTime.Today) < 0 || TimeSpan.Compare(dutyLeave.appointmentTime, dutyLeave.endTime) >= 0) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Invalid date or time")); } var entity = entities.duty_leave.FirstOrDefault(dl => dl.EID == dutyLeave.EID && dl.date == dutyLeave.date); if (entity != null) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Duty leave for given EID and date alredy exists")); } entities.duty_leave.Add(dutyLeave); entities.SaveChanges(); var message = Request.CreateResponse(HttpStatusCode.OK, dutyLeave); message.Headers.Location = new Uri(Request.RequestUri + dutyLeave.DLID.ToString()); return(message); } } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
public async System.Threading.Tasks.Task <ActionResult> Edit(duty_leave dutyLeave) { try { using (HttpClient client = new HttpClient()) { client.BaseAddress = new Uri(BaseUrl); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/Json")); var json = JsonConvert.SerializeObject(dutyLeave); var stringContent = new StringContent(json, Encoding.UTF8, "application/json"); var response = await client.PutAsync("DutyLeaves/" + dutyLeave.DLID.ToString(), stringContent); if (response.IsSuccessStatusCode) { ViewBag.Message = "Success"; return(View()); } else { ViewBag.Message = "Error Occured"; return(View()); } } } catch (Exception) { ViewBag.Message = "Error Occured"; return(View()); } }
//delete a duty leave if the user pressed the delete button public async System.Threading.Tasks.Task <ActionResult> Delete(duty_leave dutyLeave) { try { using (HttpClient client = new HttpClient()) { client.BaseAddress = new Uri(BaseUrl); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/Json")); var response = await client.DeleteAsync("DutyLeaves/" + dutyLeave.DLID.ToString()); if (response.IsSuccessStatusCode) { ViewBag.Message = "Success"; } else { ViewBag.Message = "Error Occured"; } } return(View()); } catch (Exception) { ViewBag.Message = "Error Occured"; return(View()); } }
public async System.Threading.Tasks.Task <ActionResult> ApplyDutyLeave(duty_leave newDutyLeave) { try { if (ModelState.IsValid) { using (HttpClient client = new HttpClient()) { newDutyLeave.EID = User.EID; client.BaseAddress = new Uri(BaseUrl); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/Json")); var json = JsonConvert.SerializeObject(newDutyLeave); var stringContent = new StringContent(json, Encoding.UTF8, "application/json"); var response = await client.PostAsync("DutyLeaves", stringContent); if (response.StatusCode == System.Net.HttpStatusCode.OK) { ViewBag.Message = "Successfully Added"; } else { ViewBag.Message = "Error Occured"; } } } return(View()); } catch (Exception) { ViewBag.Message = "Error occured"; return(View()); } }