private List <SqlParameter> BuildSpParams(NoteHeaderModel noteHeader)
        {
            var spParameters = new List <SqlParameter>();

            if (noteHeader.ProgressNote.ProgressNoteID > 0) // Only in case of Update
            {
                spParameters.Add(new SqlParameter("ProgressNoteID", noteHeader.ProgressNote.ProgressNoteID));
            }

            spParameters.AddRange(new List <SqlParameter> {
                new SqlParameter("NoteHeaderID", (object)noteHeader.ProgressNote.NoteHeaderID ?? DBNull.Value),
                new SqlParameter("StartTime", (object)noteHeader.ProgressNote.StartTime ?? DBNull.Value),
                new SqlParameter("EndTime", (object)noteHeader.ProgressNote.EndTime ?? DBNull.Value),
                new SqlParameter("ContactMethodID", (object)noteHeader.ProgressNote.ContactMethodID ?? DBNull.Value),
                new SqlParameter("ContactMethodOther", (object)noteHeader.ProgressNote.ContactMethodOther ?? DBNull.Value),
                new SqlParameter("FirstName", (object)noteHeader.ProgressNote.FirstName ?? DBNull.Value),
                new SqlParameter("LastName", (object)noteHeader.ProgressNote.LastName ?? DBNull.Value),
                new SqlParameter("RelationshipTypeID", (object)noteHeader.ProgressNote.RelationshipTypeID ?? DBNull.Value),
                new SqlParameter("Summary", (object)noteHeader.ProgressNote.Summary ?? DBNull.Value),
                new SqlParameter("ReviewedSourceConcerns", (object)noteHeader.ProgressNote.ReviewedSourceConcerns ?? DBNull.Value),
                new SqlParameter("ReviewedECIProcess", (object)noteHeader.ProgressNote.ReviewedECIProcess ?? DBNull.Value),
                new SqlParameter("ReviewedECIServices", (object)noteHeader.ProgressNote.ReviewedECIServices ?? DBNull.Value),
                new SqlParameter("ReviewedECIRequirements", (object)noteHeader.ProgressNote.ReviewedECIRequirements ?? DBNull.Value),
                new SqlParameter("IsSurrogateParentNeeded", (object)noteHeader.ProgressNote.IsSurrogateParentNeeded ?? DBNull.Value),
                new SqlParameter("Comments", (object)noteHeader.ProgressNote.Comments ?? DBNull.Value),
                new SqlParameter("IsDischarged", (object)noteHeader.ProgressNote.IsDischarged ?? DBNull.Value),
                new SqlParameter("ModifiedOn", noteHeader.ModifiedOn ?? DateTime.Now)
            });

            return(spParameters);
        }
        /// <summary>
        /// Updates the note header.
        /// </summary>
        /// <param name="noteHeader"></param>
        /// <returns></returns>
        public Response <NoteHeaderModel> UpdateNoteHeader(NoteHeaderModel noteHeader)
        {
            var noteRepository = _unitOfWork.GetRepository <NoteHeaderModel>(SchemaName.Registration);
            var procParams     = BuildSpParams(noteHeader);

            return(_unitOfWork.EnsureInTransaction(noteRepository.ExecuteNQStoredProc, "usp_UpdateNoteHeader", procParams,
                                                   forceRollback: noteHeader.ForceRollback.GetValueOrDefault(false)));
        }
        private List <SqlParameter> BuildSpParams(NoteHeaderModel noteHeader)
        {
            var spParameters = new List <SqlParameter>();

            if (noteHeader.NoteHeaderID > 0) // Only in case of Update
            {
                spParameters.Add(new SqlParameter("NoteHeaderID", noteHeader.NoteHeaderID));
            }

            spParameters.AddRange(new List <SqlParameter> {
                new SqlParameter("ContactID ", (object)noteHeader.ContactID ?? DBNull.Value),
                new SqlParameter("NoteTypeID", (object)noteHeader.NoteTypeID ?? DBNull.Value),
                new SqlParameter("TakenBy", (object)noteHeader.TakenBy ?? DBNull.Value),
                new SqlParameter("TakenTime", (object)noteHeader.TakenTime ?? DBNull.Value),
                new SqlParameter("ModifiedOn", noteHeader.ModifiedOn ?? DateTime.Now)
            });
            return(spParameters);
        }
Example #4
0
        /// <summary>
        /// To the view model.
        /// </summary>
        /// <param name="entity">The entity.</param>
        /// <returns></returns>
        public static NoteHeaderViewModel ToViewModel(this NoteHeaderModel entity)
        {
            if (entity == null)
            {
                return(null);
            }
            var model = new NoteHeaderViewModel
            {
                NoteHeaderID           = entity.NoteHeaderID,
                ContactID              = entity.ContactID,
                NoteTypeID             = entity.NoteTypeID,
                TakenTime              = entity.TakenTime,
                TakenBy                = entity.TakenBy,
                Discharge              = entity.Discharge.ToViewModel(),
                ProgressNote           = entity.ProgressNote.ToViewModel(),
                ProgressNoteAssessment = entity.ProgressNoteAssessment.ToViewModel(),
                ModifiedOn             = entity.ModifiedOn
            };

            return(model);
        }
