private bool validateAddress(AddressEty address) { if (address.CountyId == 0) { throw new AppValidationException("Informe um estado(UF) valido"); } if (address.CityId == 0) { throw new AppValidationException("Informe uma cidade valida"); } if (address.DistrictId == 0) { throw new AppValidationException("Informe um bairro valido"); } if (String.IsNullOrEmpty(address.Number)) { throw new AppValidationException("Informe um número da residência"); } if (String.IsNullOrEmpty(address.Street)) { throw new AppValidationException("Informe o logradouro da residência"); } return(true); }
public Company Update(Company model) { var dbCompany = _context.Companies.Include(x => x.Address).Where(x => x.Id == _info.CompanyId).SingleOrDefault(); if (dbCompany == null) { throw new AppValidationException("Empresa não encontrada"); } if (!_unitWork.HasTransaction()) { throw new Exception("A transaction must be started"); } if (model.Address != null) { AddressEty dbAddress; if (dbCompany.Address != null) { dbAddress = dbCompany.Address; } else { dbAddress = new AddressEty(); } if (model.Address.CountyId == 0) { throw new AppValidationException("Informe um estado(UF) valido"); } if (model.Address.CityId == 0) { throw new AppValidationException("Informe uma cidade valida"); } if (model.Address.DistrictId == 0) { throw new AppValidationException("Informe um bairro valido"); } if (String.IsNullOrEmpty(model.Address.Number)) { throw new AppValidationException("Informe um número da residência"); } if (String.IsNullOrEmpty(model.Address.Street)) { throw new AppValidationException("Informe o logradouro da residência"); } _unitWork.Mapper.Map(model.Address, dbAddress); if (dbCompany.AddressId == null) { _context.Address.Add(dbAddress); _context.SaveChanges(); dbCompany.AddressId = dbAddress.Id; } else { dbAddress.Id = dbCompany.AddressId.Value; } } dbCompany.Name = model.Name; dbCompany.CpfCnpj = model.CpfCnpj; dbCompany.Phone = model.Phone; dbCompany.Email = model.Email; _context.SaveChanges(); return(_unitWork.Mapper.Map <Company>(dbCompany)); }