public ProcessResult Delete(int id) { ProcessResult result = new ProcessResult(); RendezvousManager rendezvousManager = new RendezvousManager(); Rendezvous rendezvous = rendezvousManager.Select(id); ExaminationManager examinationManager = new ExaminationManager(); foreach (Examination examination in examinationManager.Examinations(rendezvous.Date, rendezvous.DoctorId, null).Where(e => e.RendezvousId == id).ToList()) { examinationManager.Delete(examination.Id); } switch (_rendezvousDal.Delete(id)) { case DAL.Extensions.DataBaseResult.Success: result.Errors.Add("Randevu silindi"); result.Result = Extensions.BLLResult.Success; break; case DAL.Extensions.DataBaseResult.Referanced: result.Errors.Add("Silinmeye çalışılan randevu muayene olduğundan randevu silinemedi."); result.Result = Extensions.BLLResult.Referanced; break; case DAL.Extensions.DataBaseResult.NotFound: result.Errors.Add("Randevu bulunamadı"); result.Result = Extensions.BLLResult.NotFound; break; case DAL.Extensions.DataBaseResult.Error: result.Errors.Add("Randevu silinirken bir hata ile karşılaşıldı"); result.Result = Extensions.BLLResult.Error; break; case DAL.Extensions.DataBaseResult.ServerDisable: result.Result = Extensions.BLLResult.ServerDisable; result.Errors.Add(Extensions.ServerDisable); break; case DAL.Extensions.DataBaseResult.AlreadyFound: break; default: throw new ArgumentOutOfRangeException(); } return(result); }
public ProcessResult Insert(Prescription newPrescription) { ExaminationManager manager = new ExaminationManager(); ProcessResult result = VerifyPrescription(newPrescription); if (result.Result == Extensions.BLLResult.NotVerified) { return(result); } Examination examination = manager.Select(newPrescription.Examination.Id); examination.DiagnosisId = newPrescription.Examination.DiagnosisId; examination.IsActive = false; examination.DoctorNote = newPrescription.Examination.DoctorNote; examination.CanSendMessage = newPrescription.Examination.CanSendMessage; examination.NextTime = newPrescription.Examination.NextTime; newPrescription.Examination = null; if (_prescriptionDal.Insert(newPrescription)) { bool update = manager.Update(examination); if (update) { result.Result = Extensions.BLLResult.Success; result.Errors.Add("Reçete başarı ile oluşturuldu ve muayene kapandı"); } else { result.Result = Extensions.BLLResult.Error; result.Errors.Add("Reçete oluşturulamadı"); } } else { result.Result = Extensions.BLLResult.Error; result.Errors.Add("Reçete oluşturulamadı"); } return(result); }
public ProcessResult Insert(Rendezvous newRendezvous, bool toExamination) { newRendezvous.IsActive = !toExamination; newRendezvous.Date = toExamination ? DateTime.Today : newRendezvous.Date; ProcessResult result = Verifyrendezvous(newRendezvous); if (result.Result != Extensions.BLLResult.Verified) { return(result); } result = IsHoliday(newRendezvous.Date); if (result.Result != Extensions.BLLResult.Success) { return(result); } result = IsExistOtherRendezvous(newRendezvous); if (result.Result == Extensions.BLLResult.AlreadyFound) { return(result); } DAL.Extensions.DataBaseResult baseResult = _rendezvousDal.Insert(ref newRendezvous); switch (baseResult) { case DAL.Extensions.DataBaseResult.Error: result.Errors.Add(Extensions.InnerException); result.Result = Extensions.BLLResult.InnerException; break; case DAL.Extensions.DataBaseResult.ServerDisable: result.Result = Extensions.BLLResult.ServerDisable; result.Errors.Add(Extensions.ServerDisable); break; case DAL.Extensions.DataBaseResult.Success: break; case DAL.Extensions.DataBaseResult.AlreadyFound: break; case DAL.Extensions.DataBaseResult.Referanced: break; case DAL.Extensions.DataBaseResult.NotFound: break; default: throw new ArgumentOutOfRangeException(); } if (toExamination) { DiagnosisManager diagnosisManager = new DiagnosisManager(); Diagnosis diagnosis = diagnosisManager.GetDefaultDiagnosis(); ExaminationManager manager = new ExaminationManager(); manager.Insert(new Examination { CanSendMessage = false, PatientId = newRendezvous.PatientId, DoctorId = newRendezvous.DoctorId, Time = newRendezvous.Date, RendezvousId = newRendezvous.Id, IsActive = true, DiagnosisId = diagnosis.Id }); } result.Errors.Add(Extensions.SuccessProcess); result.Errors.Add(String.Format("Kayıt numarası: {0}", newRendezvous.Id)); result.Result = Extensions.BLLResult.Success; return(result); }