public ProcessResult Update(Doctor newInfoDoctor)
        {
            ProcessResult result = VerifeyModel(newInfoDoctor, true);

            if (result.Result != Interfaces.Extensions.BLLResult.Verified)
            {
                return(result);
            }

            Extensions.DataBaseResult insert = _doctorDal.Update(newInfoDoctor);

            switch (insert)
            {
            //case DAL.Extensions.DataBaseResult.AlreadyFound:
            //    result.Result = Extensions.BLLResult.AlreadyFound;
            //    result.Errors.Add(Extensions.AlreadyFoundString(newInfoDoctor.Name));
            //    break;
            case Extensions.DataBaseResult.Error:
                result.Result = Interfaces.Extensions.BLLResult.InnerException;
                result.Errors.Add(Interfaces.Extensions.InnerException);
                break;

            case Extensions.DataBaseResult.Success:
                result.Result = Interfaces.Extensions.BLLResult.Success;
                result.Errors.Add(Interfaces.Extensions.SuccessProcess);
                break;

            case Extensions.DataBaseResult.ServerDisable:
                result.Result = Interfaces.Extensions.BLLResult.ServerDisable;
                result.Errors.Add(Interfaces.Extensions.ServerDisable);
                break;

            case Extensions.DataBaseResult.AlreadyFound:
                break;

            case Extensions.DataBaseResult.Referanced:
                break;

            case Extensions.DataBaseResult.NotFound:
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }

            return(result);
        }
        public ProcessResult Insert(Doctor newDoctor)
        {
            ProcessResult result = VerifeyModel(newDoctor, false);

            if (result.Result != Interfaces.Extensions.BLLResult.Verified)
            {
                return(result);
            }

            newDoctor.Password = Char.ToLower(newDoctor.MotherName[0]) + newDoctor.TcNo.Substring(8) + Char.ToLower(newDoctor.FatherName[0]) + newDoctor.BirthDay.Day;

            Extensions.DataBaseResult insert = _doctorDal.Insert(newDoctor);

            switch (insert)
            {
            case Extensions.DataBaseResult.AlreadyFound:
                result.Result = Interfaces.Extensions.BLLResult.AlreadyFound;
                result.Errors.Add(Interfaces.Extensions.AlreadyFoundString(newDoctor.Name + newDoctor.Surname));
                break;

            case Extensions.DataBaseResult.Error:
                result.Result = Interfaces.Extensions.BLLResult.InnerException;
                result.Errors.Add(Interfaces.Extensions.InnerException);
                break;

            case Extensions.DataBaseResult.Success:
                result.Result = Interfaces.Extensions.BLLResult.Success;
                result.Errors.Add(Interfaces.Extensions.SuccessProcess);
                break;

            case Extensions.DataBaseResult.ServerDisable:
                result.Result = Interfaces.Extensions.BLLResult.ServerDisable;
                result.Errors.Add(Interfaces.Extensions.ServerDisable);
                break;

            case Extensions.DataBaseResult.Referanced:
                break;

            case Extensions.DataBaseResult.NotFound:
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }

            return(result);
        }
        public ProcessResult Delete(int id)
        {
            ProcessResult result = new ProcessResult();

            Extensions.DataBaseResult delete = _doctorDal.Delete(id);
            switch (delete)
            {
            case Extensions.DataBaseResult.Success:
                result.Result = Interfaces.Extensions.BLLResult.Success;
                result.Errors.Add(Interfaces.Extensions.SuccessProcess);
                break;

            case Extensions.DataBaseResult.Referanced:
                result.Result = Interfaces.Extensions.BLLResult.Referanced;
                result.Errors.Add("Doktor başka tablolar üzerinde refere edildiğinden silinemedi");
                break;

            case Extensions.DataBaseResult.NotFound:
                result.Result = Interfaces.Extensions.BLLResult.NotFound;
                result.Errors.Add(Interfaces.Extensions.NotFound);
                break;

            case Extensions.DataBaseResult.Error:
                result.Result = Interfaces.Extensions.BLLResult.InnerException;
                result.Errors.Add(Interfaces.Extensions.InnerException);
                break;

            case Extensions.DataBaseResult.ServerDisable:
                result.Result = Interfaces.Extensions.BLLResult.ServerDisable;
                result.Errors.Add(Interfaces.Extensions.ServerDisable);
                break;

            case Extensions.DataBaseResult.AlreadyFound:
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }

            return(result);
        }