예제 #1
0
        public HttpResponseMessage Put(int Id, [FromBody] Leaf leaveRequest)
        {
            using (LeavesEntities leaveEntity = new LeavesEntities())
            {
                try
                {
                    var leave = leaveEntity.Leaves.FirstOrDefault(L => L.Id == Id);

                    if (leave == null)
                    {
                        return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "Leave with Id " + Id + " not found."));
                    }

                    leave.EmployeeName  = leaveRequest.EmployeeName;
                    leave.EmployeeEmail = leaveRequest.EmployeeEmail;
                    leave.ManagerName   = leaveRequest.ManagerName;
                    leave.ManagerEmail  = leaveRequest.ManagerEmail;
                    leave.FromDate      = leaveRequest.FromDate;
                    leave.ToDate        = leaveRequest.ToDate;
                    leaveEntity.SaveChanges();
                    return(Request.CreateResponse(HttpStatusCode.OK, "Leave Request Updated."));
                }
                catch (Exception ex)
                {
                    return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message));
                }
            }
        }
예제 #2
0
 public IEnumerable <Leaf> GetLeaves(String employeeName)
 {
     using (LeavesEntities leaveEntity = new LeavesEntities())
     {
         return(leaveEntity.Leaves.Where(L => L.EmployeeName.ToLower() == employeeName.ToLower()).ToList());
     }
 }
예제 #3
0
        public HttpResponseMessage GetLeaves()
        {
            //Code used with Basic Authentication

            // string username = Thread.CurrentPrincipal.Identity.Name;

            //using (LeavesEntities leavesEntity = new LeavesEntities())
            //{
            //switch(username.ToLower())
            //{
            //    case "employee":
            //        return Request.CreateResponse(HttpStatusCode.OK, leavesEntity.Leaves.Where(L => L.ManagerName.ToLower() == "namita").ToList());
            //    case "manager":
            //        return Request.CreateResponse(HttpStatusCode.OK, leavesEntity.Leaves.Where(L => L.ManagerName.ToLower() == "raghu").ToList());
            //    default:
            //        return Request.CreateResponse(HttpStatusCode.BadRequest);
            //}
            //}

            //Code with Token authentication
            using (LeavesEntities leavesEntity = new LeavesEntities())
            {
                return(Request.CreateResponse(HttpStatusCode.OK, leavesEntity.Leaves.ToList()));
            }
        }
예제 #4
0
 public static bool Login(string username, string password)
 {
     using (LeavesEntities leaveEntity = new LeavesEntities())
     {
         return(leaveEntity.Users.Any(un => un.Username.Equals(username, StringComparison.OrdinalIgnoreCase) && un.Password == password));
     }
 }
예제 #5
0
 public HttpResponseMessage Post([FromBody] Leaf leaveRequest)
 {
     using (LeavesEntities leaveEntity = new LeavesEntities())
     {
         leaveEntity.Leaves.Add(leaveRequest);
         leaveEntity.SaveChanges();
         return(Request.CreateResponse(HttpStatusCode.Created, "New Leave Request Created."));
         //return Ok("New Leave Request Created.");
     }
 }
예제 #6
0
        public HttpResponseMessage Delete(int Id)
        {
            using (LeavesEntities leaveEntity = new LeavesEntities())
            {
                var leave = leaveEntity.Leaves.FirstOrDefault(L => L.Id == Id);
                if (leave == null)
                {
                    return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "Leave with Id " + Id + " not found."));
                }

                leaveEntity.Leaves.Remove(leaveEntity.Leaves.FirstOrDefault(L => L.Id == Id));
                leaveEntity.SaveChanges();
                return(Request.CreateResponse(HttpStatusCode.OK, "Leave Request Deleted."));
            }
        }