/// <summary>
        /// Updates the referral disposition.
        /// </summary>
        /// <param name="referral">The referral disposition.</param>
        /// <returns></returns>

        public Response <ReferralDispositionViewModel> UpdateReferralDisposition(ReferralDispositionViewModel referral)
        {
            const string apiUrl   = baseRoute + "UpdateReferralDisposition";
            var          response = communicationManager.Put <ReferralDispositionModel, Response <ReferralDispositionModel> >(referral.ToModel(), apiUrl);

            return(response.ToViewModel());
        }
        public void AddReferralDispositionDetail_Success()
        {
            // Arrange
            var referralDispositionDetail = new ReferralDispositionViewModel
            {
                ReferralHeaderID             = 2,
                ReferralDispositionID        = 2,
                ReferralDispositionOutcomeID = 1,
                UserID          = 1,
                DispositionDate = DateTime.UtcNow,
                AdditionalNotes = "Additional Note Test",
                ReasonforDenial = "Reason for denial Test",
                ForceRollback   = true
            };

            // Act
            var response = controller.AddReferralDispositionDetail(referralDispositionDetail);

            // Assert
            Assert.IsTrue(response != null, "Response can't be null");
            Assert.IsTrue(response.RowAffected > 2, "referral disposition detail could not be created.");
        }
        public void AddReferralDispositionDetail_Failed()
        {
            // Arrange
            var referralDispositionDetail = new ReferralDispositionViewModel
            {
                ReferralHeaderID             = -1,
                ReferralDispositionID        = 2,
                ReferralDispositionOutcomeID = 1,
                UserID          = 1,
                DispositionDate = DateTime.UtcNow,
                AdditionalNotes = "Additional Note Testing",
                ReasonforDenial = "Reason for denial Testing",
                ForceRollback   = true
            };

            // Act
            var response = controller.AddReferralDispositionDetail(referralDispositionDetail);

            // Assert
            Assert.IsTrue(response != null, "Response can't be null");
            Assert.IsTrue(response.RowAffected <= 2, "Invalid referral disposition Detail has been added.");
        }
        /// <summary>
        /// To the model.
        /// </summary>
        /// <param name="model">The model.</param>
        /// <returns></returns>
        public static ReferralDispositionModel ToModel(this ReferralDispositionViewModel model)
        {
            if (model == null)
            {
                return(null);
            }

            var entity = new ReferralDispositionModel
            {
                ReferralDispositionDetailID  = model.ReferralDispositionDetailID,
                ReferralHeaderID             = model.ReferralHeaderID,
                ReferralDispositionID        = model.ReferralDispositionID,
                ReasonforDenial              = model.ReasonforDenial,
                ReferralDispositionOutcomeID = model.ReferralDispositionOutcomeID,
                AdditionalNotes              = model.AdditionalNotes,
                UserID          = model.UserID,
                DispositionDate = model.DispositionDate,
                ModifiedOn      = model.ModifiedOn
            };

            return(entity);
        }
        /// <summary>
        /// To the view model.
        /// </summary>
        /// <param name="entity">The entity.</param>
        /// <returns></returns>
        public static ReferralDispositionViewModel ToViewModel(this ReferralDispositionModel entity)
        {
            if (entity == null)
            {
                return(null);
            }

            var model = new ReferralDispositionViewModel
            {
                ReferralDispositionDetailID  = entity.ReferralDispositionDetailID,
                ReferralHeaderID             = entity.ReferralHeaderID,
                ReferralDispositionID        = entity.ReferralDispositionID,
                ReasonforDenial              = entity.ReasonforDenial,
                ReferralDispositionOutcomeID = entity.ReferralDispositionOutcomeID,
                AdditionalNotes              = entity.AdditionalNotes,
                UserID          = entity.UserID,
                DispositionDate = entity.DispositionDate,
                ModifiedOn      = entity.ModifiedOn
            };

            return(model);
        }
 public Response <ReferralDispositionViewModel> UpdateReferralDisposition(ReferralDispositionViewModel referral)
 {
     return(referralDispositionRepository.UpdateReferralDisposition(referral));
 }
 public Response <ReferralDispositionViewModel> AddReferralDispositionDetail(ReferralDispositionViewModel referral)
 {
     return(referralDispositionRepository.AddReferralDisposition(referral));
 }