public async Task <CandidateSubmissionAppointmentSlotViewModel> AddSlots(long appointnmentID, CandidateSubmissionAppointmentSlotViewModel data)
        {
            try
            {
                var obj = await db.tblCandidateSubmissionAppointmentSlots.Where(x => x.AppintmentID == appointnmentID && x.StartDate == data.StartDate && x.EndDate == data.EndDate).FirstOrDefaultAsync();

                CandidateSubmissionAppointmentSlotViewModel returnDate = null;
                if (obj == null)
                {
                    var xdata = new tblCandidateSubmissionAppointmentSlot()
                    {
                        StartDate        = data.StartDate,
                        EndDate          = data.EndDate,
                        IsActive         = data.isActive,
                        IsDeleted        = data.isDeleted,
                        CreatedUserID    = data.createdUserID,
                        CreatedTimestamp = DateTime.UtcNow,
                        IsFinalised      = data.IsFinalised
                    };

                    db.tblCandidateSubmissionAppointmentSlots.Add(xdata);
                    await db.SaveChangesAsync();

                    returnDate = new CandidateSubmissionAppointmentSlotViewModel()
                    {
                        ID               = xdata.ID,
                        AppintmentID     = xdata.AppintmentID,
                        StartDate        = xdata.StartDate,
                        EndDate          = xdata.EndDate,
                        isActive         = xdata.IsActive,
                        isDeleted        = xdata.IsDeleted,
                        IsFinalised      = xdata.IsFinalised,
                        createdTimestamp = xdata.CreatedTimestamp
                    };
                }
                else
                {
                    throw new Exception("Already An Appointment added with same date");
                }
                return(returnDate);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
 public static CandidateSubmissionAppointmentSlot ConvertToCandidateSubmissionAppointmentSlot(this tblCandidateSubmissionAppointmentSlot data)
 {
     return(new CandidateSubmissionAppointmentSlot()
     {
         id = data.ID,
         appintmentID = data.AppintmentID,
         startDate = data.StartDate,
         endDate = data.EndDate,
         isFinalised = data.IsFinalised,
         isActive = data.IsActive,
         isDeleted = data.IsDeleted,
         createdUserID = data.CreatedUserID,
         updatedUserID = data.UpdatedUserID,
         createdTimestamp = data.CreatedTimestamp,
         updatedTimestamp = data.UpdatedTimestamp
     });
 }