private Lib.Entities.ResponseForm loadRepeater() { using (Lib.Repositories.ResponseFormRepository repo = new Lib.Repositories.ResponseFormRepository(this.ActiveUser)) { Lib.Entities.ResponseForm form = repo.getInstanceById(long.Parse(hdnResponseId.Value)); litTracking.Text = form.TrackingNote.Replace("\r\n", "<br/>"); this.form = form; //Altera o indice para mostrar incremental, conforme solicitado em FDT-69 int count = 1; if (this.form.BaseForm.BaseBlocks != null) { this.form.BaseForm.BaseBlocks.ForEach(bb => { if (bb.BaseSubBlocks != null) { bb.BaseSubBlocks.ForEach(bsb => { if (bsb.BaseQuestions != null) { bsb.BaseQuestions.ForEach(bq => { bq.Index = count; count++; }); } }); } }); } //Informa os colaboradores e o responsável using (Lib.Repositories.UserRepository ctx = new Lib.Repositories.UserRepository(this.ActiveUser)) { if (this.form.CityId.HasValue && this.form.BaseForm != null) { phRespCollab.Visible = true; var responsable = ctx.getResponsable(this.form.CityId.Value, this.form.BaseForm.PeriodId); var collaborators = ctx.getCollaborators(this.form.CityId.Value, this.form.BaseForm.PeriodId); if (responsable != null) lblResponsable.Text = responsable.Name; if (collaborators != null && collaborators.Count > 0) lblCollaborator.Text = String.Join(",", collaborators.Select(c => c.Name).ToList()); } } rptBlocks.DataSource = this.form.BaseForm.BaseBlocks; rptBlocks.DataBind(); return form; } }
private long saveResponseForm(DataTableCollection tables) { Lib.Entities.ResponseForm form = new Lib.Entities.ResponseForm(); form.Answers = new List<Lib.Entities.Answer>(); form.UserId = int.Parse(ddlEntidades.SelectedValue); form.CityId = int.Parse(hdnCityId.Value); Lib.Entities.Answer resposta = null; foreach (DataTable table in tables) { foreach (DataRow row in table.Rows) { resposta = new Lib.Entities.Answer(); resposta.BaseQuestionId = long.Parse(row.ItemArray[5].ToString()); resposta.Observation = row.ItemArray[3].ToString(); decimal score = 0; if (decimal.TryParse(row.ItemArray[2].ToString(), NumberStyles.Any, new System.Globalization.CultureInfo("en-US"), out score)) { resposta.Score = score; } form.BaseFormId = long.Parse(row.ItemArray[6].ToString()); form.Answers.Add(resposta); resposta = null; } } using (Lib.Repositories.ResponseFormRepository rep = new Lib.Repositories.ResponseFormRepository(this.ActiveUser)) { rep.save(form); } return form.Id; }