// GET: ResourceRequests
        public ActionResult Index()
        {
            if (!caSession.AuthoriseSession())
            {
                return(Redirect((string)Session["ErrorUrl"]));
            }
            var result = new ResourceRequestsViewModel();

            return(View(result));
        }
        public ActionResult Edit([Bind(Include = "Id,ResourceId,StartDate,EndDate,HolidayReason,ActionReason,RequestType,RequestStatus,Notes")] ResourceRequestsViewModel resourceRequests)
        {
            if (!caSession.AuthoriseSession())
            {
                return(Redirect((string)Session["ErrorUrl"]));
            }

            if (ModelState.IsValid)
            {
                _employeeServices.UpdateResourceHolidayRequest(resourceRequests, CurrentUserId);
                return(RedirectToAction("Index"));
            }
            ViewBag.ResourceIds = new SelectList(_employeeServices.GetAllEmployees(CurrentTenantId), "ResourceId", "FirstName", resourceRequests.ResourceId);
            return(View(resourceRequests));
        }
        public ActionResult Create([Bind(Include = "Id,ResourceId,StartDate,EndDate,HolidayReason,RequestedDate,Label,Location,AllDay,EventType,RecurrenceInfo,ReminderInfo,Status,AcceptedBy,ActionReason,RequestType,RequestStatus,Notes,TenantId,DateCreated,DateUpdated,CreatedBy,UpdatedBy,IsDeleted")] ResourceRequestsViewModel resourceRequests)
        {
            if (!caSession.AuthoriseSession())
            {
                return(Redirect((string)Session["ErrorUrl"]));
            }

            if (ModelState.IsValid)
            {
                _employeeServices.AddResourceHolidayRequest(resourceRequests, CurrentTenantId, CurrentUserId);
                return(RedirectToAction("Index"));
            }

            ViewBag.ResourceId = new SelectList(_employeeServices.GetAllEmployees(CurrentTenantId), "ResourceId", "FirstName", resourceRequests.ResourceId);
            return(View(resourceRequests));
        }
        public ResourceRequests UpdateResourceHolidayRequest(ResourceRequestsViewModel resourceRequests, int userId)
        {
            var newResourceRequest = GetResourceHolidayRequestById(resourceRequests.Id);

            newResourceRequest.UpdatedBy     = userId;
            newResourceRequest.DateUpdated   = DateTime.UtcNow;
            newResourceRequest.ResourceId    = resourceRequests.ResourceId;
            newResourceRequest.StartDate     = resourceRequests.StartDate;
            newResourceRequest.EndDate       = resourceRequests.EndDate;
            newResourceRequest.HolidayReason = resourceRequests.HolidayReason;
            newResourceRequest.RequestStatus = resourceRequests.RequestStatus;
            newResourceRequest.ActionReason  = resourceRequests.ActionReason;
            newResourceRequest.RequestType   = resourceRequests.RequestType;

            newResourceRequest.Notes = resourceRequests.Notes;
            _currentDbContext.Entry(newResourceRequest).State = EntityState.Modified;
            _currentDbContext.SaveChanges();
            return(newResourceRequest);
        }
        public ResourceRequests AddResourceHolidayRequest(ResourceRequestsViewModel resourceRequests, int tenantId, int userId)
        {
            resourceRequests.RequestedDate = DateTime.UtcNow;
            resourceRequests.Label         = 1;
            resourceRequests.AllDay        = false;
            resourceRequests.EventType     = 0;
            resourceRequests.Status        = 1;
            resourceRequests.RequestNotes  = resourceRequests.RequestNotes;
            resourceRequests.RequestStatus = ResourceRequestStatusEnum.Created;
            resourceRequests.Notes         = resourceRequests.Notes;

            var request = Mapper.Map <ResourceRequests>(resourceRequests);

            request.DateCreated = DateTime.UtcNow;
            _currentDbContext.ResourceHolidays.Add(request);
            request.TenantId  = tenantId;
            request.CreatedBy = userId;
            _currentDbContext.SaveChanges();
            return(request);
        }