/// <summary> /// Remove Partner. /// </summary> /// <param name="request">The Partner Request Pivot to remove.</param> public void DeletePartner(PartnerRequestPivot request) { if (request == null) { throw new ArgumentNullException(nameof(request)); } Partner partner = _unitOfWork.PartnerRepository.GetById(request.PartnerPivot.PartnerId); _unitOfWork.PartnerRepository.Delete(partner); _unitOfWork.Save(); UpdatePartnersPositions(); }
/// <summary> /// Create new Partner. /// </summary> /// <param name="request">The Partner Request Pivot to add.</param> /// <returns>Partner Response Pivot created.</returns> public PartnerResponsePivot CreatePartner(PartnerRequestPivot request) { if (request == null) { throw new ArgumentNullException(nameof(request)); } Partner partner = request.PartnerPivot.ToEntity(); List <Partner> partnersList = _unitOfWork.PartnerRepository.Get().ToList(); partner.PartnerPosition = partnersList.Count + 1; _unitOfWork.PartnerRepository.Insert(partner); _unitOfWork.Save(); return(new PartnerResponsePivot() { PartnerPivot = partner.ToPivot() }); }
/// <summary> /// Change Partner values. /// </summary> /// <param name="request">The Partner Request Pivot to change.</param> public void UpdatePartner(PartnerRequestPivot request) { if (request == null) { throw new ArgumentNullException(nameof(request)); } Partner partner = _unitOfWork.PartnerRepository.GetById(request.PartnerPivot.PartnerId); if (request.PartnerPivot.PartnerImage != null) { partner.PartnerImage = request.PartnerPivot.PartnerImage; } partner.PartnerLink = request.PartnerPivot.PartnerLink; partner.PartnerName = request.PartnerPivot.PartnerName; partner.PartnerPosition = request.PartnerPivot.PartnerPosition; _unitOfWork.Save(); UpdatePartnersPositions(partner.PartnerId); }
/// <summary> /// Search Partner by id. /// </summary> /// <param name="request">The Partner Request Pivot to retrive.</param> /// <returns>Partner Response Pivot response.</returns> public PartnerResponsePivot FindPartners(PartnerRequestPivot request) { if (request == null) { throw new ArgumentNullException(nameof(request)); } List <PartnerPivot> results = new List <PartnerPivot>(); PartnerPivot result = new PartnerPivot(); switch (request.FindPartnerPivot) { case FindPartnerPivot.PartnerId: result = _unitOfWork.PartnerRepository.GetById(request.PartnerPivot.PartnerId)?.ToPivot(); break; } return(new PartnerResponsePivot() { PartnerPivotList = results, PartnerPivot = result }); }