Example #5
0
        /// <summary>
        /// To the model.
        /// </summary>
        /// <param name="model">The model.</param>
        /// <returns></returns>
        public static NoteHeaderModel ToModel(this NoteHeaderViewModel model)
        {
            if (model == null)
            {
                return(null);
            }

            var entity = new NoteHeaderModel
            {
                NoteHeaderID           = model.NoteHeaderID,
                ContactID              = model.ContactID,
                NoteTypeID             = model.NoteTypeID,
                TakenTime              = model.TakenTime,
                TakenBy                = model.TakenBy,
                Discharge              = model.Discharge.ToModel(),
                ProgressNote           = model.ProgressNote.ToModel(),
                ProgressNoteAssessment = model.ProgressNoteAssessment.ToModel(),
                ModifiedOn             = model.ModifiedOn
            };

            return(entity);
        }
        /// <summary>
        /// Updates the progress note.
        /// </summary>
        /// <param name="progressNote">The progress note.</param>
        /// <returns></returns>
        public Response <NoteHeaderModel> UpdateProgressNote(NoteHeaderModel noteHeader)
        {
            var response = new Response <NoteHeaderModel>()
            {
                ResultCode = -1, ResultMessage = "Error while Updating Note details."
            };

            using (var transactionScope = _unitOfWork.BeginTransactionScope())
            {
                try
                {
                    //Update NoteHeader data
                    var noteResp = _noteHeaderDataProvider.UpdateNoteHeader(noteHeader);
                    response.ResultCode    = noteResp.ResultCode;
                    response.ResultMessage = noteResp.ResultMessage;
                    if (noteResp.ResultCode != 0)
                    {
                        return(response);
                    }

                    //Update ProgressNote data
                    var noteRepository = _unitOfWork.GetRepository <NoteHeaderModel>(SchemaName.ECI);
                    var procParams     = BuildSpParams(noteHeader);
                    var resp           = noteRepository.ExecuteNQStoredProc("usp_UpdateProgressNote", procParams);
                    response.ResultCode    = resp.ResultCode;
                    response.ResultMessage = resp.ResultMessage;
                    if (resp.ResultCode != 0)
                    {
                        return(response);
                    }

                    //Update ProgressNoteAssessment details only if note type id = 2
                    if (noteHeader.NoteTypeID == 2)
                    {
                        var noteAssessmentResp = noteHeader.ProgressNoteAssessment.ScheduleNoteAssessmentID > 0 ? _progressNoteAssessmentDataProvider.UpdateNoteAssessment(noteHeader.ProgressNoteAssessment) :
                                                 _progressNoteAssessmentDataProvider.AddNoteAssessment(noteHeader.ProgressNoteAssessment);
                        response.ResultCode    = noteAssessmentResp.ResultCode;
                        response.ResultMessage = noteAssessmentResp.ResultMessage;
                        if (noteResp.ResultCode != 0)
                        {
                            return(response);
                        }
                        else
                        {
                            //Assigns generated NoteHeaderID to model to save in ProgressNote
                            noteHeader.ProgressNote.NoteHeaderID = noteResp.ID;
                        }
                    }

                    //Save/Update Discharge details only if Discharge selected
                    if (noteHeader.ProgressNote.IsDischarged)
                    {
                        noteHeader.Discharge.ProgressNoteID = noteHeader.ProgressNote.ProgressNoteID;
                        var dischargeResp = noteHeader.Discharge.DischargeID > 0 ? _dischargeDataProvider.UpdateDischage(noteHeader.Discharge) :
                                            _dischargeDataProvider.AddDischage(noteHeader.Discharge);
                        response.ResultCode    = dischargeResp.ResultCode;
                        response.ResultMessage = dischargeResp.ResultMessage;
                        if (dischargeResp.ResultCode != 0)
                        {
                            return(response);
                        }
                    }
                    if (!noteHeader.ForceRollback.GetValueOrDefault(false))
                    {
                        _unitOfWork.TransactionScopeComplete(transactionScope);
                    }
                }
                catch (Exception ex)
                {
                    _logger.Error(ex);
                    response.ResultCode    = -1;
                    response.ResultMessage = "Error while Updating Note details.";
                }
                return(response);
            }
        }
Example #7
0
 /// <summary>
 /// Updates the progress note.
 /// </summary>
 /// <param name="noteHeader">The note header.</param>
 /// <returns></returns>
 public Response <NoteHeaderModel> UpdateProgressNote(NoteHeaderModel noteHeader)
 {
     return(_progressNoteService.UpdateProgressNote(noteHeader));
 }
        /// <summary>
        /// Updates the progress note.
        /// </summary>
        /// <param name="noteHeader">The note header.</param>
        /// <returns></returns>
        public Response <NoteHeaderModel> UpdateProgressNote(NoteHeaderModel noteHeader)
        {
            const string apiUrl = baseRoute + "UpdateProgressNote";

            return(_communicationManager.Put <NoteHeaderModel, Response <NoteHeaderModel> >(noteHeader, apiUrl));
        }
Example #9
0
 public IHttpActionResult UpdateProgressNote(NoteHeaderModel noteHeader)
 {
     return(new HttpResult <Response <NoteHeaderModel> >(_progressNoteDataProvider.UpdateProgressNote(noteHeader), Request));
 }
Example #10
0
 public IHttpActionResult AddProgressNote(NoteHeaderModel noteHeader)
 {
     return(new HttpResult <Response <NoteHeaderModel> >(_progressNoteRuleEngine.AddProgressNote(noteHeader), Request));
 }