public IHttpActionResult EditClinic([FromBody] ClinicDto clinicDto)
 {
     try
     {
         var updatedUser = context.Clinics.FirstOrDefault(hp => hp.ID == clinicDto.ID);
         if (updatedUser != null)
         {
             updatedUser.Name      = clinicDto.Name;
             updatedUser.Phone     = clinicDto.Phone;
             updatedUser.StartDate = clinicDto.StartDate;
             updatedUser.EndDate   = clinicDto.EndDate;
             updatedUser.StartTime = clinicDto.StartTime;
             updatedUser.EndTime   = clinicDto.EndTime;
             updatedUser.Address   = clinicDto.Address;
             context.SaveChanges();
             return(Ok("Successed"));
         }
         else
         {
             return(NotFound());
         }
     }
     catch
     {
         return(BadRequest());
     }
 }
 public IHttpActionResult AddClinic(string UserID, [FromBody] ClinicDto clinicDto)
 {
     try
     {
         var doctor = context.Doctor.FirstOrDefault(dc => dc.UserID == UserID);
         if (clinicDto != null)
         {
             Clinic cli = new Clinic();
             cli.Name      = clinicDto.Name;
             cli.Phone     = clinicDto.Phone;
             cli.StartDate = clinicDto.StartDate;
             cli.EndDate   = clinicDto.EndDate;
             cli.StartTime = clinicDto.StartTime;
             cli.EndTime   = clinicDto.EndTime;
             cli.Address   = clinicDto.Address;
             context.Clinics.Add(cli);
             doctor.HasClinic = true;
             doctor.doctorClinics.Add(new DoctorClinics {
                 ClinicID = cli.ID
             });
             context.SaveChanges();
             return(Ok("Successed"));
         }
         else
         {
             return(NotFound());
         }
     }
     catch
     {
         return(BadRequest());
     }
 }
Example #3
0
        public async Task <IActionResult> GetClinics([FromQuery] ClinicDto request)
        {
            var clinics = await clinicLogic.GetClinics(request);

            if (!clinics.Any())
            {
                return(NotFound());
            }

            return(Ok(clinics));
        }
Example #4
0
        public Task <List <GetClinicResponse> > GetClinics(ClinicDto request)
        {
            var name     = request.Name;
            var isActive = request.IsActive;

            return(context
                   .Clinic
                   .AsNoTracking()
                   .ConditionalWhere(!string.IsNullOrEmpty(name), x => x.Name == name)
                   .ConditionalWhere(isActive != null, x => x.IsActive == isActive.Value)
                   .ProjectTo <GetClinicResponse>(mapper.ConfigurationProvider)
                   .ToListAsync());
        }
        public IHttpActionResult PostClinicInstrumentDelete(ClinicDto clinic)
        {
            string msg = "";

            if (clinic == null)
            {
                msg = "参数错误";
            }

            try
            {
                var clinicToDelete = _context.Clinics.Find(clinic.Id);
                _context.Entry(clinicToDelete).Collection(u => u.Instruments).Load();
                foreach (InstrumentDto ist in clinic.Instruments)
                {
                    var instrumentToDelete = _context.Instruments.Find(ist.Id);
                    _context.Entry(instrumentToDelete).Collection(u => u.Texts).Load();
                    _context.Entry(instrumentToDelete).Collection(u => u.Pictures).Load();
                    _context.Entry(instrumentToDelete).Collection(u => u.Videos).Load();

                    var instrumentToDeleteDto = Mapper.Map <Instrument, InstrumentDto>(instrumentToDelete);
                    foreach (TextDto t in instrumentToDeleteDto.Texts)
                    {
                        var text = _context.Texts.Find(t.Id);
                        _context.Texts.Remove(text);
                    }
                    foreach (PictureDto p in instrumentToDeleteDto.Pictures)
                    {
                        var picture = _context.Pictures.Find(p.Id);
                        _context.Pictures.Remove(picture);
                    }
                    foreach (VideoDto v in instrumentToDeleteDto.Videos)
                    {
                        var video = _context.Videos.Find(v.Id);
                        _context.Videos.Remove(video);
                    }
                    clinicToDelete.Instruments.Remove(instrumentToDelete);
                }
                _context.Entry(clinicToDelete).State = EntityState.Modified;
                _context.SaveChanges();
                msg = "删除成功";
            }
            catch (RetryLimitExceededException)
            {
                msg = "网络故障";
            }
            var str = "{ \"Message\" : \"" + msg + "\" , \"" + "Data\" : \"" + "null" + "\" }";

            return(Ok(str));
        }
