Пример #1
0
        /// <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));
            }
        }
Пример #2
0
        /// <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));
            }
        }
Пример #3
0
        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());
            }
        }
Пример #4
0
        //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());
            }
        }
Пример #5
0
        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());
            }
        }