protected void Page_Init(object sender, EventArgs e)
    {
        ctx = new AriClinicContext("AriClinicContext");
        // security control, it must be a user logged
        if (Session["User"] == null)
        {
            Response.Redirect("Default.aspx");
        }
        else
        {
            user = (User)Session["User"];
            user = CntAriCli.GetUser(user.UserId, ctx);
            Process proc = (from p in ctx.Processes
                            where p.Code == "examinationassigned"
                            select p).FirstOrDefault <Process>();
            per = CntAriCli.GetPermission(user.UserGroup, proc, ctx);
            btnAccept.Visible = per.Modify;
        }

        //
        if (Request.QueryString["CycloplegiaId"] != null)
        {
            id            = Int32.Parse(Request.QueryString["CycloplegiaId"]);
            Cycloplegia   = CntAriCli.GetCycloplegia(id, ctx);
            refractometry = Cycloplegia.Refractometry;
            LoadData(Cycloplegia);
        }
        if (Request.QueryString["RefractometryId"] != null)
        {
            id            = int.Parse(Request.QueryString["RefractometryId"]);
            refractometry = (Refractometry)CntAriCli.GetExaminationAssigned(id, ctx);
        }
    }
    protected void LoadData(Refractometry rf)
    {
        // Load patient data
        rdcPatient.Items.Clear();
        rdcPatient.Items.Add(new RadComboBoxItem(rf.Patient.FullName, rf.Patient.PersonId.ToString()));
        rdcPatient.SelectedValue = rf.Patient.PersonId.ToString();

        // Load Examination data
        rdcExamination.Items.Clear();
        rdcExamination.Items.Add(new RadComboBoxItem(rf.Examination.Name, rf.Examination.ExaminationId.ToString()));
        rdcExamination.SelectedValue = rf.Examination.ExaminationId.ToString();

        // Now we must load tabstrip
        frame = (HtmlControl)this.FindControl("FrmArea");
        if (refractometry.WithoutGlassesTests.Count() == 0)
        {
            frame.Attributes["src"] = String.Format("WithoutGlassesForm.aspx?RefractometryId={0}", refractometry.ExaminationAssignedId);
        }
        else
        {
            frame.Attributes["src"] = String.Format("WithoutGlassesForm.aspx?RefractometryId={0}&WithoutGlassesId={1}",
                                                    refractometry.ExaminationAssignedId, refractometry.WithoutGlassesTests[0].Id);
        }

        rdpExaminationDate.SelectedDate = rf.ExaminationDate;
        txtComments.Text = rf.Comments;
    }
    protected void Page_Init(object sender, EventArgs e)
    {
        ctx = new AriClinicContext("AriClinicContext");
        // security control, it must be a user logged
        if (Session["User"] == null)
        {
            Response.Redirect("Default.aspx");
        }
        else
        {
            user = (User)Session["User"];
            user = CntAriCli.GetUser(user.UserId, ctx);
            Process proc = (from p in ctx.Processes
                            where p.Code == "examinationassigned"
                            select p).FirstOrDefault <Process>();
            per = CntAriCli.GetPermission(user.UserGroup, proc, ctx);
            btnAccept.Visible = per.Modify;
        }

        //
        if (Request.QueryString["ExaminationAssignedId"] != null)
        {
            examinationAssignedId = Int32.Parse(Request.QueryString["ExaminationAssignedId"]);
            refractometry         = (Refractometry)CntAriCli.GetExaminationAssigned(examinationAssignedId, ctx);
            LoadData(refractometry);
        }
        else
        {
            rdpExaminationDate.SelectedDate = DateTime.Now;
        }
        //
        if (Request.QueryString["PatientId"] != null)
        {
            patientId = int.Parse(Request.QueryString["PatientId"]);
            patient   = CntAriCli.GetPatient(patientId, ctx);
            // fix rdc with patient
            rdcPatient.Items.Clear();
            rdcPatient.Items.Add(new RadComboBoxItem(patient.FullName, patient.PersonId.ToString()));
            rdcPatient.SelectedValue = patient.PersonId.ToString();
            rdcPatient.Enabled       = false;
        }
        //
        if (Request.QueryString["VisitId"] != null)
        {
            visitId   = int.Parse(Request.QueryString["VisitId"]);
            visit     = CntAriCli.GetVisit(visitId, ctx);
            patientId = visit.Patient.PersonId;
            patient   = CntAriCli.GetPatient(patientId, ctx);
            // fix rdc with patient
            rdcPatient.Items.Clear();
            rdcPatient.Items.Add(new RadComboBoxItem(patient.FullName, patient.PersonId.ToString()));
            rdcPatient.SelectedValue = patient.PersonId.ToString();
            rdcPatient.Enabled       = false;
            //
            rdpExaminationDate.SelectedDate = visit.VisitDate;
        }
    }
 protected void UnloadData(Refractometry rf)
 {
     rf.Patient         = CntAriCli.GetPatient(int.Parse(rdcPatient.SelectedValue), ctx);
     rf.ExaminationDate = (DateTime)rdpExaminationDate.SelectedDate;
     rf.Examination     = CntAriCli.GetExamination(int.Parse(rdcExamination.SelectedValue), ctx);
     if (visit != null)
     {
         rf.BaseVisit = visit;
     }
     rf.Comments = txtComments.Text;
 }
 protected bool CreateChange()
 {
     if (!DataOk())
     {
         return(false);
     }
     if (refractometry == null)
     {
         refractometry = new Refractometry();
         UnloadData(refractometry);
         ctx.Add(refractometry);
     }
     else
     {
         refractometry = (Refractometry)CntAriCli.GetExaminationAssigned(examinationAssignedId, ctx);
         UnloadData(refractometry);
     }
     ctx.SaveChanges();
     return(true);
 }