Example #6
0
        public async Task <ActionResult <Clinic> > Register([FromBody] ClinicDto clinicDto)
        {
            //var clinics = await _unitOfWork.ClinicRepository.GetClinicsAsync();

            Clinic clinic = _mapper.Map <Clinic>(clinicDto);      //map registerDto to AppUser

            clinic.ClinicName = clinicDto.ClinicName.ToLower();   //set username to lowercase

            _unitOfWork.ClinicRepository.AddClinic(clinic);       //Add to Role with member as default

            if (await _unitOfWork.Complete())
            {
                return(Ok());
            }

            return(BadRequest("Failed to add clinic"));
        }
Example #7
0
        public async Task <IActionResult> AddClinic([FromBody] ClinicDto clinic)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            try
            {
                await _clinicService.AddClinicAsync(clinic);
            }
            catch (Exception e)
            {
                return(BadRequest(e));
            }

            return(Ok(clinic.ClinicId));
        }
        /// <summary>
        /// Metoda odpowiadajaca za aktualizowanie kliniki w bazie danych
        /// </summary>
        /// <param name="clinic"></param>
        /// <returns></returns>
        public async Task <int> UpdateClinicAsync(ClinicDto clinicDto)
        {
            if (clinicDto == null)
            {
                throw new Exception("Obiekt clinic nie może być pusty.");
            }


            var cityId = await _clinicRateDbContext.DictCities.Where(s => s.Name == clinicDto.City)
                         .Select(c => c.DictCityId)
                         .FirstAsync();

            var provinceId = await _clinicRateDbContext.DictProvinces.Where(s => s.Name == clinicDto.Province)
                             .Select(p => p.DictProvinceId)
                             .FirstAsync();

            if (cityId <= 0 || provinceId <= 0)
            {
                throw new Exception("Nie znaleziono miasta, badz wojewodztwa o podanym stringu w bazie danych");
            }

            var clinic = new Clinic()
            {
                ClinicId    = clinicDto.ClinicId,
                ClinicName  = clinicDto.ClinicName,
                Latitude    = clinicDto.Latitude,
                Longitude   = clinicDto.Longitude,
                PhoneNumber = clinicDto.PhoneNumber,
                PostCode    = clinicDto.PostCode,
                ProvinceId  = provinceId,
                Street      = clinicDto.Street,
                CityId      = cityId,
                Accepted    = clinicDto.Accepted
            };

            _clinicRateDbContext.Clinics.Update(clinic);
            await _clinicRateDbContext.SaveChangesAsync();

            return(clinic.ClinicId);
        }
        public async Task <IList <ClinicDto> > GetClinicsByProvinceAsync(int id)
        {
            IEnumerable <Clinic> clinics = await _clinicRateDbContext.Clinics
                                           .Include(c => c.DictCity)
                                           .Include(o => o.Opinions)
                                           .Where(c => c.ProvinceId == id && c.Accepted == 1)
                                           .ToListAsync();

            IList <ClinicDto> clinicDtos = new List <ClinicDto>();

            foreach (var obj in clinics)
            {
                var avg = 0.0;
                var sum = 0.0;
                foreach (var rate in obj.Opinions)
                {
                    sum = sum + rate.Rate;
                }

                if (sum != 0)
                {
                    avg = sum / obj.Opinions.Count;
                }

                var clinicDto = new ClinicDto()
                {
                    Average    = avg,
                    City       = obj.DictCity.Name,
                    ClinicName = obj.ClinicName,
                    PostCode   = obj.PostCode,
                    Street     = obj.Street
                };

                clinicDtos.Add(clinicDto);
            }

            return(clinicDtos);
        }
 public IHttpActionResult GetDoctorProfile(string UserID)
 {
     try
     {
         var       Doctor       = context.Doctor.FirstOrDefault(cs => cs.UserID == UserID);
         var       doctorclinic = context.doctorClinics.Where(dc => dc.DoctorID == Doctor.ID).ToList();
         DoctorDto cli          = new DoctorDto
         {
             HasClinic = Doctor.HasClinic
         };
         if (Doctor.HasClinic)
         {
             foreach (var item in doctorclinic)
             {
                 var Clinics = context.Clinics.FirstOrDefault(cs => cs.ID == item.ClinicID);
                 if (Clinics != null)
                 {
                     ClinicDto ccd = new ClinicDto();
                     ccd.ID        = Clinics.ID;
                     ccd.Name      = Clinics.Name;
                     ccd.Address   = Clinics.Address;
                     ccd.Phone     = Clinics.Phone;
                     ccd.StartDate = Clinics.StartDate;
                     ccd.EndDate   = Clinics.EndDate;
                     ccd.StartTime = Clinics.StartTime;
                     ccd.EndTime   = Clinics.EndTime;
                     cli.Clinics.Add(ccd);
                 }
             }
         }
         return(Ok(cli));
     }
     catch (Exception ex)
     {
         return(BadRequest(ex.ToString()));
     }
 }
        /// <summary>
        /// Metoda dodająca nową klinike do bazy danych
        /// </summary>
        /// <param name="clinic"></param>
        /// <returns></returns>
        public async Task <int> AddClinicAsync(ClinicDto clinicDto)
        {
            if (clinicDto == null)
            {
                throw new Exception("Obiekt clinic nie może być pusty.");
            }

            var cityId = 0;

            try
            {
                cityId = await _clinicRateDbContext.DictCities.Where(s => s.Name == clinicDto.City) // pobieranie danych z bazy danych odnosnie miasta
                         .Select(c => c.DictCityId)
                         .FirstAsync();

                if (cityId == 0)
                {
                    throw new Exception("Brak podanego miasta");
                }
            }
            catch (Exception)
            {
                DictCity newCity = new DictCity();
                newCity.Name = clinicDto.City;
                await _clinicRateDbContext.DictCities.AddAsync(newCity);

                await _clinicRateDbContext.SaveChangesAsync();

                cityId = newCity.DictCityId;
            }


            var provinceId = await _clinicRateDbContext.DictProvinces.Where(s => s.Name == clinicDto.Province) // pobieranie danych z bazy danych odnosnie wojewodztwa
                             .Select(p => p.DictProvinceId)
                             .FirstAsync();

            if (cityId <= 0 || provinceId <= 0)
            {
                throw new Exception("Nie znaleziono miasta, badz wojewodztwa o podanym stringu w bazie danych");
            }

            var clinic = new Clinic() // tworzenie nowego obiektu
            {
                ClinicId    = clinicDto.ClinicId,
                ClinicName  = clinicDto.ClinicName,
                Latitude    = clinicDto.Latitude,
                Longitude   = clinicDto.Longitude,
                PhoneNumber = clinicDto.PhoneNumber,
                PostCode    = clinicDto.PostCode,
                ProvinceId  = provinceId,
                Street      = clinicDto.Street,
                CityId      = cityId,
                Accepted    = clinicDto.Accepted
            };


            try
            {
                await _clinicRateDbContext.Clinics.AddAsync(clinic);

                await _clinicRateDbContext.SaveChangesAsync();
            }
            catch (Exception)
            {
                throw;
            }

            return(clinic.ClinicId);
        }