public IActionResult PutFlex(Guid?id, Flex flex)
        {
            if (id != flex.Id)
            {
                return(BadRequest());
            }
            if (uow.FlexRepo.Exists(id))
            {
                Flex flexOld = uow.FlexRepo.GetById(flex.Id);

                FlexType shiftSwap        = uow.FlexTypeRepo.GetByName("Shift Swap");
                FlexType shiftSwapRequest = uow.FlexTypeRepo.GetByName("Shift Swap Request");
                if (flex.FlexTypeId == shiftSwap.Id)
                {
                    Flex coWorkerFlex = uow.FlexRepo.GetById(flex.CoWorkerFlexId);
                    if (flex.CoWorkerId != flexOld.CoWorkerId && coWorkerFlex.FlexTypeId == shiftSwapRequest.Id)
                    {
                        //Delete the old Co-Worker Flex Entry; Need to send an email to old Co-Worker about the updates.
                        coWorkerFlex.IsActive = false;
                        uow.FlexRepo.Put(coWorkerFlex, coWorkerFlex.Id);
                        uow.SaveChanges();
                        quotaService.SendEmailsOnCoWorkerChange(coWorkerFlex);

                        //Create another request  for CoWorker Id
                        Guid coWorkerFlexId = CreateCoWorkerFlex(flex);
                        flex.CoWorkerFlexId = coWorkerFlexId;
                    }
                }
                Status approved = uow.StatusRepo.GetByName("Approved");
                if (flex.StatusId != flexOld.StatusId && flex.StatusId == approved.Id)
                {
                    quotaService.SendApproveFlexEmails(flex);
                }
                uow.FlexRepo.Put(flex, flex.Id);
                uow.SaveChanges();
                return(NoContent());
            }
            return(NotFound());
        }