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;
        }