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()); } }
public async Task <IActionResult> GetClinics([FromQuery] ClinicDto request) { var clinics = await clinicLogic.GetClinics(request); if (!clinics.Any()) { return(NotFound()); } return(Ok(clinics)); }
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)); }
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")); }
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); }