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