public ValidationFailure ReferencesValidate(BranchDealer branchDealer, ValidationContext <BranchDealer> context) { var branch = _branchRepository.FindBy(branchDealer.BranchId); if (branch.IsNull() || branch.Status.Equals(GlobalConstants.StatusDeactivated)) { return(new ValidationFailure("BranchDealer", "La sucursal esta desactivada o no existe")); } var dealer = _dealerRepository.FindBy(branchDealer.DealerId); if (dealer.IsNull() || dealer.Status.Equals(GlobalConstants.StatusDeactivated)) { return(new ValidationFailure("BranchDealer", "El distribuidor esta desactivado o no existe")); } var branchDealerRetrieved = _branchDealerRepository.FindBy(braDea => braDea.BranchId == branchDealer.BranchId && braDea.DealerId == branchDealer.DealerId); if (branchDealerRetrieved.IsNotEmpty()) { return(new ValidationFailure("BranchDealer", "Ya existe la relacion")); } return(null); }
public SuccessResponse RemoveDealer(RelationRequest request) { try { var branchDealer = _branchDealerRepository.FindBy(branchDealerRe => branchDealerRe.BranchId == request.FirstReference && branchDealerRe.DealerId == request.SecondReference).FirstOrDefault(); branchDealer.ThrowExceptionIfRecordIsNull(); _branchDealerRepository.Remove(branchDealer); return(new SuccessResponse { IsSuccess = true }); } catch (DataAccessException) { throw new ApplicationException(); } }