public bool AddResident(Model.Resident entity)
        {
            var vallidtion = new ResidentValidation.ResidentEntityValidation().Validate(entity);

            if (!vallidtion.IsValid)
            {
                throw new ValidationException(vallidtion.Errors);
            }

            using (var db = new Model.PhysicManagementEntities())
            {
                db.Resident.Add(entity);
                return(db.SaveChanges() == 1);
            }
        }
        public static bool UpdateResident(Resident entity)
        {
            var validation = new ResidentValidation.ResidentEntityValidation().Validate(entity);

            if (validation.IsValid)
            {
                using (var db = new Model.PhysicManagementEntities())
                {
                    var currentUser = db.Resident.Find(entity.Id);
                    currentUser.FirstName = entity.FirstName;
                    currentUser.LastName  = entity.LastName;
                    currentUser.Mobile    = entity.Mobile;
                    currentUser.DoctorId  = entity.DoctorId;
                    currentUser.Password  = EncryptPassword(entity.Username, entity.Password);

                    return(db.SaveChanges() == 1);
                }
            }
            throw new ValidationException(validation.Errors);
        }
        public static bool Register(Resident entity)
        {
            Resident UserEntity = new Resident()
            {
                FirstName   = entity.FirstName,
                LastName    = entity.LastName,
                Mobile      = entity.Mobile,
                Password    = EncryptPassword(entity.Username, entity.Password),
                Username    = entity.Username,
                Code        = entity.Code,
                Gender      = entity.Gender,
                Description = entity.Description,
                DoctorId    = entity.DoctorId,

                IsActive = true
            };

            var validation = new ResidentValidation.ResidentEntityValidation().Validate(UserEntity);

            if (validation.IsValid)
            {
                using (var db = new Model.PhysicManagementEntities())
                {
                    if (IsUserValidByUserName(UserEntity.Username))
                    {
                        throw new ValidationException("این نام کاربری تکراری است");
                    }
                    else
                    {
                        db.Resident.Add(UserEntity);
                        return(db.SaveChanges() == 1);
                    }
                }
            }
            throw new ValidationException(validation.Errors);
        }