internal CriaFuncionario(string nome, string nif, TipoFuncionario tipoFuncionario, IEnumerable <Contacto> contactos, int versao) { Contract.Requires(!string.IsNullOrEmpty(nome), Msg.String_nao_pode_ser_nula); Contract.Requires(!string.IsNullOrEmpty(nif), Msg.String_nao_pode_ser_nula); Contract.Requires(tipoFuncionario != null, Msg.Tipo_funcionario_tem_de_ser_definido); Contract.Requires(versao >= 0, Msg.Numero_superior_0); Contract.Ensures(!string.IsNullOrEmpty(_nome), Msg.String_nao_pode_ser_nula); Contract.Ensures(!string.IsNullOrEmpty(_nif), Msg.String_nao_pode_ser_nula); Contract.Ensures(_tipoFuncionario != null, Msg.Tipo_funcionario_tem_de_ser_definido); Contract.Ensures(_versao >= 0, Msg.Numero_superior_0); if (!VerificadorNif.NifValido(nif)) { throw new InvalidOperationException(Msg.Nif_invalido); } _nome = nome; _nif = nif; _tipoFuncionario = tipoFuncionario; _contactos = contactos; _versao = versao; }
public ModificaDadosGeraisFuncionario(int id, int version, string nome, string nif, TipoFuncionario tipoFuncionario) { Contract.Requires(id > 0); Contract.Requires(version > 0); Contract.Requires(!string.IsNullOrEmpty(nome)); Contract.Requires(!string.IsNullOrEmpty(nif)); Contract.Requires(tipoFuncionario != null); Contract.Ensures(_id > 0); Contract.Ensures(_version > 0); Contract.Ensures(!string.IsNullOrEmpty(_nome)); Contract.Ensures(!string.IsNullOrEmpty(_nif)); Contract.Ensures(_tipoFuncionario != null); if (!VerificadorNif.NifValido(nif)) { throw new InvalidOperationException(Msg.Nif_invalido); } _id = id; _version = version; _nome = nome; _nif = nif; _tipoFuncionario = tipoFuncionario; }