public void TryUpdate(Respuesta respuesta)
        {
            var ex = repository.Update(respuesta);

            if (ex != null)
            {
                throw new Exception(ex.Message);
            }
        }
        private Respuesta BuildRespuesta(SqlCommand cmd)
        {
            Respuesta respuesta = new Respuesta();

            SqlDataReader reader = cmd.ExecuteReader();

            #region Read query

            while (reader.Read())
            {
                int col = 0;

                respuesta = new Respuesta()
                {
                    NumeroControl = new NumeroControl()
                    {
                        NumControlText = reader[col++].ToString()
                    },

                    company = new Company()
                    {
                        Nombre = reader.GetString(col++)
                    },

                    RepresentanteAutorizado = reader[col++].ToString(),

                    Operador = new Operador()
                    {
                        OperadorId = Convert.ToInt32(reader.GetString(col++))
                    },

                    AccionText = reader[col++].ToString(),

                    Zona = reader.GetBoolean(col++),

                    Urb = reader[col++].ToString(),

                    Calle = reader[col++].ToString(),

                    Carretera = reader[col++].ToString(),

                    KM = reader.GetInt32(col++),

                    HM = reader.GetInt32(col++),

                    MunicipioId = reader.GetInt32(col++),

                    CodigoPostal = reader[col++].ToString(),

                    Accion = Convert.ToInt32(reader[col++].ToString()),

                    PersonaContactar = reader[col++].ToString(),

                    Comentarios = reader[col++].ToString()
                };

                respuesta.EvidenciaMarcadoPaths.AddLast(reader[col++].ToString());

                respuesta.EvidenciaMarcadoPaths.AddLast(reader[col++].ToString());

            } 

            #endregion

            return respuesta;
        }
        public Respuesta GetRespuestaAviso(int id, NumeroControl numControl)
        {
            Respuesta respuesta = new Respuesta();

            //using (SqlConnection conn = sql.GetConnection())
            using (SqlConnection conn = new SQL().GetLocalConnection())
            {
                SqlCommand cmd = new SqlCommand(@"SELECT * FROM Respuestas WHERE Operador = @Operador AND NumeroControl = @NumeroControl", conn);

                cmd.Parameters.AddWithValue("Operador", id.ToString());

                cmd.Parameters.AddWithValue("NumeroControl", numControl.NumControlText);

                conn.Open();

                cmd.ExecuteNonQuery();

                respuesta = BuildRespuesta(cmd);
            }

            return respuesta;        
        }
        private LinkedList<Respuesta> BuildRespuestasOperador(SqlCommand cmd)
        {
            LinkedList<Respuesta> respuestas = new LinkedList<Respuesta>();

            SqlDataReader reader = cmd.ExecuteReader();

            #region Read query
            while (reader.Read())
            {
                int col = 0;

                Respuesta respuesta = new Respuesta()
                {
                    NumeroControl = new NumeroControl()
                    {
                        NumControlText = reader[col++].ToString()
                    },

                    Operador = new Operador()
                    {
                        OperadorId = Convert.ToInt32(reader.GetString(col++))
                    },                    

                    Urb = reader[col++].ToString(),

                    AccionText = reader[col++].ToString(),

                    PersonaContactar = reader[col++].ToString()
                };

                respuestas.AddLast(respuesta);
            }
            #endregion

            return respuestas;
        }
        private LinkedList<Respuesta> BuildRespuestasResumen(SqlCommand cmd, LinkedList<Operador> operadores)
        {
            LinkedList<Respuesta> respuestas = new LinkedList<Respuesta>();

            SqlDataReader reader = cmd.ExecuteReader();

            #region Read query
            while (reader.Read())
            {
                int col = 0;

                Respuesta respuesta = new Respuesta()
                {
                    Operador = new Operador()
                    {
                        OperadorId = Convert.ToInt32(reader.GetString(col++))
                    },

                    AccionText = reader[col++].ToString()
                };

                foreach (var o in operadores)
                {
                    if (o.OperadorId == respuesta.Operador.OperadorId)
                    {
                        respuesta.Operador.Nombre = o.Nombre;
                    }
                }

                respuestas.AddLast(respuesta);
            }
            #endregion

            return respuestas;
        }
        public Exception Create(Respuesta respuesta)
        {
            //using (SqlConnection conn = sql.GetConnection())
            using (SqlConnection conn = new SQL().GetLocalConnection())
            {
                conn.Open();

                SqlCommand cmd = new SqlCommand(@"INSERT INTO Respuestas(NumeroControl, NombreEmpresa, RepresentanteAutorizado, Operador, 
                                                Zona, BoUrb, SectorCalle, Carretera, KM, HM, MunicipioID, CodigoPostal,
                                                AccionesTomadas, PersonaContacto, Comentarios, DescripcionTrabajo, EvidenciaMarcadoPath, EvidenciaMarcadoPath2) 
                                                VALUES (@NumeroControl, @NombreEmpresa, @RepresentanteAutorizado, @Operador, @Zona, @BoUrb, @SectorCalle,
                                                @Carretera, @KM, @HM, @MunicipioID, @CodigoPostal, @AccionesTomadas, @PersonaContacto, 
                                                @Comentarios, @DescripcionTrabajo, @EvidenciaMarcadoPath, @EvidenciaMarcadoPath2);", conn);

                #region SQL params
                cmd.Parameters.AddWithValue("EvidenciaMarcadoPath", respuesta.EvidenciaMarcadoPaths.ElementAt(0));

                cmd.Parameters.AddWithValue("EvidenciaMarcadoPath2", respuesta.EvidenciaMarcadoPaths.ElementAt(1));

                cmd.Parameters.AddWithValue("NumeroControl", respuesta.NumeroControl.NumControlText);

                cmd.Parameters.AddWithValue("NombreEmpresa", respuesta.company.Nombre);

                cmd.Parameters.AddWithValue("RepresentanteAutorizado", respuesta.RepresentanteAutorizado);

                cmd.Parameters.AddWithValue("Operador", respuesta.Operador.OperadorId.ToString());

                cmd.Parameters.AddWithValue("Zona", respuesta.Zona);

                cmd.Parameters.AddWithValue("BoUrb", respuesta.Urb);

                cmd.Parameters.AddWithValue("SectorCalle", respuesta.Calle);

                cmd.Parameters.AddWithValue("Carretera", respuesta.Carretera);

                cmd.Parameters.AddWithValue("KM", respuesta.KM);

                cmd.Parameters.AddWithValue("HM", respuesta.HM);

                cmd.Parameters.AddWithValue("CodigoPostal", respuesta.CodigoPostal);

                cmd.Parameters.AddWithValue("MunicipioID", respuesta.MunicipioId);

                cmd.Parameters.AddWithValue("AccionesTomadas", respuesta.Accion);

                cmd.Parameters.AddWithValue("PersonaContacto", respuesta.PersonaContactar);

                cmd.Parameters.AddWithValue("Comentarios", respuesta.Comentarios);

                cmd.Parameters.AddWithValue("DescripcionTrabajo", respuesta.AccionText);

                #endregion

                using (SqlTransaction transaction = conn.BeginTransaction())
                {
                    cmd.Transaction = transaction;

                    try
                    {
                        cmd.ExecuteNonQuery();

                        transaction.Commit();

                        return null;
                    }

                    catch (SqlException ex)
                    {
                        transaction.Rollback();

                        #region Log errores
                        String errorLog = "Date: " + DateTime.Now.ToLongDateString() + "\r\n NumeroControl:" + respuesta.NumeroControl.NumControlText
                                            + "\r\n Message: " + ex.Message + "\r\n Source: "
                                            + ex.Source + "\r\n Stacktrace: " + ex.StackTrace + "\r\n TargetSite: " + ex.TargetSite.ToString() + "\r\n\r\n";

                        //File.WriteAllText("AveriasLog.txt", errorLog);

                        return ex;
                        #endregion
                    }
                }
            }
        }
        protected void numControlTxtBx_TextChanged(object sender, EventArgs e)
        {
            try
            {
                NumeroControl numeroControl = new NumeroControl()
                {
                    NumControlText = numControlTxtBx.Text
                }; 

                Respuesta respuesta = new Respuesta()
                        {
                            Operador = (Operador)ViewState["operador"]
                        },
                        respuestaExitente = new RespuestasServicio().GetRespuesta(respuesta.Operador.OperadorId, numeroControl);                          

                //Create
                if (respuestaExitente.Operador.OperadorId == 0)
                {
                    #region Poblar Respuesta campos con info de solicitud

                    SolicitudAviso solicitud = new SolicitudesInicialesServicio().GetSolicitud(numeroControl);

                    operadorDDL.Items.Add(respuesta.Operador.Nombre);

                    companyDDL.Items.Add(solicitud.NombreEmpresa);

                    representanteTxtBx.Text = solicitud.RepresentanteAutorizado;

                    //Urbana?
                    if (solicitud.Zona)
                    {
                        zonaRBtnLst.SelectedIndex = 1;
                    }

                    else
                    {
                        zonaRBtnLst.SelectedIndex = 0;
                    }

                    urbTxtBx.Text = solicitud.BoUrb;

                    calleTxtBx.Text = solicitud.SectorCalle;

                    carreteraTxtBx.Text = solicitud.Carretera;

                    kmTxtBx.Text = solicitud.KM.ToString();

                    hmTxtBx.Text = solicitud.HM.ToString();

                    municipioDDL.SelectedIndex = solicitud.MunicipioIdTrab;

                    codigoPostalTxtBx.Text = solicitud.CodigoPostal;

                    #endregion
                }

                //Edit
                else
                {
                    #region Poblar Respuesta campos

                    companyDDL.Items.Add(respuestaExitente.company.Nombre);

                    representanteTxtBx.Text = respuestaExitente.RepresentanteAutorizado;

                    operadorDDL.Items.Add(SolicitudesInicialesServicio.GetOperadorById(respuestaExitente.Operador.OperadorId).Nombre);

                    //Urbana?
                    if (respuestaExitente.Zona)
                    {
                        zonaRBtnLst.SelectedIndex = 1;
                    }

                    else
                    {
                        zonaRBtnLst.SelectedIndex = 0;
                    }

                    urbTxtBx.Text = respuestaExitente.Urb;

                    calleTxtBx.Text = respuestaExitente.Calle;

                    carreteraTxtBx.Text = respuestaExitente.Carretera;

                    kmTxtBx.Text = respuestaExitente.KM.ToString();

                    hmTxtBx.Text = respuestaExitente.HM.ToString();

                    municipioDDL.SelectedIndex = respuestaExitente.MunicipioId;

                    codigoPostalTxtBx.Text = respuestaExitente.CodigoPostal;

                    comentarioTxtBx.Text = respuestaExitente.Comentarios;

                    contactarTxtBx.Text = respuestaExitente.PersonaContactar;

                    accionesRBtnLst.SelectedIndex = respuestaExitente.Accion;

                    #region Set evidencia imgs

                    ViewState["SetImgsClientScript"] = true;

                    string script = @"<script>
                                          function  @TITLE
                                          {
                                            var img = document.getElementById('@CONTROLID');

                                            var url = img.getAttribute('src');

                                            window.open(url, '_blank');
                                         }

                                </script>";

                    #region Primera

                    if (!string.IsNullOrEmpty(respuestaExitente.EvidenciaMarcadoPaths.ElementAt(0)))
                    {
                        evidenciaImgBtn.Visible = true;

                        evidenciaImgBtn.ImageUrl = respuestaExitente.EvidenciaMarcadoPaths.ElementAt(0);

                        evidenciaImgBtn.OnClientClick = "PrimeraImgClick();";

                        ClientScript.RegisterClientScriptBlock(GetType(), "Primera", script.Replace("@TITLE", evidenciaImgBtn.OnClientClick.Replace(
                            ";", string.Empty)).Replace("@CONTROLID", evidenciaImgBtn.ClientID));
                    } 

                    #endregion

                    #region Segunda

                    if (!string.IsNullOrEmpty(respuestaExitente.EvidenciaMarcadoPaths.ElementAt(1)))
                    {
                        evidencia2ImgBtn.Visible = true;

                        evidencia2ImgBtn.ImageUrl = respuestaExitente.EvidenciaMarcadoPaths.ElementAt(1);

                        evidencia2ImgBtn.OnClientClick = "SegundaImgClick();";

                        ClientScript.RegisterClientScriptBlock(GetType(), "Segunda", script.Replace("@TITLE", evidencia2ImgBtn.OnClientClick.Replace(
                            ";", string.Empty)).Replace("@CONTROLID", evidencia2ImgBtn.ClientID));
                    } 

                    #endregion

                    #endregion

                    #endregion
                }
            }

            catch (Exception ex)
            {
                var msg = ex.Message;
            }

            //Disable just in case search returns empty obj
            guardarBtn.Enabled = !string.IsNullOrEmpty(urbTxtBx.Text);
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            User user = Session["UserObj"] == null ? new User() : (User)Session["UserObj"];

            var title = (HtmlGenericControl)Master.FindControl("pageTitleSpan");

            if (string.IsNullOrWhiteSpace(user.Email))
            {
                Response.Redirect("~/Account/Ingresar.aspx", true);
            }

            Operador operador = new SolicitudesInicialesServicio().GetOperadorByName(user.EmpresaID);

            ViewState["operador"] = operador;

            if (operador.OperadorId == 0)
            {
                Response.Redirect("~/Default.aspx", true);
            }

            title.InnerText = Title;

            codigoPostalTxtBx.Visible = false;

            codigoPostalLbl.Visible = false;

            #region Re-register imgsBtns clientscripts

            if (ViewState["SetImgsClientScript"] != null)
            {
                string script = @"<script>
                                          function  @TITLE
                                          {
                                            var img = document.getElementById('@CONTROLID');

                                            var url = img.getAttribute('src');

                                            window.open(url, '_blank');
                                         }

                                </script>";
                //Primera
                ClientScript.RegisterClientScriptBlock(GetType(), "Primera", script.Replace("@TITLE", evidenciaImgBtn.OnClientClick.Replace(
                        ";", string.Empty)).Replace("@CONTROLID", evidenciaImgBtn.ClientID));

                //Segunda
                ClientScript.RegisterClientScriptBlock(GetType(), "Segunda", script.Replace("@TITLE", evidencia2ImgBtn.OnClientClick.Replace(
                        ";", string.Empty)).Replace("@CONTROLID", evidencia2ImgBtn.ClientID));

            }

            #endregion

            if (!IsPostBack)
            {
                #region Municipios

                LinkedList<String> municipios = new SolicitudesInicialesServicio().GetMunicipios();

                municipioDDL.Items.Add("Seleccionar");

                foreach (var m in municipios)
                {
                    municipioDDL.Items.Add(m);
                }

                #endregion               

                Respuesta respuesta = new Respuesta();

                numControlTxtBx.Text = Request.QueryString["NumControl"] == null ? string.Empty : Request.QueryString["NumControl"];

                if (!string.IsNullOrEmpty(numControlTxtBx.Text))
                    numControlTxtBx_TextChanged(sender, EventArgs.Empty);

                //Operador operador = new SolicitudesInicialesServicio().GetOperadorByName(user.EmpresaID);

                //ViewState["operador"] = operador;

                //    if (operador.OperadorId == 0)
                //    {
                //        Response.Redirect("~/Default.aspx" ,true);
                //    }
                //}
            }
        }
        protected void guardarBtn_Click(object sender, EventArgs e)
        {
            NumeroControl numeroControl = new NumeroControl()
            {
                NumControlText = numControlTxtBx.Text
            };

            try
            {
                #region Poblar respuesta

                Operador operador = (Operador)ViewState["operador"];

                LinkedList<string> evidenciaPaths = new LinkedList<string>();

                Respuesta respuesta = new Respuesta()
                {
                    Id = operadorDDL.SelectedIndex,

                    Accion = accionesRBtnLst.SelectedIndex,

                    Calle = calleTxtBx.Text,

                    Carretera = carreteraTxtBx.Text,

                    CodigoPostal = codigoPostalTxtBx.Text,

                    Comentarios = comentarioTxtBx.Text,

                    company = new Company()
                    {
                       Nombre = companyDDL.SelectedValue
                    },

                    HM = Convert.ToInt32(hmTxtBx.Text),

                    KM = Convert.ToInt32(kmTxtBx.Text),

                    MunicipioId = municipioDDL.SelectedIndex,

                    NumeroControl = numeroControl,

                    Operador = new Operador()
                    {
                        OperadorId = operador.OperadorId
                    },

                    PersonaContactar = contactarTxtBx.Text,

                    RepresentanteAutorizado = representanteTxtBx.Text,

                    Urb = urbTxtBx.Text,

                    Zona = zonaRBtnLst.SelectedIndex == 1,

                    AccionText = accionesRBtnLst.SelectedItem.Value

                };
                #region Evidencia stuff

                string evidenciaFullDirPath = string.Format(@"{0}/{1}", Respuesta.EvidenciaInitPath, numControlTxtBx.Text);

                #region Evidencia 1

                //Save file to phys dir
                if (evidenciaFileUp.HasFile)
                    evidenciaFileUp.SaveAs(Server.MapPath(string.Format("{0}/{1}_{2}", evidenciaFullDirPath, operador.Nombre, evidenciaFileUp.PostedFile.FileName)));

                evidenciaPaths.AddLast(evidenciaFileUp.HasFile ? string.Format("{0}/{1}_{2}", evidenciaFullDirPath, operador.Nombre, evidenciaFileUp.PostedFile.FileName)
                    : string.Empty);

                #endregion

                #region Evidencia 2

                if (evidencia2FileUp.HasFile)
                    evidencia2FileUp.SaveAs(Server.MapPath(string.Format("{0}/{1}_{2}", evidenciaFullDirPath, operador.Nombre, evidencia2FileUp.PostedFile.FileName)));

                evidenciaPaths.AddLast(evidencia2FileUp.HasFile ? string.Format("{0}/{1}_{2}", evidenciaFullDirPath, operador.Nombre, evidencia2FileUp.PostedFile.FileName)
                    : string.Empty);

                #endregion

                respuesta.EvidenciaMarcadoPaths = evidenciaPaths;

                #endregion
                
                #endregion

                Respuesta respuestaExitente = new RespuestasServicio().GetRespuesta(respuesta.Operador.OperadorId, numeroControl);

                //Create
                if (respuestaExitente.Operador.OperadorId == 0)
                {      
                    //Create dir if exist
                    if (!Directory.Exists(Server.MapPath(evidenciaFullDirPath)))
                        Directory.CreateDirectory(Server.MapPath(evidenciaFullDirPath));

                    new RespuestasServicio().TryCreate(respuesta);
                }

                //Edit
                else
                {
                    #region Set up evidencias

                    LinkedList<string> newEvidencias = new LinkedList<string>();

                    newEvidencias.AddLast(!evidenciaFileUp.HasFile ? respuestaExitente.EvidenciaMarcadoPaths.ElementAt(0) : respuesta.EvidenciaMarcadoPaths.ElementAt(0));

                    newEvidencias.AddLast(!evidencia2FileUp.HasFile ? respuestaExitente.EvidenciaMarcadoPaths.ElementAt(1) : respuesta.EvidenciaMarcadoPaths.ElementAt(1));

                    respuesta.EvidenciaMarcadoPaths = newEvidencias; 

                    #endregion

                    new RespuestasServicio().TryUpdate(respuesta);
                }

                Response.Redirect("~/Logic/RespuestasAvisos.aspx", true);
            }

            catch (Exception ex)
            {
                var msg = ex.Message;
            }
        }
        protected void guardarBtn_Click(object sender, EventArgs e)
        {
            NumeroControl numeroControl = new NumeroControl()
            {
                NumControlText = Request.QueryString["RespuestaNumControl"]
                //NumControlText = "2015-0002" //Only for testing
            };

            try
            {
                #region Poblar respuesta

                Operador operador = (Operador)Session["operador"];

                Respuesta respuesta = new Respuesta()
                {
                    Id = operadorDDL.SelectedIndex,

                    Accion = accionesRBtnLst.SelectedIndex,

                    Calle = calleTxtBx.Text,

                    Carretera = carreteraTxtBx.Text,

                    CodigoPostal = codigoPostalTxtBx.Text,

                    Comentarios = comentarioTxtBx.Text,

                    company = new Company()
                    {
                       NombreEmpresa = companyDDL.SelectedValue
                    },

                    HM = Convert.ToInt32(hmTxtBx.Text),

                    KM = Convert.ToInt32(kmTxtBx.Text),

                    MunicipioId = municipioDDL.SelectedIndex,

                    NumeroControl = numeroControl,

                    Operador = new Operador()
                    {
                        OperadorId = operador.OperadorId
                    },

                    PersonaContactar = contactarTxtBx.Text,

                    RepresentanteAutorizado = representanteTxtBx.Text,

                    Urb = urbTxtBx.Text,

                    Zona = zonaRBtnLst.SelectedIndex == 1,

                    AccionText = accionesRBtnLst.SelectedItem.Value

                };
                #endregion

                //Respuesta respuestaExitente = new RespuestasServicio().GetRespuesta(respuesta.Id, numeroControl);

                Respuesta respuestaExitente = new RespuestasServicio().GetRespuesta(respuesta.Operador.OperadorId, numeroControl);

                //Create
                if (respuestaExitente.Operador.OperadorId == 0)
                {
                    new RespuestasServicio().TryCreate(respuesta);
                }

                //Edit
                else
                {
                    new RespuestasServicio().TryUpdate(respuesta);
                }

                Session.Remove("RespuestaNumControl");

                Response.Redirect("~/Default.aspx");
            }

            catch (Exception ex)
            {
                var msg = ex.Message;
            }
        }
        //private static Operador operador = new Operador();

        protected void Page_Load(object sender, EventArgs e)
        {
            if (Request.QueryString["RespuestaNumControl"] != null && !IsPostBack)
            {
               Session["RespuestaNumControl"] = Request.QueryString["RespuestaNumControl"]; 
            }

            User user = Session["UserObj"] == null ? new User() : (User)Session["UserObj"];

            var title = (HtmlGenericControl)Master.FindControl("pageTitleSpan");

            if (string.IsNullOrWhiteSpace(user.Email))
            {
                //Session["RespuestaNumControl"] = Request.QueryString["RespuestaNumControl"];

                Response.Redirect("~/Account/Ingresar.aspx");
            }

            //title.Text = "hi";

            title.InnerText = Title;

            //operadorDDL.Visible = false;

            //operadorLbl.Visible = false;

            codigoPostalTxtBx.Visible = false;

            codigoPostalLbl.Visible = false;

            if (!IsPostBack)
            {
                #region Municipios

                LinkedList<String> municipios = new SolicitudesInicialesServicio().GetMunicipios();

                foreach (var m in municipios)
                {
                    municipioDDL.Items.Add(m);
                }

                #endregion

                //#region Operadores

                //LinkedList<Operador> operadores = new SolicitudesInicialesServicio().GetOperadores();

                //foreach (var o in operadores)
                //{
                //    operadorDDL.Items.Add(o.Nombre);
                //}

                //operadorDDL.SelectedIndex = 0;

                //#endregion

                //#region Companies

                //LinkedList<Company> companies = new SolicitudesInicialesServicio().GetCompanies();

                //foreach (var c in companies)
                //{
                //    companyDDL.Items.Add(c.NombreEmpresa);
                //}

                //#endregion

                NumeroControl numeroControl = new NumeroControl()
                {
                    NumControlText = Request.QueryString["RespuestaNumControl"]
                    //NumControlText = "2015-0002" //only for testing
                };                

                Respuesta respuesta = new Respuesta();

                Company company = new SolicitudesInicialesServicio().GetCompany(user);

                Operador operador = new SolicitudesInicialesServicio().GetOperador(company.NombreEmpresa);

                Session["operador"] = operador;

                //if (string.IsNullOrWhiteSpace(operador.Email))
                //{
                //    Response.Redirect("Default.aspx");
                //}

                //else
                //{

                    respuesta = new Respuesta()
                    {
                        //Id = Convert.ToInt32(Request.QueryString["OperadorID"])

                        //Id = 1 // only for testing                    

                        Operador = operador
                    };

                    if (operador.OperadorId == 0)
                    {
                        Response.Redirect("~/Default.aspx");
                    }
                //}

                try
                {
                    // - 1 por que cuando se guarda sale de un ddl y empieza en 0. Si quiero cojer el segundo del db tiene que ser id - 1 para que sea 1
                    //Respuesta respuestaExitente = new RespuestasServicio().GetRespuesta(respuesta.Id - 1, numeroControl);

                    Respuesta respuestaExitente = new RespuestasServicio().GetRespuesta(respuesta.Operador.OperadorId, numeroControl);

                    //Create
                    if (respuestaExitente.Operador.OperadorId == 0)
                    {
                        #region Poblar Respuesta campos con info de solicitud
                        SolicitudAviso solicitud = new SolicitudesInicialesServicio().GetSolicitud(numeroControl);

                        //Operador operador = new SolicitudesInicialesServicio().GetOperador(respuesta.Id); //new SolicitudesInicialesServicio().GetOperador(respuesta.OperadorId);

                        operadorDDL.Items.Add(respuesta.Operador.Nombre);

                        numControlTxtBx.Text = solicitud.NumeroControl.NumControlText;

                        companyDDL.Items.Add(solicitud.NombreEmpresa);

                        representanteTxtBx.Text = solicitud.RepresentanteAutorizado;

                        //Urbana?
                        if (solicitud.Zona)
                        {
                            zonaRBtnLst.SelectedIndex = 1;
                        }

                        else
                        {
                            zonaRBtnLst.SelectedIndex = 0;
                        }

                        urbTxtBx.Text = solicitud.BoUrb;

                        calleTxtBx.Text = solicitud.SectorCalle;

                        carreteraTxtBx.Text = solicitud.Carretera;

                        kmTxtBx.Text = solicitud.KM.ToString();

                        hmTxtBx.Text = solicitud.HM.ToString();

                        municipioDDL.SelectedIndex = solicitud.MunicipioIdTrab;

                        codigoPostalTxtBx.Text = solicitud.CodigoPostal;

                        #endregion
                    }

                    //Edit
                    else
                    {
                        #region Poblar Respuesta campos

                        numControlTxtBx.Text = respuestaExitente.NumeroControl.NumControlText;

                        companyDDL.Items.Add(respuestaExitente.company.NombreEmpresa);

                        representanteTxtBx.Text = respuestaExitente.RepresentanteAutorizado;

                        operadorDDL.Items.Add(operador.Nombre);

                        //Urbana?
                        if (respuestaExitente.Zona)
                        {
                            zonaRBtnLst.SelectedIndex = 1;
                        }

                        else
                        {
                            zonaRBtnLst.SelectedIndex = 0;
                        }

                        urbTxtBx.Text = respuestaExitente.Urb;

                        calleTxtBx.Text = respuestaExitente.Calle;

                        carreteraTxtBx.Text = respuestaExitente.Carretera;

                        kmTxtBx.Text = respuestaExitente.KM.ToString();

                        hmTxtBx.Text = respuestaExitente.HM.ToString();

                        municipioDDL.SelectedIndex = respuestaExitente.MunicipioId;

                        codigoPostalTxtBx.Text = respuestaExitente.CodigoPostal;

                        comentarioTxtBx.Text = respuestaExitente.Comentarios;

                        contactarTxtBx.Text = respuestaExitente.PersonaContactar;

                        accionesRBtnLst.SelectedIndex = respuestaExitente.Accion;
                        #endregion
                    }
                }

                catch (Exception ex)
                {
                    var msg = ex.Message;
                }
            }
        }