public Response <IEnumerable <ClinicDTO> > GetAllClinicsOfaDoctor(int id)
 {
     try
     {
         using (VDEntities entities = new VDEntities())
         {
             var doctor = entities.Doctors.FirstOrDefault(c => c.ID == id);
             if (doctor == null)
             {
                 return(new Response <IEnumerable <ClinicDTO> >(false, "Doctor not found", null));
             }
             else
             {
                 var dbClinics = doctor.Clinics.ToList();
                 List <ClinicDTO> clinicDTOs = new List <ClinicDTO>();
                 foreach (var clinic in dbClinics)
                 {
                     ClinicDTO clinicDTO = Mapper.Map <ClinicDTO>(clinic);
                     clinicDTO.childrenCount = clinic.Children.Count();
                     clinicDTOs.Add(clinicDTO);
                 }
                 //var clinicDTOs = Mapper.Map<List<ClinicDTO>>(dbClinics);
                 return(new Response <IEnumerable <ClinicDTO> >(true, null, clinicDTOs));
             }
         }
     }
     catch (Exception e)
     {
         return(new Response <IEnumerable <ClinicDTO> >(false, GetMessageFromExceptionObject(e), null));
     }
 }
        public Response <ClinicDTO> Put(int Id, ClinicDTO clinicDTO)
        {
            try
            {
                TextInfo textInfo = new CultureInfo("en-US", false).TextInfo;
                clinicDTO.Name = textInfo.ToTitleCase(clinicDTO.Name);
                using (VDEntities entities = new VDEntities())
                {
                    var dbClinic = entities.Clinics.Where(c => c.ID == Id).FirstOrDefault();
                    clinicDTO.IsOnline       = false;
                    dbClinic.Name            = clinicDTO.Name;
                    dbClinic.ConsultationFee = clinicDTO.ConsultationFee;
                    dbClinic.StartTime       = clinicDTO.StartTime;
                    dbClinic.EndTime         = clinicDTO.EndTime;
                    dbClinic.PhoneNumber     = clinicDTO.PhoneNumber;
                    dbClinic.OffDays         = clinicDTO.OffDays;
                    dbClinic.Lat             = clinicDTO.Lat;
                    dbClinic.Long            = clinicDTO.Long;
                    dbClinic.Address         = clinicDTO.Address;


                    entities.SaveChanges();
                    return(new Response <ClinicDTO>(true, null, clinicDTO));
                }
            }
            catch (Exception e)
            {
                return(new Response <ClinicDTO>(false, GetMessageFromExceptionObject(e), null));
            }
        }
        public Response <ClinicDTO> EditClinic(ClinicDTO clinicDTO)
        {
            try
            {
                using (VDEntities entities = new VDEntities())
                {
                    var dbClinic = entities.Clinics.Where(c => c.ID == clinicDTO.ID).FirstOrDefault();
                    if (clinicDTO.IsOnline)
                    {
                        dbClinic.IsOnline = true;
                    }

                    var clinicList = entities.Clinics.Where(x => x.DoctorID == clinicDTO.DoctorID).Where(x => x.ID != clinicDTO.ID).ToList();
                    if (clinicList.Count != 0)
                    {
                        foreach (var clinic in clinicList)
                        {
                            clinic.IsOnline = false;
                            entities.Clinics.Attach(clinic);
                            entities.Entry(clinic).State = EntityState.Modified;
                        }
                    }
                    entities.SaveChanges();
                    clinicDTO.Name = dbClinic.Name;
                    return(new Response <ClinicDTO>(true, null, clinicDTO));
                }
            }
            catch (Exception ex)
            {
                return(new Response <ClinicDTO>(false, ex.Message, null));
            }
        }
        public void Add(ClinicDTO clinic, int clinicId)
        {
            Clinic model = _mapper.Map <Clinic>(clinic);

            model.CreationDate = DateTime.Now;
            model.CreatedBy    = clinicId;
            dbset.Add(model);
        }
        public void Update(ClinicDTO clinic, int clinicId)
        {
            Clinic model = _mapper.Map <Clinic>(clinic);

            model.ModifiedDate = DateTime.Now;
            model.ModifiedBy   = clinicId;

            entities.Entry(model).State = EntityState.Modified;
            entities.Entry(model).Property(m => m.CreatedBy).IsModified    = false;
            entities.Entry(model).Property(m => m.CreationDate).IsModified = false;
        }
 public void Update(ClinicDTO clinic, int clinicId)
 {
     try
     {
         clinicRepository.Update(clinic, clinicId);
         UoW.SaveChanges();
     }
     catch (Exception e)
     {
         throw e;
     }
 }
 public List <ClinicDTO> Delete(ClinicDTO clinic, GridSettings gridSettings)
 {
     try
     {
         clinicRepository.Delete(clinic);
         UoW.SaveChanges();
     }
     catch (Exception e)
     {
         throw e;
     }
     return(GetAll(gridSettings));
 }
 public Response <ClinicDTO> Get(int Id)
 {
     try
     {
         using (VDEntities entities = new VDEntities())
         {
             var       dbClinic  = entities.Clinics.Where(c => c.ID == Id).FirstOrDefault();
             ClinicDTO ClinicDTO = Mapper.Map <ClinicDTO>(dbClinic);
             return(new Response <ClinicDTO>(true, null, ClinicDTO));
         }
     }
     catch (Exception e)
     {
         return(new Response <ClinicDTO>(false, GetMessageFromExceptionObject(e), null));
     }
 }
 public Response <ClinicDTO> Post([FromBody] ClinicDTO clinicDTO)
 {
     try
     {
         TextInfo textInfo = new CultureInfo("en-US", false).TextInfo;
         clinicDTO.Name = textInfo.ToTitleCase(clinicDTO.Name);
         using (VDEntities entities = new VDEntities())
         {
             Clinic clinicDb = Mapper.Map <Clinic>(clinicDTO);
             entities.Clinics.Add(clinicDb);
             entities.SaveChanges();
             clinicDTO.ID = clinicDb.ID;
             return(new Response <ClinicDTO>(true, null, clinicDTO));
         }
     }
     catch (Exception e)
     {
         return(new Response <ClinicDTO>(false, GetMessageFromExceptionObject(e), null));
     }
 }
 public void Delete(ClinicDTO clinic)
 {
     dbset.Remove(_mapper.Map <Clinic>(clinic));
 }