/// <summary> /// The get appointment form. /// </summary> /// <param name="frm"> /// The frm. /// </param> /// <param name="status"> /// The status. /// </param> /// <returns> /// The <see cref="IAppointmentForm"/>. /// </returns> private IAppointmentForm GetAppointmentForm(FormCollection frm, ApptFormStatusType status, IAdminUnitOfWork adminUow) { var apptFormId = Convert.ToInt32(frm["AppointmentFormId"]); var apptForm = new AppointmentForm { FormId = Convert.ToInt32(frm["FormId"]), AppointmentId = Convert.ToInt32(frm["AppointmentId"]), CreatedBy = User.Identity.Name, CreatedOn = DateTime.UtcNow, IsActive = true }; if (apptFormId > 0) { //var adminUow = DependencyResolver.Current.GetService<IAdminUnitOfWork>(); apptForm = adminUow.AppointmentRepository.GetAppointmentForm(apptFormId) as AppointmentForm; } if (apptForm != null) { apptForm.Notes = frm["Notes"]; apptForm.Status = (int)EntityStatusType.Current; apptForm.FormStatusTypeId = (int)status; apptForm.UpdatedBy = this.User.Identity.Name; apptForm.UpdatedOn = DateTime.UtcNow; } return(apptForm); }
/// <summary> /// The create appointment form. /// </summary> /// <param name="frm"> /// The frm. /// </param> /// <param name="status"> /// The status. /// </param> /// <returns> /// The <see cref="IAppointmentForm"/>. /// </returns> private IAppointmentForm CreateAppointmentForm(FormCollection frm, ApptFormStatusType status) { IAppointmentForm apptForm = null; using (var adminUow = DependencyResolver.Current.GetService <IAdminUnitOfWork>()) { apptForm = GetAppointmentForm(frm, status, adminUow); // TODO: Not sure but will clear all answers for now.. apptForm.FormAnswers.Clear(); var qKeys = frm.AllKeys.Where(k => k.StartsWith("q_")); foreach (var k in qKeys) { var qId = Convert.ToInt32(k.Split(new[] { "q_" }, StringSplitOptions.RemoveEmptyEntries)[0]); var answer = frm[k]; var question = adminUow.FormRepository.GetQuestion(qId); if (question.CssType.CssClassName.Equals("checkbox")) { var chOptions = answer.Split(new[] { ',' }); foreach (var ch in chOptions) { var frmAnswer = GetFormAnswerAnswerId(ch, question.CssType.CssClassName); frmAnswer.QuestionId = qId; apptForm.FormAnswers.Add(frmAnswer); } } else { var frmAnswer = GetFormAnswerAnswerId(answer, question.CssType.CssClassName); frmAnswer.QuestionId = qId; apptForm.FormAnswers.Add(frmAnswer); } } adminUow.Commit(); } return(apptForm); }