protected void Page_Load(object sender, EventArgs e) { User user = Session["UserObj"] == null ? new User() : (User)Session["UserObj"]; var title = (HtmlGenericControl)Master.FindControl("pageTitleSpan"); title.InnerText = Title; if (user.Rol.ID != (int)Role.TipoRoles.Director && user.Rol.ID != (int)Role.TipoRoles.SuperInspector && user.Rol.ID != (int)Role.TipoRoles.Admin) { Response.Redirect("~/Default.aspx", true); } if (!IsPostBack) { #region Instanciate company ddl companyDDL.Items.Add("Seleccionar"); LinkedList<Company> companies = new SolicitudesInicialesServicio().GetCompanies(); for (int i = 0; i < companies.Count; i++) { companyDDL.Items.Add(companies.ElementAt(i).Nombre); } #endregion } }
//private static Operador operador = new Operador(); //private static LinkedList<Operador> operadores = new LinkedList<Operador>(); protected void Page_Load(object sender, EventArgs e) { User user = Session["UserObj"] == null ? new User() : (User)Session["UserObj"]; if (!user.Rol.VerConsRespuestaAviso) { Response.Redirect("~/Default.aspx"); } var title = (HtmlGenericControl)Master.FindControl("pageTitleSpan"); title.InnerText = Title; if (!IsPostBack) { Session.Remove("operadores"); Session.Remove("operador"); LinkedList<Operador> operadores = new SolicitudesInicialesServicio().GetOperadores(); Session["operadores"] = operadores; Operador operador = new SolicitudesInicialesServicio().GetOperadorByName(user.EmpresaID); Session["operador"] = operador; } }
//private static LinkedList<Operador> operadores = new LinkedList<Operador>(); protected void Page_Load(object sender, EventArgs e) { User user = Session["UserObj"] == null ? new User() : (User)Session["UserObj"];; if (!user.Rol.VerConsRespuestaOpe) { Response.Redirect("~/Default.aspx"); } var title = (HtmlGenericControl)Master.FindControl("pageTitleSpan"); title.InnerText = Title; //if (!IsPostBack) //{ if ((user.Rol.ID) != (int)Role.TipoRoles.Excavador) { //e.Command.CommandText = e.Command.CommandText.Replace("@Where", string.Empty); LinkedList<Operador> operadores = new SolicitudesInicialesServicio().GetOperadores(); Session.Remove("operadores"); Session["operadores"] = operadores; if (!IsPostBack) { ddlOperador.Items.Add("Seleccionar Sin Filtro"); foreach (var o in operadores) { ddlOperador.Items.Add(o.Nombre); } } SetRespuestasRowData(new RespuestasServicio().GetRespuestas(), operadores); } else { LinkedList<Operador> operadores = new LinkedList<Operador>(); operadores.AddLast(new SolicitudesInicialesServicio().GetOperadorByName(user.EmpresaID)); ddlOperador.Items.Add(operadores.ElementAt(0).Nombre); ddlOperador.Enabled = false; SetRespuestasRowData(new RespuestasServicio().GetRespuestas(operadores.ElementAt(0)), operadores); //e.Command.CommandText = e.Command.CommandText.Replace("@Where", string.Format("WHERE CorreoElectronico = '{0}' ", Global.user.Email)); } //} }
protected void Page_Load(object sender, EventArgs e) { var title = (HtmlGenericControl)Master.FindControl("pageTitleSpan"); title.InnerText = Title; User user = Session["UserObj"] == null ? new User() : (User)Session["UserObj"]; if (string.IsNullOrWhiteSpace(user.Email)) { Response.Redirect("~/Account/Ingresar.aspx", true); } Operador operador = new SolicitudesInicialesServicio().GetOperadorByName(user.EmpresaID); if (operador.OperadorId == 0) { Response.Redirect("~/Default.aspx", true); } if (!IsPostBack) { LinkedList<string> municipios = new SolicitudesInicialesServicio().GetMunicipios(); if (!Request.Browser.Browser.Equals("InternetExplorer") && !Request.Browser.Browser.Equals("Safari")) { ViewState["municipiosCell"] = 2; ViewState["certCell"] = 6; ViewState["croqCell"] = 7; ViewState["numControl"] = 0; } //Add one to cells cause select link is added, on the 1st cell, when gv.AutoGenerateSelectButton = true on IE and safari else { gv.AutoGenerateSelectButton = true; ViewState["municipiosCell"] = 3; ViewState["certCell"] = 7; ViewState["croqCell"] = 8; ViewState["numControlCell"] = 1; } for (int i = 0; i < municipios.Count; i++) { municipiosDDL.Items.Add(municipios.ElementAt(i)); } } }
protected void Page_Load(object sender, EventArgs e) { User user = Session["UserObj"] == null ? new User() : (User)Session["UserObj"]; if (user.Rol.ID != (int)Role.TipoRoles.Director && user.Rol.ID != (int)Role.TipoRoles.SuperInspector && user.Rol.ID != (int)Role.TipoRoles.Admin) { Response.Redirect("~/Default.aspx", true); } var title = (HtmlGenericControl)Master.FindControl("pageTitleSpan"); title.InnerText = Title; if (!IsPostBack) { #region Instanciate counters int avisosTotal = new SolicitudesInicialesServicio().GetSolicitudes().Count, aprobadasCount = SolicitudesInicialesServicio.GetSolicitudesByEstatus(string.Format("S{0}" , (int)SolicitudAviso.Estatus.InspeccionCompletada)).Count, pendientesCount = SolicitudesInicialesServicio.GetSolicitudesByEstatus(string.Format("S{0}" , (int)SolicitudAviso.Estatus.PendienteRevisarCoordinador)).Count, asigInspectorCount = SolicitudesInicialesServicio.GetSolicitudesByEstatus(string.Format("S{0}" , (int)SolicitudAviso.Estatus.PendienteAsignarInspector)).Count, procesosInpeccionCount = SolicitudesInicialesServicio.GetSolicitudesByEstatus(string.Format("S{0}" , (int)SolicitudAviso.Estatus.EnProcesoInspeccion)).Count, docsIncompletosCount = SolicitudesInicialesServicio.GetSolicitudesByEstatus(string.Format("S{0}" , (int)SolicitudAviso.Estatus.PendienteDocumentosIncompletos)).Count, denegadasCount = SolicitudesInicialesServicio.GetSolicitudesByEstatus(string.Format("S{0}" , (int)SolicitudAviso.Estatus.Denegada)).Count, inactivosCount = SolicitudesInicialesServicio.GetSolicitudesByEstatus(string.Format("S{0}" , (int)SolicitudAviso.Estatus.Inactiva)).Count, eliminadosCount = SolicitudesInicialesServicio.GetSolicitudesByEstatus(string.Format("S{0}" , (int)SolicitudAviso.Estatus.Eliminada)).Count; #endregion avisosTotalLbl.Text += string.Format(" {0}", avisosTotal.ToString("N0")); SetChartData(aprobadasCount, pendientesCount, asigInspectorCount, procesosInpeccionCount, docsIncompletosCount , denegadasCount, inactivosCount, eliminadosCount); } else { avisoStatusDDL_SelectedIndexChanged(sender, EventArgs.Empty); } }
protected void LogIn_Click(object sender, EventArgs e) { //string file = string.Format("{0}/{1}", new DocumentoRequerido().SavePath, we.FileName); //we.SaveAs(Server.MapPath("~/Images")); Entidad.User user = new SolicitudesInicialesServicio().GetUser(CorreoElectronico.Text); if (string.IsNullOrEmpty(user.Email)) { ScriptManager.RegisterStartupScript(this, typeof(Page), "alertmsg" , "alert('Correo electrónico no existe');", true); } else if (!Contrasena.Value.Equals(user.Password)) { ScriptManager.RegisterStartupScript(this, typeof(Page), "alertmsg2" , "alert('Contraseña incorrecta');", true); } else { LinkedList<Role> roles = new RolesServicio().GetRoles(); foreach (var r in roles) { if (r.ID == (user.Rol.Tipo)) { user.Rol = r; break; } } Session["UserObj"] = user; Session.Timeout = 540; if (Session["RespuestaNumControl"] == null) { Response.Redirect("~/Default.aspx"); } else { Response.Redirect("~/Logic/RespuestasAvisos.aspx?RespuestaNumControl=" + (string)Session["RespuestaNumControl"]); } } }
protected void Page_Load(object sender, EventArgs e) { User user = Session["UserObj"] == null ? new User() : (User)Session["UserObj"]; #region Set title var title = (HtmlGenericControl)Master.FindControl("pageTitleSpan"); title.InnerText = Title; #endregion #region Check role if (user.Rol.ID != (int)Role.TipoRoles.Director && user.Rol.ID != (int)Role.TipoRoles.SuperInspector && user.Rol.ID != (int)Role.TipoRoles.Admin) { Response.Redirect("~/Default.aspx", true); } #endregion if (!IsPostBack) { #region Instanciate municipio ddl LinkedList<string> municipios = new SolicitudesInicialesServicio().GetMunicipios(); for (int i = 0; i < municipios.Count; i++) { municipioDDL.Items.Add(municipios.ElementAt(i)); } #endregion LinkedList<Averia> averias = AveriasServicio.GetAverias(); avisosRadicadosSinFiltroLbl.Text = string.Format("Total de Averias Cometidas: {0}", averias.Count); FillSinFiltroGv(); } }
protected void gvUsuarios_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { if (e.Row.Cells.Count > 2) { User user = Session["UserObj"] == null ? new User() : (User)Session["UserObj"]; Entidad.User rowUser = new SolicitudesInicialesServicio().GetUser(e.Row.Cells[0].Text); LinkedList<User> users = (LinkedList<User>)ViewState["Users"]; users.AddLast(rowUser); ViewState["Users"] = users; if (user.Rol.ID == (int)Role.TipoRoles.Director || user.Rol.ID == (int)Role.TipoRoles.SuperInspector || user.Rol.ID == (int)Role.TipoRoles.Admin) { if (rowUser.Active) { ((LinkButton)e.Row.Cells[3].Controls[0]).Text = "Desactivar"; } else { ((LinkButton)e.Row.Cells[3].Controls[0]).Text = "Activar"; } } else ((Button)e.Row.Cells[3].Controls[0]).Visible = false; } e.Row.Attributes["onclick"] = Page.ClientScript.GetPostBackClientHyperlink(gvUsuarios, "Select$" + e.Row.RowIndex); e.Row.ToolTip = "Para seleccionar oprima 'Click'."; } }
protected void GuardarBtnClick(object sender, EventArgs e) { User user = Session["UserObj"] == null ? new User() : (User)Session["UserObj"]; string exceptionMsg = string.Empty; guardarBtn.Enabled = false; NumeroControl exceptionNumControl = new NumeroControl(); try { #region Validate controls server side /* Los valido desde aca por que algunos controles se vuelven requeridos cuando obtienen input * y seria muy trabajoso hacerle el bind con un rqf a cada uno. Ademas que, algunos no funcionan * bien con el rqf */ //Quizas en vez de esta vali, le pongo en requiredfield y si esta checked que se ponga enabled if (maquinariaChkBx.Checked) { exceptionMsg = ValidateStrings(tipoMaquinariaTxtBx.Text, "Tipo de maquinaria, requerida"); } if (explosivoChkBx.Checked) { exceptionMsg += ValidateStrings(licExplosivoTxtBx.Text, "Licencia explosivo, requerida"); exceptionMsg += ValidateStrings(fechaExpiracionExplosivoTxtBx.Text, "Fecha expiración Licencia explosivo, requerida"); } if (string.IsNullOrEmpty(duracionDiaTxtBx.Text) && string.IsNullOrEmpty(duracionMesTxtBx.Text) && string.IsNullOrEmpty(duracionYearTxtBx.Text)) { //throw new Exception("Duración, requerida"); exceptionMsg += "Duración, requerida \r\n"; } //#region Docs //foreach (var t in docRequeridosTxtBxs) //{ // if (string.IsNullOrWhiteSpace(t.Text)) // { // exceptionMsg += t.ID.Replace("TxtBx", string.Empty) + ", requerido </br>"; // } //} //#endregion //if (!string.IsNullOrWhiteSpace(exceptionMsg)) //{ // throw new Exception(exceptionMsg); //} #endregion #region Genera numero Control NumeroControl numeroControlExistente = new NumerosControlServicio().GetNumeroControl(DateTime.Now.Year), numeroControl = new NumeroControl() { //NumControlText = "2015-0016" // only for testing NumControlText = Request.QueryString["NumeroControl"] }; #endregion Boolean zona = zonaRBtnLst.SelectedValue.Equals("Urbana"), tipoExcavacion = tipoExcavacionRBtnLst.SelectedValue.Equals("Continua"); #region Poblar averias LinkedList<Averia> averias = new LinkedList<Averia>(), averiasExistentes = new AveriasServicio().GetAverias(numeroControl, (int)SolicitudAviso.TiposExtensiones.Primera); averias.AddLast(new Averia() { Titulo = averiasTxtBx.Text, ExtensionId = (int)SolicitudAviso.TiposExtensiones.Primera }); //for (int i = 0; i < averiasGrdVw.Rows.Count; i++) //{ // TextBox averiaTituloTxtBx = (TextBox)averiasGrdVw.Rows[i].Cells[0].FindControl("averiaTituloTxtBx"), // averiaFechaTxtBx = (TextBox)averiasGrdVw.Rows[i].Cells[1].FindControl("averiaFechaTxtBx"), // averiaHoraTxtBx = (TextBox)averiasGrdVw.Rows[i].Cells[2].FindControl("averiaHoraTxtBx"), // averiaInfraAfectadaTxtBx = (TextBox)averiasGrdVw.Rows[i].Cells[3].FindControl("averiaInfraAfectadaTxtBx"), // averiaLugarTxtBx = (TextBox)averiasGrdVw.Rows[i].Cells[4].FindControl("averiaLugarTxtBx"); //} #endregion #region Poblar docs LinkedList<DocumentoRequerido> documentos = new LinkedList<DocumentoRequerido>(), docsExistentes = new DocumentosRequeridosServicio().GetDocumentosAsociados(numeroControl, (int)SolicitudAviso.TiposExtensiones.Primera); Dictionary<TextBox, DropDownList> docControls = new Dictionary<TextBox, DropDownList>(); docControls = GetDocCtrls(); //#region Docs //for (int i = 0; i < docRequeridosTxtBxs.Count; i++) //{ // DocumentoRequerido docReq = new DocumentoRequerido() // { // Nombre = docRequeridosTxtBxs.ElementAt(i).ID.Replace("TxtBx", string.Empty), // NumeroControl = numeroControl, // Path = docRequeridosTxtBxs.ElementAt(i).Text, // Tipo = tipoAvisoRBtnLst.SelectedIndex, // ExtensionId = (int)SolicitudAviso.TiposExtensiones.Primera // }; // if (docAsociadosStatuses.Count() > 0) // { // docReq.Status = docAsociadosStatuses.ElementAt(i).SelectedIndex; // } // documentos.AddLast(docReq); //} //#endregion #endregion //User currentUser = new SolicitudesInicialesServicio().GetUser(Convert.ToInt32(Request.QueryString["userId"])); //User currentUser = new SolicitudesInicialesServicio().GetUser(Request.QueryString["CorreoElectronico"].Replace("%40", "@")); //User currentUser = user; // only for testinng User currentUser = new SolicitudesInicialesServicio().GetUser(user.Email); SolicitudAviso primeraExtExistente = new PrimerasExtensionesServicio().GetPrimeraExtension(numeroControl); #region Poblar solicitud SolicitudAviso solicitud = new SolicitudAviso() { #region Info general NumeroControl = numeroControl, Emergencia = emergenciaChkBx.Checked, TipoAviso = tipoAvisoRBtnLst.SelectedIndex.ToString(), //EstatusId = statusHF.Value, NombreContacto = nombreContactoTxtBx.Text.ToUpper(), CelularContacto = celularContactoTxtBx.Text.ToUpper(), DireccionPostalContacto = direccionPostalContactoTxtBx.Text.ToUpper(), #endregion #region Contratista NombreEmpresa = companyDDL.SelectedValue, AreaDept = areaDepartamentoTxtBx.Text.ToUpper(), RepresentanteAutorizado = representanteTxtBx.Text.ToUpper(), TelOficina = telOficinaTxtBx.Text.ToUpper(), TelCampoTrabajo = telTrabajoTxtBx.Text.ToUpper(), TelCelular = celularTxtBx.Text.ToUpper(), CorreoElectronico = emailTxtBx.Text.ToUpper(), DireccionPostal = direccionTxtBx.Text, MunicipioId = municipioDDL.SelectedIndex, CodigoPostal = codigoPostalTxtBx.Text.ToUpper(), #endregion #region Sub Subcontratista = companySubTxtBx.Text, AreaDeptSub = areaDepartamentoSubTxtBx.Text.ToUpper(), RepresentanteAutorizadoSub = representanteSubTxtBx.Text.ToUpper(), TelOficinaSub = telOficinaSubTxtBx.Text.ToUpper(), TelCampoTrabajoSub = telTrabajoSubTxtBx.Text.ToUpper(), TelCelularSub = celularSubTxtBx.Text.ToUpper(), CorreoElectronicoSub = emailSubTxtBx.Text, DireccionPostalSub = direccionSubTxtBx.Text.ToUpper(), MunicipioIdSub = municipioSubDDL.SelectedIndex, CodigoPostalSub = codigoPostalSubTxtBx.Text.ToUpper(), #endregion #region Info trabajo Zona = zona, BoUrb = boUrbTxtBx.Text.ToUpper(), SectorCalle = sectorCalleTxtBx.Text.ToUpper(), Carretera = carreteraTxtBx.Text.ToUpper(), MunicipioIdTrab = municipioTrabajoDDL.SelectedIndex, KM = Convert.ToInt32(kmTxtBx.Text), HM = Convert.ToInt32(hmTxtBx.Text), Referencias = referenciasTxtBx.Text.ToUpper(), RazonTrabajos = razonTxtBx.Text.ToUpper(), FechaPropuesta = Convert.ToDateTime(fechaComienzoPropuestoTxtBx.Text), FechaComienzo = string.IsNullOrWhiteSpace(fechaComienzoTxtBx.Text) ? new DateTime(1900, 01, 01) : Convert.ToDateTime(fechaComienzoTxtBx.Text), FechaExpiracion = string.IsNullOrWhiteSpace(fechaExpiracionTxtBx.Text) ? new DateTime(1900, 01, 01) : Convert.ToDateTime(fechaExpiracionTxtBx.Text), TiempoDuracion = string.Format("{0}-{1}-{2}", duracionDiaTxtBx.Text , duracionMesTxtBx.Text, duracionYearTxtBx.Text), Horario = string.Format("{0}-{1}", horarioDDL.SelectedValue, horarioDDL2.SelectedValue), Maquinaria = maquinariaChkBx.Checked, TipoMaquinaria = tipoMaquinariaTxtBx.Text.ToUpper(), Explosivos = explosivoChkBx.Checked, LicenciaExplosivo = licExplosivoTxtBx.Text.ToUpper(), FechaExpiracionExplosivo = !string.IsNullOrWhiteSpace(fechaExpiracionExplosivoTxtBx.Text) ? Convert.ToDateTime(fechaExpiracionExplosivoTxtBx.Text) : Convert.ToDateTime(@"01/01/1900"), AreaMarcada = areaMarcadaChkBx.Checked, TipoExcavacion = tipoExcavacion, ProfundidadPies = Convert.ToInt32(profundidadPiesTxtBx.Text), ProfundidadPulgadas = profundidadPulgadasDLL.SelectedIndex, LongitudPies = Convert.ToInt32(longitudPiesTxtBx.Text), LongitudPulgadas = longitudPulgadasDDL.SelectedIndex, CoordenadaX = decimal.Parse(coordenadasXTxtBx.Text), CoordenadaY = decimal.Parse(coordenadasYTxtBx.Text), EnCasoEmergencia = enCasoEmergenciaTxtBx.Text.ToUpper(), //TramitadoPor = currentUser.NombreCompleto, //FechaTramite = DateTime.Now, #endregion Documentos = documentos, ExtensionID = (int)SolicitudAviso.TiposExtensiones.Primera //Usuario = new User() //{ // Email = currentUser.Email, //// NombreCompleto = currentUser.Nombre + " " + currentUser.Inicial + " " //// + currentUser.ApellidoPaterno + " " + currentUser.ApellidoMaterno //} }; solicitud.EstatusId = string.Format("{0}{1}", solicitud.LetraStatus, statusHF.Value); #endregion LinkedList<Mail> mails = new MailServicio().GetMailMsgs(); #region Create / Edit if (String.IsNullOrEmpty(primeraExtExistente.NumeroControl.NumControlText)) { #region Create #region validate docs LinkedList<FileUpload> _docRequeridosFileUpload = new LinkedList<FileUpload>(); var files = Request.Files; LinkedList<FileUpload> docRequeridosFileUpload = (LinkedList<FileUpload>)Session["docRequeridosFileUpload"]; foreach (var t in docRequeridosFileUpload) { _docRequeridosFileUpload.AddLast((FileUpload)docRequeridosMainDiv.FindControl(t.ID)); //if (!t.HasFile) //{ // exceptionMsg += t.ID.Replace("fileUp", string.Empty) + ", requerido </br>"; //} } foreach (var d in _docRequeridosFileUpload) { if (!d.HasFile) { exceptionMsg += d.ID.Replace("fileUp", string.Empty) + ", requerido </br>"; } } if (!string.IsNullOrWhiteSpace(exceptionMsg)) { throw new Exception(exceptionMsg); } #endregion #region Docs for (int i = 0; i < _docRequeridosFileUpload.Count; i++) { DocumentoRequerido docReq = new DocumentoRequerido() { Nombre = _docRequeridosFileUpload.ElementAt(i).ID.Replace("fileUp", string.Empty), NumeroControl = numeroControl, Path = string.Format("{0}/{1}/{2}_{3}", new DocumentoRequerido().DocumentosPrimerasSavePath, user.Email , numeroControl.NumControlText, Path.GetFileName(_docRequeridosFileUpload.ElementAt(i).PostedFile.FileName)), Tipo = tipoAvisoRBtnLst.SelectedIndex, ExtensionId = (int)SolicitudAviso.TiposExtensiones.Primera }; //LinkedList<DropDownList> docAsociadosStatuses = (LinkedList<DropDownList>)Session["docAsociadosStatusesExt"]; //if (docAsociadosStatuses != null) //{ // docReq.Status = docAsociadosStatuses.ElementAt(i).SelectedIndex; //} documentos.AddLast(docReq); #region Create aviso dir ////DirectoryInfo dirInfo = new DirectoryInfo(string.Format("{0}/{1}", documentos.ElementAt(i).Path ////, numeroControl.NumControlText)); //DirectoryInfo dirInfo = new DirectoryInfo(documentos.ElementAt(i).Path), // subDirInfo = new DirectoryInfo(string.Format("{0}/{1}", documentos.ElementAt(i).Path, numeroControl.NumControlText)); //if (!subDirInfo.Exists) //{ // dirInfo.CreateSubdirectory(string.Format("{0}/{1}", documentos.ElementAt(i).Path, numeroControl.NumControlText)); //} #endregion } #endregion exceptionNumControl = solicitud.NumeroControl; averias = SetAveriasNumControl(averias, numeroControl); documentos = SetDocumentsNumControl(documentos, numeroControl); solicitud.EstatusId = string.Format("{0}{1}", solicitud.LetraStatus, ((int)SolicitudAviso.Estatus.PendienteRevisarCoordinador).ToString()); //info de la empresa solicitud.Usuario = new User() { Email = currentUser.Email, NombreCompleto = currentUser.Nombre + " " + currentUser.Inicial + " " + currentUser.ApellidoPaterno + " " + currentUser.ApellidoMaterno }; solicitud.TramitadoPor = solicitud.Usuario.NombreCompleto; solicitud.FechaTramite = DateTime.Now; new DocumentosRequeridosServicio().TryCreate(documentos); new AveriasServicio().TryCreate(averias); new PrimerasExtensionesServicio().TryCreate(solicitud); SaveDocs(_docRequeridosFileUpload, documentos); #region Email coordinadores LinkedList<string> to = new LinkedList<string>(); LinkedList<User> coordinadores = new SolicitudesInicialesServicio().GetCoordinadores(), superInspectores = new SolicitudesInicialesServicio().GetSuperInspectores(), directores = new SolicitudesInicialesServicio().GetDirectores(); for (int i = 0; i < coordinadores.Count; i++) { to.AddLast(coordinadores.ElementAt(i).Email); } for (int i = 0; i < superInspectores.Count; i++) { to.AddLast(superInspectores.ElementAt(i).Email); } for (int i = 0; i < directores.Count; i++) { to.AddLast(directores.ElementAt(i).Email); } //to = new LinkedList<string>(); //Uncomment when intergrating //to.AddLast(currentUser.Email); //SendEmail(to, "", "", ""); //to.AddLast("*****@*****.**"); //only test try { if (CheckForInternetConnection()) SendEmail(to, "*****@*****.**", mails.ElementAt((int)Mail.Notifications.ExtensionNueva).Subject, mails.ElementAt((int)Mail.Notifications.ExtensionNueva).Body.Replace( "@NumControl", numeroControl.NumControlText).Replace("@NombreEmpresa", solicitud.NombreEmpresa), new LinkedList<string>()); // only test } catch (Exception ex) { } #endregion #endregion } else { #region Edit exceptionNumControl = solicitud.NumeroControl; //Remove estatus letra solicitud.EstatusId = solicitud.EstatusId.Replace(solicitud.LetraStatus, string.Empty).Replace(new Inspeccion().LetraStatus, string.Empty); LinkedList<string> to = new LinkedList<string>(); //to.AddLast("*****@*****.**"); //only test to.AddLast(user.Email); #region Actualiza status solicitud if ((Convert.ToInt32(solicitud.EstatusId)) == ((int)SolicitudAviso.Estatus.PendienteRevisarCoordinador)) { if (string.IsNullOrWhiteSpace(solicitud.Coordinador.Nombre)) { solicitud.Coordinador.Nombre = string.Format("{0} {1} {2}", currentUser.Nombre, currentUser.ApellidoPaterno, currentUser.ApellidoMaterno); } solicitud.EstatusId = GenerateStatus(ref docsExistentes).ToString(); documentos = docsExistentes; if (solicitud.EstatusId.Equals(((int)SolicitudAviso.Estatus.PendienteAsignarInspector).ToString())) { //solicitud.FechaRespuestaSolicitadas = DateTime.Now.ToShortDateString(); SolicitudAviso solicitudIncial = new SolicitudesInicialesServicio().GetSolicitud(numeroControl); solicitud.FechaComienzo = ValidarFecha(solicitudIncial.FechaComienzo); solicitud.FechaExpiracion = solicitud.FechaComienzo.AddDays(60); Company company = new SolicitudesInicialesServicio().GetCompany(companyDDL.SelectedValue); #region Poblar hoja inspeccion Inspeccion inspeccion = new Inspeccion() { EstatusInspeccionID = "1", TipoInspeccionID = "1", NumeroInspeccion = solicitud.NumeroControl.NumControlText, //ExtensionID = (int)SolicitudAviso.TiposExtensiones.Primera, NumeroPlacaID = "000", NumeroControl = new NumeroControl() { NumControl = solicitud.NumeroControl.NumControl, Year = solicitud.NumeroControl.Year, NumControlText = solicitud.NumeroControl.NumControlText }, NombreEmpresa = solicitud.NombreEmpresa, RepresentateAutorizado = solicitud.RepresentanteAutorizado, CorreoElectronico = solicitud.CorreoElectronico, DireccionPostal = solicitud.DireccionPostal, DireccionFisica = company.DireccionFisica, TelOficina = solicitud.TelOficina, TelTrabajo = solicitud.TelCampoTrabajo, Celular = solicitud.TelCelular, TipoAviso = ((int)SolicitudAviso.TiposExtensiones.Primera).ToString(), TipoTrabajo = solicitud.TipoAviso, FechaComienzo = solicitud.FechaComienzo, FechaExpiracion = solicitud.FechaExpiracion, LongitudPies = solicitud.LongitudPies, LongitudPulgadas = solicitud.LongitudPulgadas, ProfundidadPies = solicitud.ProfundidadPies, ProfundidadPulgadas = solicitud.ProfundidadPulgadas, CoordenadaX = float.Parse(solicitud.CoordenadaX.ToString()), CoordenadaY = float.Parse(solicitud.CoordenadaY.ToString()), RazonTrabajos = solicitud.RazonTrabajos, Zona = solicitud.Zona, BoUrbT = solicitud.BoUrb, SectorCalleT = solicitud.SectorCalle, CarreteraT = solicitud.Carretera, KM = solicitud.KM, HM = solicitud.HM, MunicipioT = municipioTrabajoDDL.SelectedValue, }; #endregion new InspeccionesServicio().TryCrear(inspeccion); ViewState["justCreatedInspeccion"] = true; //throw new Exception("inspeccion error test"); #region Enviar email excavador //currentUser = new SolicitudesInicialesServicio().GetUser(solicitud.Usuario.Id); // User currentUser = new SolicitudesInicialesServicio().GetUser(solicitud.Usuario.Email); //to = new LinkedList<string>(); //to.AddLast(currentUser.Email); //SendEmail(to, "", "", ""); LinkedList<string> attachment = new LinkedList<string>(); LinkedList<string> attachment = new LinkedList<string>(); #region pdf stuff Document doc = new Document(PageSize.LETTER, 0f, 0f, 0f, 0f); String Fecha = DateTime.Now.ToString(); iTextSharp.text.Font NormalFont = FontFactory.GetFont("Arial", 12, Font.NORMAL, Color.BLACK); using (System.IO.MemoryStream memoryStream = new System.IO.MemoryStream()) { PdfWriter writer = PdfWriter.GetInstance(doc, memoryStream); Phrase phrase = null; PdfPCell cell = null; PdfPCell b = new PdfPCell(new Phrase(" ")); PdfPTable table = null; //Color color = null; //PdfPCell imageCell = new PdfPCell(Check); PdfPCell uncheck = ImageCell("~/Images/uncheck4.png", 2f, PdfPCell.ALIGN_CENTER); PdfPCell check = ImageCell("~/Images/Check4.png", 2f, PdfPCell.ALIGN_CENTER); PdfPCell cbox = check, signatureImgCell = ImageCell(string.Format("~/Images/Documentos/Firmas/{0}_Firma.png", user.Email), 50f, PdfPCell.ALIGN_CENTER); DateTime datevalue = (Convert.ToDateTime(Fecha.ToString())); Fecha = datevalue.ToString("MM/dd/yyyy"); String[] mes = { "ENERO", "FEBRERO", "MARZO", "ABRIL", "MAYO", "JUNIO", "JULIO", "AGOSTO", "SEPTIEMBRE", "OCTUBRE", "NOVIEMBRE", "DICIEMBRE" }; String FechaLetras = datevalue.Day.ToString() + " DE " + mes[datevalue.Month - 1] + " DE " + datevalue.Year.ToString(); doc.Open(); #region Header Paragraph p = new Paragraph("DTOP- 09/15 \n\n", FontFactory.GetFont("Arial", 8, Font.NORMAL, Color.BLACK)); p.Alignment = Element.ALIGN_RIGHT; doc.Add(p); //Header Table table = new PdfPTable(3); //Header Data cell = ImageCell("~/images/EscudoPR.png", 40f, PdfPCell.ALIGN_LEFT); cell.Border = 0; table.AddCell(cell); cell = new PdfPCell(new Phrase(" ")); cell.Border = 0; table.AddCell(cell); phrase = new Phrase(); phrase.Add(new Chunk("\n\nNÚMERO DE AVISO:\n", FontFactory.GetFont("Arial", 8, Font.NORMAL, Color.BLACK))); phrase.Add(new Chunk("DEDT-" + solicitud.NumeroControl.NumControlText, FontFactory.GetFont("Arial", 16, Font.BOLD, Color.RED))); cell = PhraseCell(phrase, PdfPCell.ALIGN_CENTER); cell.BorderColorLeft = Color.BLACK; cell.BorderColorRight = Color.BLACK; cell.BorderColorTop = Color.BLACK; cell.BorderColorBottom = Color.BLACK; cell.BorderWidthLeft = 1f; cell.BorderWidthRight = 1f; cell.BorderWidthTop = 1f; cell.BorderWidthBottom = 1f; cell.Border = Rectangle.BOX; table.AddCell(cell); cell = new PdfPCell(new Phrase(" ")); cell.Colspan = 3; SetBorder(cell, false, false, false, false); table.AddCell(cell); doc.Add(table); p = new Paragraph("DIRECTORÍA DE EXCAVACIONES, DEMOLICIONES Y TUBERÍAS", FontFactory.GetFont("Arial", 14, Font.NORMAL, Color.BLACK)); p.Alignment = Element.ALIGN_CENTER; doc.Add(p); p = new Paragraph("CENTRO DE COORDINACIÓN DE EXCAVACIONES Y DEMOLICIONES", FontFactory.GetFont("Arial", 14, Font.NORMAL, Color.BLACK)); p.Alignment = Element.ALIGN_CENTER; doc.Add(p); p = new Paragraph("CERTIFICACIÓN DE TRÁMITE DE AVISO DE EXCAVACIÓN Y/O DEMOLICIÓN\n\n", FontFactory.GetFont("Arial", 14, Font.BOLD, Color.BLACK)); p.Alignment = Element.ALIGN_CENTER; doc.Add(p); ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// table = new PdfPTable(7); table.SetWidths(new float[] { 1.0f, 0.5f, 3.5f, 1.5f, 0.2f, 0.4f, 0.1f }); cell = new PdfPCell(new Phrase("")); cell.Colspan = 7; SetBorder(cell, true, true, true, false); table.AddCell(cell); //////////////////// cell = new PdfPCell(new Phrase("EMERGENCIA", FontFactory.GetFont("Arial", 9, Font.NORMAL, Color.BLACK))); SetBorder(cell, true, false, false, false); table.AddCell(cell); cbox = uncheck; if (solicitud.Emergencia) cbox = check; SetBorder(cell, false, false, false, false); table.AddCell(cbox); cell = new PdfPCell(new Phrase("FECHA DE PRESENTACIÓN:", FontFactory.GetFont("Arial", 9, Font.NORMAL, Color.BLACK))); cell.HorizontalAlignment = PdfPCell.ALIGN_CENTER; SetBorder(cell, false, false, false, false); table.AddCell(cell); cell = new PdfPCell(new Phrase("AVISO INICIAL", FontFactory.GetFont("Arial", 9, Font.NORMAL, Color.BLACK))); cell.HorizontalAlignment = PdfPCell.ALIGN_RIGHT; SetBorder(cell, false, false, false, false); table.AddCell(cell); cell = new PdfPCell(new Phrase("")); SetBorder(cell, false, false, false, false); table.AddCell(cell); cbox = uncheck; if (solicitud.ExtensionID == (int)SolicitudAviso.TiposExtensiones.Inicial) cbox = check; SetBorder(cell, false, false, false, false); table.AddCell(cbox); cell = new PdfPCell(new Phrase("")); SetBorder(cell, false, false, true, false); table.AddCell(cell); ////////////////////////////////////////// cell = new PdfPCell(new Phrase("EXCAVACIÓN", FontFactory.GetFont("Arial", 9, Font.NORMAL, Color.BLACK))); SetBorder(cell, true, false, false, false); table.AddCell(cell); cbox = uncheck; if (solicitud.TipoAviso.Equals(((int)SolicitudAviso.TiposAvisos.Excavacion).ToString())) cbox = check; SetBorder(cell, false, false, false, false); table.AddCell(cbox); cell = new PdfPCell(new Phrase(FechaLetras, FontFactory.GetFont("Arial", 12, Font.BOLD, Color.BLACK))); cell.HorizontalAlignment = PdfPCell.ALIGN_CENTER; SetBorder(cell, false, false, false, false); table.AddCell(cell); cell = new PdfPCell(new Phrase("1RA EXTENSIÓN", FontFactory.GetFont("Arial", 9, Font.NORMAL, Color.BLACK))); cell.HorizontalAlignment = PdfPCell.ALIGN_RIGHT; SetBorder(cell, false, false, false, false); table.AddCell(cell); cell = new PdfPCell(new Phrase("")); SetBorder(cell, false, false, false, false); table.AddCell(cell); cbox = uncheck; if (solicitud.ExtensionID == (int)SolicitudAviso.TiposExtensiones.Primera) cbox = check; SetBorder(cell, false, false, false, false); table.AddCell(cbox); cell = new PdfPCell(new Phrase("")); SetBorder(cell, false, false, true, false); table.AddCell(cell); /////////////////// cell = new PdfPCell(new Phrase("DEMOLICIÓN", FontFactory.GetFont("Arial", 9, Font.NORMAL, Color.BLACK))); SetBorder(cell, true, false, false, false); table.AddCell(cell); cbox = uncheck; if (solicitud.TipoAviso.Equals(((int)SolicitudAviso.TiposAvisos.Demolicion).ToString())) cbox = check; SetBorder(cell, false, false, false, false); table.AddCell(cbox); cell = new PdfPCell(new Phrase(" ")); SetBorder(cell, false, false, false, false); table.AddCell(cell); cell = new PdfPCell(new Phrase("2RA EXTENSIÓN", FontFactory.GetFont("Arial", 9, Font.NORMAL, Color.BLACK))); cell.HorizontalAlignment = PdfPCell.ALIGN_RIGHT; SetBorder(cell, false, false, false, false); table.AddCell(cell); cell = new PdfPCell(new Phrase(" ")); SetBorder(cell, false, false, false, false); table.AddCell(cell); cbox = uncheck; if (solicitud.ExtensionID == (int)SolicitudAviso.TiposExtensiones.Segunda) cbox = check; SetBorder(cell, false, false, false, false); table.AddCell(cbox); cell = new PdfPCell(new Phrase(" ")); SetBorder(cell, false, false, true, false); table.AddCell(cell); ////////////////// cell = new PdfPCell(new Phrase("RESIDENCIAL", FontFactory.GetFont("Arial", 9, Font.NORMAL, Color.BLACK))); SetBorder(cell, true, false, false, false); table.AddCell(cell); cbox = uncheck; if (solicitud.TipoAviso.Equals(((int)SolicitudAviso.TiposAvisos.Residencial).ToString())) cbox = check; SetBorder(cell, false, false, false, false); table.AddCell(cbox); //cell = new PdfPCell(new Phrase("", FontFactory.GetFont("Arial", 9, Font.NORMAL, Color.BLACK))); //cell.HorizontalAlignment = PdfPCell.ALIGN_RIGHT; //SetBorder(cell, false, false, false, false); //table.AddCell(cell); cell = new PdfPCell(new Phrase(" ")); SetBorder(cell, false, false, false, false); table.AddCell(cell); cell = new PdfPCell(new Phrase(" ")); SetBorder(cell, false, false, false, false); table.AddCell(cell); ///////////////////////// cell = new PdfPCell(new Phrase("")); cell.Colspan = 7; SetBorder(cell, true, false, true, true); table.AddCell(cell); cell = new PdfPCell(new Phrase("")); cell.Colspan = 7; SetBorder(cell, false, false, false, false); table.AddCell(cell); doc.Add(table); #endregion //Información del Solicitante---------------------------------------------------------------------------------------------------------- #region Info solicitante table = new PdfPTable(20); cell = new PdfPCell(new Phrase("INFORMACIÓN DEL SOLICITANTE:", FontFactory.GetFont("Arial", 11, Font.BOLD, Color.BLACK))); cell.Colspan = 20; SetBorder(cell, true, true, true, false); table.AddCell(cell); cell = new PdfPCell(new Phrase("")); cell.Colspan = 20; SetBorder(cell, true, false, true, false); table.AddCell(cell); cell = new PdfPCell(new Phrase("NOMBRE DE LA COMPAÑÍA:", FontFactory.GetFont("Arial", 9, Font.BOLD, Color.BLACK))); cell.Colspan = 6; SetBorder(cell, true, false, false, false); table.AddCell(cell); cell = new PdfPCell(new Phrase(solicitud.NombreEmpresa, FontFactory.GetFont("Arial", 9, Font.NORMAL, Color.BLACK))); cell.Colspan = 14; SetBorder(cell, false, false, true, false); table.AddCell(cell); cell = new PdfPCell(new Phrase("PERSONA CONTACTO:", FontFactory.GetFont("Arial", 9, Font.BOLD, Color.BLACK))); cell.Colspan = 5; SetBorder(cell, true, false, false, false); table.AddCell(cell); cell = new PdfPCell(new Phrase(solicitud.NombreContacto, FontFactory.GetFont("Arial", 9, Font.NORMAL, Color.BLACK))); cell.Colspan = 8; SetBorder(cell, false, false, false, false); table.AddCell(cell); cell = new PdfPCell(new Phrase("TEL / CELULAR:", FontFactory.GetFont("Arial", 9, Font.BOLD, Color.BLACK))); cell.Colspan = 4; SetBorder(cell, false, false, false, false); table.AddCell(cell); cell = new PdfPCell(new Phrase(solicitud.CelularContacto, FontFactory.GetFont("Arial", 9, Font.NORMAL, Color.BLACK))); cell.HorizontalAlignment = PdfPCell.ALIGN_CENTER; cell.Colspan = 3; SetBorder(cell, false, false, true, false); table.AddCell(cell); cell = new PdfPCell(new Phrase("")); cell.Colspan = 20; SetBorder(cell, true, false, true, false); table.AddCell(cell); cell = new PdfPCell(new Phrase("DIRECCIÓN DONDE SE REALIZARÁ LA EXCAVACIÓN Y/O DEMOLICIÓN:", FontFactory.GetFont("Arial", 9, Font.BOLD, Color.BLACK))); cell.Colspan = 20; SetBorder(cell, true, false, true, false); table.AddCell(cell); cell = new PdfPCell(new Phrase(solicitud.BoUrb + ", " + solicitud.SectorCalle + ", " + solicitud.Carretera + ", " + solicitud.MunicipioId, FontFactory.GetFont("Arial", 9, Font.NORMAL, Color.BLACK))); cell.Colspan = 20; SetBorder(cell, true, false, true, false); table.AddCell(cell); cell = new PdfPCell(new Phrase(" ")); cell.Colspan = 20; SetBorder(cell, true, false, true, false); table.AddCell(cell); cell.Colspan = 20; SetBorder(cell, true, false, true, true); table.AddCell(cell); cell = new PdfPCell(new Phrase("")); cell.Colspan = 20; SetBorder(cell, false, false, false, false); table.AddCell(cell); doc.Add(table); #endregion //----Información del Subcontratista--------------------------------------------------------------------------------------------------------------------------------------------------- #region Info Sub table = new PdfPTable(20); cell = new PdfPCell(new Phrase("INFORMACIÓN DEL SUBCONTRATISTA:", FontFactory.GetFont("Arial", 11, Font.BOLD, Color.BLACK))); cell.Colspan = 20; SetBorder(cell, true, true, true, false); table.AddCell(cell); cell = new PdfPCell(new Phrase("")); cell.Colspan = 20; SetBorder(cell, true, false, true, false); table.AddCell(cell); cell = new PdfPCell(new Phrase("NOMBRE DE LA COMPAÑÍA:", FontFactory.GetFont("Arial", 9, Font.BOLD, Color.BLACK))); cell.Colspan = 6; SetBorder(cell, true, false, false, false); table.AddCell(cell); cell = new PdfPCell(new Phrase(solicitud.Subcontratista, FontFactory.GetFont("Arial", 9, Font.NORMAL, Color.BLACK))); cell.Colspan = 14; SetBorder(cell, false, false, true, false); table.AddCell(cell); cell = new PdfPCell(new Phrase("PERSONA CONTACTO:", FontFactory.GetFont("Arial", 9, Font.BOLD, Color.BLACK))); cell.Colspan = 5; SetBorder(cell, true, false, false, false); table.AddCell(cell); cell = new PdfPCell(new Phrase(solicitud.NombreContacto, FontFactory.GetFont("Arial", 9, Font.NORMAL, Color.BLACK))); cell.Colspan = 8; SetBorder(cell, false, false, false, false); table.AddCell(cell); cell = new PdfPCell(new Phrase("TEL / CELULAR:", FontFactory.GetFont("Arial", 9, Font.BOLD, Color.BLACK))); cell.Colspan = 4; SetBorder(cell, false, false, false, false); table.AddCell(cell); cell = new PdfPCell(new Phrase(solicitud.TelCelularSub, FontFactory.GetFont("Arial", 9, Font.NORMAL, Color.BLACK))); cell.HorizontalAlignment = PdfPCell.ALIGN_CENTER; cell.Colspan = 3; SetBorder(cell, false, false, true, false); table.AddCell(cell); cell = new PdfPCell(new Phrase(" ")); cell.Colspan = 20; SetBorder(cell, true, false, true, true); table.AddCell(cell); cell = new PdfPCell(new Phrase("")); cell.Colspan = 20; SetBorder(cell, false, false, false, false); table.AddCell(cell); doc.Add(table); #endregion //Información de los Trabajos a Realizar////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// #region Info trabajos table = new PdfPTable(20); cell = new PdfPCell(new Phrase("INFORMACIÓN DE LOS TRABAJOS A REALIZAR:", FontFactory.GetFont("Arial", 9, Font.BOLD, Color.BLACK))); cell.Colspan = 20; SetBorder(cell, true, true, true, false); table.AddCell(cell); cell = new PdfPCell(new Phrase("")); cell.Colspan = 20; SetBorder(cell, true, false, true, false); table.AddCell(cell); cell = new PdfPCell(new Phrase("FECHA DE COMIENZO:", FontFactory.GetFont("Arial", 9, Font.BOLD, Color.BLACK))); cell.Colspan = 5; SetBorder(cell, true, false, false, false); table.AddCell(cell); cell = new PdfPCell(new Phrase(solicitud.FechaComienzo.ToShortDateString(), FontFactory.GetFont("Arial", 9, Font.NORMAL, Color.BLACK))); cell.HorizontalAlignment = PdfPCell.ALIGN_CENTER; cell.Colspan = 3; SetBorder(cell, false, false, false, false); table.AddCell(cell); cell = new PdfPCell(new Phrase(" ")); cell.Colspan = 4; SetBorder(cell, false, false, false, false); table.AddCell(cell); cell = new PdfPCell(new Phrase("FECHA DE EXPIRACIÓN:", FontFactory.GetFont("Arial", 9, Font.BOLD, Color.BLACK))); cell.Colspan = 5; SetBorder(cell, false, false, false, false); table.AddCell(cell); cell = new PdfPCell(new Phrase(solicitud.FechaExpiracion.ToShortDateString(), FontFactory.GetFont("Arial", 9, Font.NORMAL, Color.BLACK))); cell.HorizontalAlignment = PdfPCell.ALIGN_CENTER; cell.Colspan = 3; SetBorder(cell, false, false, true, false); table.AddCell(cell); cell = new PdfPCell(new Phrase("HORARIO EN QUE SE REALIZARÁ LA(S) EXCAVACIÓN Y/O DEMOLICIÓN", FontFactory.GetFont("Arial", 9, Font.BOLD, Color.BLACK))); cell.Colspan = 6; SetBorder(cell, true, false, false, false); table.AddCell(cell); cell = new PdfPCell(new Phrase(solicitud.Horario, FontFactory.GetFont("Arial", 9, Font.NORMAL, Color.BLACK))); cell.Colspan = 14; SetBorder(cell, false, false, true, false); table.AddCell(cell); cell = new PdfPCell(new Phrase("")); cell.Colspan = 20; SetBorder(cell, true, false, true, false); table.AddCell(cell); cell = new PdfPCell(new Phrase("MAQUINARIA", FontFactory.GetFont("Arial", 9, Font.BOLD, Color.BLACK))); cell.Colspan = 3; SetBorder(cell, true, false, false, false); table.AddCell(cell); cell.Colspan = 1; cbox = uncheck; if (solicitud.Maquinaria) cbox = check; SetBorder(cell, false, false, false, false); table.AddCell(cbox); cell = new PdfPCell(new Phrase("SI", FontFactory.GetFont("Arial", 9, Font.BOLD, Color.BLACK))); cell.Colspan = 1; SetBorder(cell, false, false, false, false); table.AddCell(cell); cell.Colspan = 1; cbox = uncheck; if (!solicitud.Maquinaria) cbox = check; SetBorder(cell, false, false, false, false); table.AddCell(cbox); cell = new PdfPCell(new Phrase("NO", FontFactory.GetFont("Arial", 9, Font.BOLD, Color.BLACK))); cell.Colspan = 1; SetBorder(cell, false, false, false, false); table.AddCell(cell); cell = new PdfPCell(new Phrase("DESCRIPCIÓN MAQUINARIA:", FontFactory.GetFont("Arial", 9, Font.BOLD, Color.BLACK))); cell.Colspan = 6; SetBorder(cell, false, false, false, false); table.AddCell(cell); cell = new PdfPCell(new Phrase(solicitud.TipoMaquinaria, FontFactory.GetFont("Arial", 9, Font.NORMAL, Color.BLACK))); cell.Colspan = 7; SetBorder(cell, false, false, true, false); table.AddCell(cell); cell = new PdfPCell(new Phrase("EXPLOSIVOS", FontFactory.GetFont("Arial", 9, Font.BOLD, Color.BLACK))); cell.Colspan = 3; SetBorder(cell, true, false, false, false); table.AddCell(cell); cbox = uncheck; if (solicitud.Explosivos) cbox = check; cell.Colspan = 1; SetBorder(cell, false, false, false, false); table.AddCell(cbox); cell = new PdfPCell(new Phrase("SI", FontFactory.GetFont("Arial", 9, Font.BOLD, Color.BLACK))); cell.Colspan = 1; SetBorder(cell, false, false, false, false); table.AddCell(cell); cbox = uncheck; if (!solicitud.Explosivos) cbox = check; cell.Colspan = 1; SetBorder(cell, false, false, false, false); table.AddCell(cbox); cell = new PdfPCell(new Phrase("NO", FontFactory.GetFont("Arial", 9, Font.BOLD, Color.BLACK))); cell.Colspan = 1; SetBorder(cell, false, false, false, false); table.AddCell(cell); cell = new PdfPCell(new Phrase("NÚMERO LICENCIA EXPLOSIVOS:", FontFactory.GetFont("Arial", 9, Font.BOLD, Color.BLACK))); cell.Colspan = 7; SetBorder(cell, false, false, false, false); table.AddCell(cell); cell = new PdfPCell(new Phrase(solicitud.LicenciaExplosivo, FontFactory.GetFont("Arial", 9, Font.NORMAL, Color.BLACK))); cell.Colspan = 6; SetBorder(cell, false, false, true, false); table.AddCell(cell); /////////////////////////////////////////// cell = new PdfPCell(new Phrase("")); cell.Colspan = 20; SetBorder(cell, true, false, true, false); table.AddCell(cell); cell = new PdfPCell(new Phrase("DESCRIPCIÓN DE LOS TRABAJOS A REALIZAR:", FontFactory.GetFont("Arial", 9, Font.BOLD, Color.BLACK))); cell.Colspan = 20; SetBorder(cell, true, false, true, false); table.AddCell(cell); cell = new PdfPCell(new Phrase(solicitud.RazonTrabajos, FontFactory.GetFont("Arial", 9, Font.NORMAL, Color.BLACK))); cell.Colspan = 20; SetBorder(cell, true, false, true, false); table.AddCell(cell); cell = new PdfPCell(new Phrase("COMENTARIOS:", FontFactory.GetFont("Arial", 9, Font.BOLD, Color.BLACK))); cell.Colspan = 4; SetBorder(cell, true, false, false, false); table.AddCell(cell); cell = new PdfPCell(new Phrase(" ", FontFactory.GetFont("Arial", 9, Font.NORMAL, Color.BLACK))); cell.Colspan = 17; SetBorder(cell, false, false, true, false); table.AddCell(cell); cell = new PdfPCell(new Phrase(" ")); cell.Colspan = 20; SetBorder(cell, true, false, true, false); table.AddCell(cell); cell = new PdfPCell(new Phrase(" ")); cell.Colspan = 20; SetBorder(cell, true, false, true, true); table.AddCell(cell); doc.Add(table); #endregion #region Footer table = new PdfPTable(6); //cell = signatureImgCell; //cell.Colspan = 2; //cell.Border = 0; //cell.PaddingTop = 20f; //table.AddCell(cell); //p = new Paragraph("\n\n" + /*solicitud.Coordinador.Nombre +*/"\n___________________________________________________\n" + //" FIRMA DEL COORDINADOR QUE AUTORIZÓ EL AVISO\n\n" + //" FECHA: " + Fecha + "\n\n", FontFactory.GetFont("Arial", 9, Font.BOLD, Color.BLACK)); //p.Alignment = Element.ALIGN_TOP; //p = new Paragraph(); //var phr = new Phrase("\n\n\n___________________________________________________\n" + //" FIRMA DEL COORDINADOR QUE AUTORIZÓ EL AVISO\n\n"); //phr.Font = FontFactory.GetFont("Arial", 9, Font.BOLD, Color.BLACK); //p.Alignment = Element.ALIGN_LEFT; //p.Font = FontFactory.GetFont("Arial", 9, Font.BOLD, Color.BLACK); //cell = new PdfPCell(new Phrase(p)); cell = new PdfPCell(); var firmaImg = iTextSharp.text.Image.GetInstance(Server.MapPath( string.Format("~/Images/Documentos/Firmas/{0}_Firma.png", user.Email))); firmaImg.ScalePercent(50f); firmaImg.SpacingBefore = 100f; //p.Add( new Chunk(firmaImg, 0, 100)); //p.Add(phr); //firmaImg.Alignment = Element.ALIGN_BOTTOM; //firmaImg.SetAbsolutePosition(0f, 200f); cell.AddElement(firmaImg); //cell.AddElement(phr); //cell.AddElement(p); //cell.HorizontalAlignment = Element.ALIGN_BOTTOM; cell.Colspan = 4; cell.Border = 0; //cell.Image = iTextSharp.text.Image.GetInstance("~/Images/Documentos/Firmas/firma1.png"); table.AddCell(cell); cell = ImageCell("~/images/SelloOficialCertificacion.png", 10f, PdfPCell.ALIGN_RIGHT); cell.Colspan = 2; cell.Border = 0; table.AddCell(cell); p = new Paragraph("FECHA: " + Fecha + "\n\nAdvertencia: Esta certificación no constituye un permiso para excavar o demoler dentro de la jurisdicción del \n" + "Estado Libre Asociado de Puerto Rico. La misma deberá ser mostrada a solicitud de la Policía de Puerto Rico,\n" + "Policía Municipal, Cuerpo de Bomberos, Oficiales del COT, Inspectores de DTOP y CSP y cualquier funcionario\n" + "del DTOP que asi lo solicite.", FontFactory.GetFont("Arial", 6, Font.NORMAL, Color.BLACK)); p.Alignment = Element.ALIGN_JUSTIFIED; cell = new PdfPCell(new Phrase(p)); cell.Border = 0; cell.Colspan = 4; table.AddCell(cell); p = new Paragraph(" SELLO OFICIAL", FontFactory.GetFont("Arial", 10, Font.NORMAL, Color.BLACK)); p.Alignment = Element.ALIGN_RIGHT; cell = new PdfPCell(new Phrase(p)); cell.HorizontalAlignment = PdfPCell.ALIGN_CENTER; cell.Border = 0; cell.Colspan = 2; table.AddCell(cell); doc.Add(table); #endregion doc.Close(); byte[] bytes = memoryStream.ToArray(); memoryStream.Close(); //File.WriteAllBytes(string.Format(@"{0}/{1}/Cert_{2}_Inicial.pdf", new DocumentoRequerido().DocumentosInicialesSavePath, // solicitud.Usuario.Email, solicitud.NumeroControl.NumControlText), bytes); //File.WriteAllBytes(string.Format(@"C:\inetpub\wwwroot\EXC\Certificaciones\Cert_{0}_Inicial.pdf", solicitud.NumeroControl.NumControlText), bytes); File.WriteAllBytes(Server.MapPath(string.Format(@"~/Certificaciones/Cert_{0}_EXT1.pdf", solicitud.NumeroControl.NumControlText)), bytes); //File.WriteAllBytes(string.Format(@"C:\Users\devilsLap\Downloads\{0}.pdf", solicitud.NumeroControl.NumControlText), bytes); //File.WriteAllBytes(string.Format(@"C:\Users\Administrator\Downloads\{0}.pdf", solicitud.NumeroControl.NumControlText), bytes); // //Response.Clear(); // //Response.ContentType = "application/pdf"; // //Response.AddHeader("Content-Disposition", "attachment; filename=" + NumeroControl + ".pdf"); // //Response.ContentType = "application/pdf"; // //Response.Buffer = true; // //Response.Cache.SetCacheability(HttpCacheability.NoCache); // //Response.BinaryWrite(bytes); // //Response.End(); // //Response.Close(); } #endregion attachment.AddLast(string.Format(@"C:\inetpub\wwwroot\EXC\Certificaciones\Cert_{0}_EXT1.pdf", solicitud.NumeroControl.NumControlText)); //attachment.AddLast(Server.MapPath(string.Format(@"{0}/{1}/Cert_{2}_EXT1.pdf", new DocumentoRequerido().DocumentosPrimerasSavePath, // solicitud.Usuario.Email, solicitud.NumeroControl.NumControlText))); //attachment.AddLast(string.Format(@"C:\Users\Administrator\Downloads\{0}.pdf", solicitud.NumeroControl.NumControlText)); //SendEmail(to, "*****@*****.**", new Mail().NotificationMsgs.Keys.ElementAt((int)Mail.Notifications.SolicitudAprovada), // new Mail().NotificationMsgs.Values.ElementAt((int)Mail.Notifications.SolicitudAprovada), attachment); //only foor test //SendEmail(to, "*****@*****.**", "With cert", "body", attachment); try { if (CheckForInternetConnection()) SendEmail(to, "*****@*****.**", mails.ElementAt((int)Mail.Notifications.SolicitudAprovada).Subject, mails.ElementAt((int)Mail.Notifications.SolicitudAprovada).Body.Replace( "@NumControl", numeroControl.NumControlText).Replace("@NombreEmpresa", solicitud.NombreEmpresa), attachment); // only test } catch (Exception ex) { } #endregion #region Enviar email a operadores LinkedList<string> from = new LinkedList<string>(); //to = new LinkedList<string>(); //LinkedList<Operador> operadores = new SolicitudesInicialesServicio().GetOperadores(); //foreach (var o in operadores) //{ // if (!currentUser.Email.Equals(o.Email)) // { // to.AddLast(o.Email); // } //} // //(to, "", "", ""); //SendEmail(to, "*****@*****.**", "Aviso", "Aviso de excavacion a operador", new LinkedList<string>()); // only test // if (CheckForInternetConnection()) // SendEmail(to, "*****@*****.**", //mails.ElementAt((int)Mail.Notifications.ExtensionNueva).Subject, //mails.ElementAt((int)Mail.Notifications.ExtensionNueva).Body.Replace( //"@NumControl", numeroControl.NumControlText).Replace("@NombreEmpresa", solicitud.NombreEmpresa), new LinkedList<string>()); // only test #endregion } else { //Notifica excavador que tiene docs incompletos //to = new LinkedList<string>();//user email solicitud.FechaDocsIncompletos = DateTime.Now; try { if (CheckForInternetConnection()) SendEmail(to, "*****@*****.**", mails.ElementAt((int)Mail.Notifications.ExtensionDocsIncompletos).Subject, mails.ElementAt((int)Mail.Notifications.ExtensionDocsIncompletos).Body.Replace( "@NumControl", numeroControl.NumControlText).Replace("@NombreEmpresa", solicitud.NombreEmpresa), new LinkedList<string>()); // only test } catch (Exception ex) { } //SendEmail(to, "*****@*****.**", "Aviso", "Docs incompletos", new LinkedList<string>()); //only foor test //SendEmail(to, "", "", ""); } } else if ((Convert.ToInt32(solicitud.EstatusId)) == ((int)SolicitudAviso.Estatus.PendienteDocumentosIncompletos)) { LinkedList<FileUpload> _docRequeridosFileUpload = new LinkedList<FileUpload>(); #region Validate docs requeridos LinkedList<FileUpload> docRequeridosFileUpload = (LinkedList<FileUpload>)Session["docRequeridosFileUpload"]; foreach (var t in docRequeridosFileUpload) { _docRequeridosFileUpload.AddLast((FileUpload)docRequeridosMainDiv.FindControl(t.ID)); //if (!t.HasFile) //{ // exceptionMsg += t.ID.Replace("fileUp", string.Empty) + ", requerido </br>"; //} } foreach (var d in _docRequeridosFileUpload) { if (!d.HasFile) { exceptionMsg += d.ID.Replace("fileUp", string.Empty) + ", requerido </br>"; } } if (!string.IsNullOrWhiteSpace(exceptionMsg)) { throw new Exception(exceptionMsg); } #endregion #region Docs for (int i = 0; i < _docRequeridosFileUpload.Count; i++) { DocumentoRequerido docReq = new DocumentoRequerido() { Nombre = _docRequeridosFileUpload.ElementAt(i).ID.Replace("fileUp", string.Empty), NumeroControl = numeroControl, Path = string.Format("{0}/{1}/{2}_{3}", new DocumentoRequerido().DocumentosPrimerasSavePath, user.Email , solicitud.NumeroControl.NumControlText, Path.GetFileName(_docRequeridosFileUpload.ElementAt(i).PostedFile.FileName)), Tipo = tipoAvisoRBtnLst.SelectedIndex, ExtensionId = (int)SolicitudAviso.TiposExtensiones.Primera }; LinkedList<DropDownList> docAsociadosStatuses = (LinkedList<DropDownList>)Session["docAsociadosStatusesExt"]; docReq.Status = docAsociadosStatuses.ElementAt(i).SelectedIndex; documentos.AddLast(docReq); } #endregion //documentos = SetDocumentsNumControl(documentos, numeroControl); #region Set docs id for (int i = 0; i < documentos.Count; i++) { documentos.ElementAt(i).DocumentoId = docsExistentes.ElementAt(i).DocumentoId; //documentos.ElementAt(i).Status = docsExistentes.ElementAt(i).Status; } #endregion SaveDocs(_docRequeridosFileUpload, documentos); solicitud.EstatusId = ((int)SolicitudAviso.Estatus.PendienteRevisarCoordinador).ToString(); solicitud.FechaDocsIncompletos = Convert.ToDateTime(@"01/01/1900"); try { if (CheckForInternetConnection()) SendEmail(to, "*****@*****.**", mails.ElementAt((int)Mail.Notifications.ExtensionRevisada).Subject, mails.ElementAt((int)Mail.Notifications.ExtensionRevisada).Body.Replace( "@NumControl", numeroControl.NumControlText).Replace("@NombreEmpresa", solicitud.NombreEmpresa), new LinkedList<string>()); // only test } catch (Exception ex) { } } //else if ((solicitud.EstatusId.Equals(((int)SolicitudAviso.Estatus.PendienteAsignarInspector).ToString()))) //{ // if (solicitud.Inspector.NumeroPlacaID.Equals("0")) // { // //solicitud.Inspector.NumeroPlacaID = Request.QueryString["inspectorId"]; // } // solicitud.EstatusId = ((int)SolicitudAviso.Estatus.EnProcesoInspeccion).ToString(); //} #endregion solicitud.NumeroControl.NumControl = Convert.ToInt32(solicitud.NumeroControl.NumControlText.Substring(4)); //Agrega letra al status id solicitud.EstatusId = string.Format("{0}{1}", solicitud.LetraStatus, solicitud.EstatusId); solicitud.FechaTramite = primeraExtExistente.FechaTramite; solicitud.TramitadoPor = primeraExtExistente.TramitadoPor; solicitud.Usuario = primeraExtExistente.Usuario; //documentos = SetDocumentsNumControl(documentos, numeroControl); averias = SetAveriasNumControl(averias, numeroControl); #region Set averias & docs Ids for (int i = 0; i < averiasExistentes.Count; i++) { averias.ElementAt(i).ID = averiasExistentes.ElementAt(i).ID; } //for (int i = 0; i < documentos.Count; i++) //{ // documentos.ElementAt(i).DocumentoId = docsExistentes.ElementAt(i).DocumentoId; //} #endregion new DocumentosRequeridosServicio().TryUpdate(documentos); new AveriasServicio().TryCreate(averias); new PrimerasExtensionesServicio().TryUpdate(solicitud); #endregion } #endregion guardarBtn.Enabled = true; Response.Redirect("~/Default.aspx", false); } catch (Exception ex) { if (string.IsNullOrWhiteSpace(exceptionMsg)) { guardarBtn.Enabled = true; errorLbl2.InnerText = ex.Message; } else { guardarBtn.Enabled = true; errorLbl2.InnerHtml = exceptionMsg; } if (ViewState["justCreatedInspeccion"] != null) { new InspeccionesServicio().TryDelete(exceptionNumControl, ((int)SolicitudAviso.TiposExtensiones.Primera).ToString()); } String errorLog = "Date: " + DateTime.Now.ToLongDateString() + "\r\n NumeroControl:" + exceptionNumControl.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(Server.MapPath(Inspeccion.ErrorLogDir + "Ext1Log.txt"), errorLog); Page.DataBind(); errorPopup.Show(); } }
protected void Page_Load(object sender, EventArgs e) { bool shouldLogOut = Session["shoulLogOut"] == null ? true : (bool)Session["shoulLogOut"]; if (shouldLogOut) { Response.Redirect("~/Account/Ingresar.aspx"); } User user = Session["UserObj"] == null ? new User() : (User)Session["UserObj"]; var title = (HtmlGenericControl)Master.FindControl("pageTitleSpan"); //title.Text = "hi"; title.InnerText = Title; if (!IsPostBack) { User _user = new Entidad.User() { EmpresaID = string.IsNullOrEmpty(Request.QueryString["EmpName"]) ? string.Empty : Request.QueryString["EmpName"].Replace("amp;", string.Empty).Replace("@AND", "&") //remove garbage }; var company = new SolicitudesInicialesServicio().GetCompany(_user); if (!string.IsNullOrEmpty(company.Nombre)) { #region Edit esOperador.Checked = company.EsOperador; if (company.TipoExcavador > 2) { RB3.Checked = true; } else if (company.TipoExcavador > 1) { RB2.Checked = true; } else { RB1.Checked = true; } NombreEmpresa.Text = company.Nombre; RepresentanteAutorizado.Text = company.RepresentanteAutorizado; if (company.EsOperador) { esOperador_CheckedChanged(esOperador, EventArgs.Empty); } CorreoElectronico.Text = company.CorreoElectronico; TelCampoTrabajo.Text = company.TelTrabajo; TelOficina.Text = company.TelOficina; Celular.Text = company.Celular; string[] direccionPostal = company.DireccionPostal.Split(','), direccionFisica = company.DireccionFisica.Split(','); UrbBarrioCond.Text = direccionPostal[0].Trim(); ApartBoxCalle.Text = direccionPostal[1].Trim(); Municipio.DataBind(); Municipio.SelectedValue = company.Municipio; Sector.Text = direccionPostal[2].Trim(); EstadoPais.DataBind(); EstadoPais.SelectedValue = direccionPostal[3].Trim(); CodigoPostal.Text = company.CodigoPostal; UrbBarrioCondDF.Text = direccionFisica[0].Trim(); ApartBoxCalleDF.Text = direccionFisica[1].Trim(); MunicipioDF.DataBind(); MunicipioDF.SelectedValue = direccionFisica[2].Trim(); SectorDF.Text = direccionFisica[3].Trim(); EstadoPaisDF.DataBind(); EstadoPaisDF.SelectedValue = direccionFisica[4].Trim(); CodigoPostalDF.Text = direccionFisica[5].Trim(); Comentarios.Text = company.Comentario; #endregion } else { #region Leaving msg ClientScript.RegisterStartupScript(GetType(), "leavingMsg", @"window.onbeforeunload = LeavingMsg; function LeavingMsg() { debugger; txt = document.getElementById('" + NombreEmpresa.ClientID + @"'); //txtVal = txt.value.trim(); //if(txtVal.length === 0) //if string is empty //{ return 'Recuerde registrar su entidad antes de navegar fuera de esta pagina'; //} }", true); #endregion } if (company.EsOperador) { CorreoElectronico.Attributes["style"] = "display:normal;"; emailLbl.Attributes["style"] = "display:normal; text-align:right"; emailREV.Enabled = true; emailRFV.Enabled = true; } else { CorreoElectronico.Attributes["style"] = "display:none;"; emailLbl.Attributes["style"] = "display:none; text-align:right"; emailREV.Enabled = false; emailRFV.Enabled = false; } } else { ClientScript.RegisterStartupScript(GetType(), "leavingMsg", "", true); } }
protected void Guardar_Click(object sender, EventArgs e) { int[] err = new int[23]; err[0] = 0; /////////////////////////////////////////////////////////////////// EAF ///////////////////////////////////////////////////////////// if (err[0] == 0) { string TipoExc = ""; if (RB1.Checked) TipoExc = "1"; if (RB2.Checked) TipoExc = "2"; if (RB3.Checked) TipoExc = "3"; string cs = ConfigurationManager.ConnectionStrings["EXC"].ConnectionString; using (SqlConnection conn = new SqlConnection(cs)) { using (SqlCommand cmd = new SqlCommand()) { cmd.Connection = conn; cmd.CommandType = CommandType.Text; User _user = new Entidad.User() { EmpresaID = string.IsNullOrEmpty(Request.QueryString["EmpName"]) ? string.Empty : Request.QueryString["EmpName"].Replace("amp;", string.Empty).Replace("@AND", "&") }; var existingCompany = new SolicitudesInicialesServicio().GetCompany(_user); if (string.IsNullOrWhiteSpace(_user.EmpresaID)) { #region Create cmd.CommandText = "INSERT INTO Empresas VALUES (" + "@TipoExcavador, @NombreEmpresa, @RepresentanteAutorizado," + "@UrbBarrioCond, @ApartBoxCalle, @Municipio, @Sector, @EstadoPais, @CodigoPostal," + "@EsOperador, @TelOficina, @TelCampoTrabajo, @Celular, @UrbBarrioCondDF, @ApartBoxCalleDF," + "@MunicipioDF, @SectorDF, @EstadoPaisDF, @CodigoPostalDF, @Comentarios, @CorreoElectronico);"; cmd.CommandText += @"UPDATE Usuarios SET EmpresaID = @NombreEmpresa WHERE CorreoElectronico = @UserCorreoElectronico;"; //cmd.CommandText += @"UPDATE Usuarios SET EmpresaID = @NombreEmpresa WHERE EmpresaID = @NombreEmpresa;"; if (esOperador.Checked) { cmd.CommandText += @"INSERT INTO Operadores VALUES(@Operador, @CorreoElectronico);"; cmd.Parameters.AddWithValue("Operador", NombreEmpresa.Text.ToUpper()); } cmd.Parameters.AddWithValue("UserCorreoElectronico", (string)Session["Email"]); #endregion } else { #region Edit cmd.CommandText = "UPDATE Empresas SET" + " TipoExcDem = @TipoExcavador, NombreEmpresa = @NombreEmpresa, RepresentanteAutorizado= @RepresentanteAutorizado," + "UrbBarrioCond = @UrbBarrioCond, ApartBoxCalle = @ApartBoxCalle, Municipio = @Municipio, Sector = @Sector, EstadoPais = @EstadoPais, CodigoPostal = @CodigoPostal," + "EsOperador = @EsOperador, TelOficina = @TelOficina, TelTrabajo = @TelCampoTrabajo, Celular = @Celular, UrbBarrioCondDF = @UrbBarrioCondDF, ApartBoxCalleDF = @ApartBoxCalleDF," + @"MunicipioDF = @MunicipioDF, SectorDF = @SectorDF, EstadoPaisDF = @EstadoPaisDF, CodigoPostalDF = @CodigoPostalDF, Comentarios = @Comentarios, CorreoElectronico = @CorreoElectronico WHERE EmpresaID = @EmpresaID; UPDATE Usuarios SET EmpresaID = @NombreEmpresa WHERE EmpresaID = @CompanyName;"; Operador operadorExistenteByName = new SolicitudesInicialesServicio().GetOperadorByName(existingCompany.Nombre), operadorExistenteByEmail = SolicitudesInicialesServicio.GetOperadorByEmail(existingCompany.CorreoElectronico); if (esOperador.Checked) { if (string.IsNullOrWhiteSpace(operadorExistenteByName.Nombre) && string.IsNullOrWhiteSpace(operadorExistenteByEmail.Email)) { cmd.CommandText += @"INSERT INTO Operadores VALUES(@Operador, @CorreoElectronico);"; cmd.Parameters.AddWithValue("Operador", NombreEmpresa.Text.ToUpper()); } else { string where = "Operador = @CompanyName"; if (!string.IsNullOrWhiteSpace(operadorExistenteByEmail.Email)) where = string.Format("CorreoElectronico = '{0}'", operadorExistenteByEmail.Email); cmd.CommandText += @"UPDATE Operadores SET Operador = @NombreEmpresa, CorreoElectronico = @CorreoElectronico WHERE @WHERE".Replace("@WHERE", where); } } cmd.Parameters.AddWithValue("CompanyName", existingCompany.Nombre); cmd.Parameters.AddWithValue("EmpresaID", existingCompany.EmpresaID); #endregion } cmd.Parameters.AddWithValue("@TipoExcavador", TipoExc); cmd.Parameters.AddWithValue("@NombreEmpresa", NombreEmpresa.Text.ToUpper()); cmd.Parameters.AddWithValue("@RepresentanteAutorizado", RepresentanteAutorizado.Text.ToUpper()); cmd.Parameters.AddWithValue("@UrbBarrioCond", UrbBarrioCond.Text.ToUpper()); cmd.Parameters.AddWithValue("@ApartBoxCalle", ApartBoxCalle.Text.ToUpper()); cmd.Parameters.AddWithValue("@Municipio", Municipio.SelectedValue.ToString()); cmd.Parameters.AddWithValue("@Sector", Sector.Text.ToUpper()); cmd.Parameters.AddWithValue("@EstadoPais", EstadoPais.SelectedValue.ToString()); cmd.Parameters.AddWithValue("@CodigoPostal", CodigoPostal.Text); cmd.Parameters.AddWithValue("@EsOperador", esOperador.Checked); cmd.Parameters.AddWithValue("@TelOficina", TelOficina.Text); cmd.Parameters.AddWithValue("@TelCampoTrabajo", TelCampoTrabajo.Text); cmd.Parameters.AddWithValue("@Celular", Celular.Text); cmd.Parameters.AddWithValue("@UrbBarrioCondDF", UrbBarrioCondDF.Text.ToUpper()); cmd.Parameters.AddWithValue("@ApartBoxCalleDF", ApartBoxCalleDF.Text.ToUpper()); cmd.Parameters.AddWithValue("@MunicipioDF", MunicipioDF.SelectedValue.ToString()); cmd.Parameters.AddWithValue("@SectorDF", SectorDF.Text.ToUpper()); cmd.Parameters.AddWithValue("@EstadoPaisDF", EstadoPaisDF.SelectedValue.ToString().ToUpper()); cmd.Parameters.AddWithValue("@CodigoPostalDF", CodigoPostalDF.Text.ToUpper()); cmd.Parameters.AddWithValue("@Comentarios", Comentarios.Text.ToUpper()); cmd.Parameters.AddWithValue("CorreoElectronico", CorreoElectronico.Text); try { ClientScript.RegisterStartupScript(GetType(), "leavingMsg", "", true); conn.Open(); int recordsAffected = cmd.ExecuteNonQuery(); } catch (Exception ex) { var er = ex.Message;// error here } finally { conn.Close(); Session["shoulLogOut"] = true; if (!string.IsNullOrWhiteSpace(existingCompany.Nombre)) { //Update user session if updated company User user = Session["UserObj"] == null ? new User() : (User)Session["UserObj"]; user.EmpresaID = NombreEmpresa.Text; Session["UserObj"] = user; Response.Redirect("~/Default.aspx"); } Response.Redirect("~/Account/Ingresar.aspx"); } } } } }
protected void Page_Load(object sender, EventArgs e) { User user = Session["UserObj"] == null ? new User() : (User)Session["UserObj"]; if (user == null) { user = new User(); } if (!user.Rol.VerRegistrar) { if (!Request.QueryString["Email"].Replace("%40", "@").Equals(user.Email)) Response.Redirect("~/Default.aspx"); } var title = (HtmlGenericControl)Master.FindControl("pageTitleSpan"); title.InnerText = Title; #region Fill Roles ddl //LinkedList<Role> roles = new RolesServicio().GetRoles(); foreach (var r in roles) { roleDDL.Items.Add(r.Nombre); } #endregion #region Fill company var companies = new SolicitudesInicialesServicio().GetCompanies(); ddlEmpresas.Items.Add("Seleccionar Entidad"); foreach (var c in companies) { ddlEmpresas.Items.Add(c.NombreEmpresa); } #endregion #region Fill pregunta seguridad using (var conn = new SQL().GetLocalConnection()) { var cmd = new SqlCommand("SELECT PreguntaSeg FROM PreguntasSeg", conn); conn.Open(); SqlDataReader reader = cmd.ExecuteReader(); //cmd.ExecuteNonQuery(); //DataTable dt = new DataTable(); //using (SqlDataAdapter adapter = new SqlDataAdapter(cmd)) //{ // adapter.Fill(dt); //} PreguntaSeguridad.DataSource = reader; PreguntaSeguridad.DataBind(); } #endregion //lblId.Text = Request.QueryString["ID"].ToString(); if (!IsPostBack) { if (user.Rol.ID == (int)Role.TipoRoles.Admin) { rolTR.Style.Add("display", "normal"); ddlEmpresas.Items.Add("DTOP"); ddlEmpresas.SelectedValue = "DTOP"; } if (!string.IsNullOrWhiteSpace(Request.QueryString["Email"])) { //Evitar que entren a pagina usando query string sin ser user auth, actual user o teniendo el permiso if (!Request.QueryString["Email"].Replace("%40", "@").Equals(user.Email)) //Check edit user permission goes here*/) { if (user.Rol.ID != (int)Role.TipoRoles.Admin) Response.Redirect("~/Account/Ingresar.aspx"); } //Hacer esto despues del page load o quiza hacerle load a los ddl antes User selectedUser = new SolicitudesInicialesServicio().GetUser(Request.QueryString["Email"].Replace("%40", "@")); NombreUsuario.Text = selectedUser.Nombre; //if (ddlEmpresas.Items.FindByValue(selectedUser.EmpresaID) == null) //{ // ddlEmpresas.Items.Add(selectedUser.EmpresaID); // ddlEmpresas.SelectedValue = selectedUser.EmpresaID; //} //else //{ // ddlEmpresas.SelectedValue = selectedUser.EmpresaID; //} Session["Username"] = selectedUser.Nombre; Inicial.Text = selectedUser.Inicial; ApellidoPaterno.Text = selectedUser.ApellidoPaterno; ApellidoMaterno.Text = selectedUser.ApellidoMaterno; CorreoElectronico.Text = selectedUser.Email; ConfirmarCorreoElectronico.Text = selectedUser.Email; CorreoElectronico.Enabled = false; ConfirmarCorreoElectronico.Enabled = false; Session["UserEmail"] = selectedUser.Email; Contrasena.Disabled = true; passRFV.Enabled = false; ConfirmarContrasena.Disabled = true; confirmarPassRFV.Enabled = false; confirmarPassCV.Enabled = false; changePasswordBtn.Visible = true; if (PreguntaSeguridad.Items.FindByValue(selectedUser.PreguntaSeguridad) == null) { PreguntaSeguridad.Items.Add(selectedUser.PreguntaSeguridad); } PreguntaSeguridad.SelectedValue = selectedUser.PreguntaSeguridad; //Session["PreSeg"] = user.PreguntaSeguridad; RespuestaSeguridad.Text = selectedUser.RespuestaSeguridad; Telefono.Text = selectedUser.Tel; for (int i = 0; i < roles.Count; i++) { if (roles.ElementAt(i).ID == selectedUser.Rol.Tipo) { roleDDL.SelectedValue = roles.ElementAt(i).Nombre; break; } } //roleDDL.SelectedIndex = selectedUser.Rol.Tipo; //Session["Empresa"] = user.EmpresaID; if (ddlEmpresas.Items.FindByValue(selectedUser.EmpresaID) == null && !string.IsNullOrEmpty(selectedUser.EmpresaID)) { ddlEmpresas.Items.Add(selectedUser.EmpresaID); ddlEmpresas.SelectedValue = selectedUser.EmpresaID; } else if (ddlEmpresas.Items.FindByValue(selectedUser.EmpresaID) == null && string.IsNullOrEmpty(selectedUser.EmpresaID)) { ddlEmpresas.SelectedIndex = 0; } else if (ddlEmpresas.Items.FindByValue(selectedUser.EmpresaID) != null) { ddlEmpresas.SelectedValue = selectedUser.EmpresaID; } if (ddlEmpresas.SelectedValue.Equals("DTOP") && user.Rol.ID != (int)Role.TipoRoles.Admin) { ddlEmpresas.Enabled = false; } } } }
protected void Page_Load(object sender, EventArgs e) { User user = Session["UserObj"] == null ? new User() : (User)Session["UserObj"]; if (!user.Rol.VerPantallaInspecciones) { Response.Redirect("~/Default.aspx"); } if (!user.Rol.VerAvisoPendAsigInspec && user.Rol.ID == (int)Role.TipoRoles.Inspector) { ddlInspector.Enabled = false; LinkedList<Inspector> inspectores = new SolicitudesInicialesServicio().GetInspectores(); foreach (var i in inspectores) { if (i.Nombre.Contains(string.Format("{0} {1} {2}", user.Nombre, user.ApellidoPaterno, user.ApellidoMaterno))) { PlacaInspector.Text = i.NumeroPlacaID; } } PlacaInspector.Enabled = false; } var title = (HtmlGenericControl)Master.FindControl("pageTitleSpan"); title.InnerText = Title; //ViewState["multasGV"] = multasGV; if (!IsPostBack) { Session.Remove("ddlTipoInspeccion"); Calendar1.Visible = false; Calendar2.Visible = false; Calendar3.Visible = false; string[] imagePaths = Directory.GetFiles(Server.MapPath("~/Uploads/")); List<ListItem> imgs = new List<ListItem>(); foreach (string imagePath in imagePaths) { string imgName = Path.GetFileName(imagePath); imgs.Add(new ListItem(imgName, "~/Uploads/" + imgName)); } //GridView2.DataSource = imgs; //GridView2.DataBind(); string cs = ConfigurationManager.ConnectionStrings["EXC"].ConnectionString; SqlConnection conn = new SqlConnection(cs); SqlCommand cmd = new SqlCommand(); SqlDataReader dr; cmd.CommandText = "SELECT ' ' + Operador AS OPE FROM Operadores ORDER BY Operador"; cmd.CommandType = CommandType.Text; cmd.Connection = conn; conn.Open(); dr = cmd.ExecuteReader(); //chkOperadores.DataTextField = "OPE"; //chkOperadores.DataSource = dr; //chkOperadores.DataBind(); conn.Close(); //for (int i = 0; i < chkOperadores.Items.Count; i++) //{ // chkOperadores.Items[i].Selected = true; //} } else { //if (ViewState["multasGV"] != null) //multasGV = (GridView)ViewState["multasGV"]; //multasGV.DataBind(); } //PoblarMultasGV(); inspectorRFV.Enabled = true; municipioRFV.Enabled = true; // #region Poblar multas gridview // using (var conn = new SQL().GetLocalConnection()) // { //// SqlCommand cmd = new SqlCommand(@"SELECT AV.FechaMulta, AV.MultaId, //// M.TipoMulta, AV.FechaPago, AV.NumeroTransaccion, AV.PendienteRevision //// FROM AvisosMultas AS AV //// INNER JOIN Multas as M //// ON AV.MultaID = M.MultaID //// WHERE NumeroInspeccion = @NumeroInspeccion", conn); // SqlCommand cmd = new SqlCommand(@"SELECT FechaMulta, MultaId, // TipoMulta, FechaPago, NumeroTransaccion, PendienteRevision, Descripcion // FROM AvisosMultas // WHERE NumeroInspeccion = @NumeroInspeccion", conn); // cmd.Parameters.AddWithValue("NumeroInspeccion", NumeroInspeccion.Text); // conn.Open(); // multasGV.DataSourceID = string.Empty; // multasGV.DataSource = cmd.ExecuteReader(); // multasGV.DataBind(); // } // #endregion //else //{ // #region Poblar multas gridview // using (var conn = new SQL().GetLocalConnection()) // { //// SqlCommand cmd = new SqlCommand(@"SELECT AV.FechaMulta, AV.MultaId, //// M.TipoMulta, AV.FechaPago, AV.NumeroTransaccion, AV.PendienteRevision //// FROM AvisosMultas AS AV //// INNER JOIN Multas as M //// ON AV.MultaID = M.MultaID //// WHERE NumeroInspeccion = @NumeroInspeccion", conn); // SqlCommand cmd = new SqlCommand(@"SELECT FechaMulta, MultaId, // TipoMulta, FechaPago, NumeroTransaccion, PendienteRevision, Descripcion // FROM AvisosMultas // WHERE NumeroInspeccion = @NumeroInspeccion", conn); // cmd.Parameters.AddWithValue("NumeroInspeccion", NumeroInspeccion.Text); // conn.Open(); // multasGV.DataSourceID = string.Empty; // multasGV.DataSource = cmd.ExecuteReader(); // multasGV.DataBind(); // } // #endregion //} }
protected void Guardar_Click(object sender, EventArgs e) { TipoInspeccionID = (ddlTipoInspeccion.SelectedIndex).ToString(); #region Estatus inspeccion if (RB1.Checked) EstatusInspeccionID = "1"; else if (RB2.Checked) EstatusInspeccionID = "2"; else if (RB3.Checked) EstatusInspeccionID = "3"; else EstatusInspeccionID = ""; #endregion #region Tipo trabajo if (RB4.Checked) TipoTrabajo = "1"; else if (RB5.Checked) TipoTrabajo = "2"; else if (RB6.Checked) TipoTrabajo = "3"; else TipoTrabajo = ""; #endregion #region Tipo aviso if (RB7.Checked) TipoAviso = "0"; else if (RB8.Checked) TipoAviso = "1"; else if (RB9.Checked) TipoAviso = "2"; else TipoAviso = ""; #endregion //if (chkExisteAviso.Checked) // ExisteAviso = true; //else // ExisteAviso = false; if (RB10.Checked) Zona = true; else if (RB11.Checked) Zona = false; #region Some validation int[] err = new int[36]; if (NumeroInspeccion.Text.Equals("")) { err[1] = 1; err[0] = 1; } if (FechaVisita.Text.Equals("")) { err[2] = 1; err[0] = 1; } if (TipoInspeccionID.Equals("")) { err[3] = 1; err[0] = 1; } if (EstatusInspeccionID.Equals("")) { err[4] = 1; err[0] = 1; } if (PlacaInspector.Text.Equals("")) { err[5] = 1; err[0] = 1; } if (NombreEmpresa.Text.Equals("")) { err[6] = 1; err[0] = 1; } if (RepresentanteAutorizado.Text.Equals("")) { err[7] = 1; err[0] = 1; } if (CorreoElectronico.Text.Equals("")) { err[8] = 1; err[0] = 1; } if (DireccionPostal.Text.Equals("")) { err[9] = 1; err[0] = 1; } if (TelOficina.Text.Equals("")) { err[10] = 1; err[0] = 1; } //if (TelTrabajo.Text.Equals("")) { err[11] = 1; err[0] = 1; } if (Celular.Text.Equals("")) { err[12] = 1; err[0] = 1; } if (DireccionFisica.Text.Equals("")) { err[13] = 1; err[0] = 1; } if (NumeroControl.Text.Equals("")) { err[14] = 1; err[0] = 1; } //if (ExisteAviso.Text.Equals("")) { err[15] = 1; err[0] = 1; } if (!RB4.Checked && !RB5.Checked && !RB6.Checked) { err[16] = 1; err[0] = 1; } if (TipoAviso.Equals("")) { err[17] = 1; err[0] = 1; } if (FechaComienzo.Equals("")) { err[18] = 1; err[0] = 1; } if (FechaExpiracion.Text.Equals("")) { err[19] = 1; err[0] = 1; } if (LongitudPies.Text.Equals("")) { err[20] = 1; err[0] = 1; } if (ddlLongitudPulgadas.SelectedValue.Equals("")) { err[21] = 1; err[0] = 1; } if (ProfundidadPies.Text.Equals("")) { err[22] = 1; err[0] = 1; } if (ddlProfundidadPulgadas.SelectedValue.Equals("")) { err[23] = 1; err[0] = 1; } if (CoordenadaX.Text.Equals("")) { err[24] = 1; err[0] = 1; } if (CoordenadaY.Text.Equals("")) { err[25] = 1; err[0] = 1; } if (RazonTrabajos.Text.Equals("")) { err[26] = 1; err[0] = 1; } if (Zona.Equals("")) { err[27] = 1; err[0] = 1; } if (BoUrbT.Text.Equals("")) { err[28] = 1; err[0] = 1; } if (SectorCalleT.Text.Equals("")) { err[29] = 1; err[0] = 1; } if (CarreteraT.Text.Equals("")) { err[30] = 1; err[0] = 1; } if (KM.Text.Equals("")) { err[31] = 1; err[0] = 1; } if (HM.Text.Equals("")) { err[32] = 1; err[0] = 1; } if (ddlMunicipioT.SelectedIndex.Equals(0)) { err[33] = 1; err[0] = 1; } if (CodigoPostalT.Text.Equals("")) { err[34] = 1; err[0] = 1; } if (Observaciones.Text.Equals("")) { err[35] = 1; err[0] = 1; } #endregion err[0] = 0; ////////////////////////////////// EAF ///////////////////////////////////////// if (err[0] == 1) { ScriptManager.RegisterStartupScript(NumeroControl, this.GetType(), "Pop", "faltanrequeridos()", true); } else { string cs = ConfigurationManager.ConnectionStrings["EXC"].ConnectionString; using (SqlConnection conn = new SqlConnection(cs)) { using (SqlCommand cmd = new SqlCommand()) { cmd.Connection = conn; cmd.CommandType = CommandType.Text; try { conn.Open(); } catch (Exception ex) { } #region Genera numero inspeccion si esta vacio if (string.IsNullOrWhiteSpace(NumeroInspeccion.Text)) { cmd.CommandText = @"SELECT TOP 1 NumeroInspeccion FROM Inspecciones ORDER BY NumeroInspeccion DESC"; using (SqlDataReader reader = cmd.ExecuteReader()) { int col = 0; while (reader.Read()) { NumeroInspeccion.Text = reader.GetString(col); } string[] numInspeccionSplit = NumeroInspeccion.Text.Split('-'); int numInpeccionCounter = Convert.ToInt32(numInspeccionSplit[1]); NumeroInspeccion.Text = string.Format("2015-{0}", numInpeccionCounter + 1); } } #endregion cmd.Connection = conn; cmd.CommandType = CommandType.Text; cmd.CommandText = @"DELETE FROM Inspecciones WHERE NumeroInspeccion = @NumeroInspeccion AND TipoAviso = @TipoAviso;"; cmd.CommandText += "INSERT INTO Inspecciones VALUES (" + "@NumeroInspeccion, @FechaVisita, @TipoInspeccionID, @EstatusInspeccionID, @PlacaInspector," + " @NombreEmpresa, @RepresentanteAutorizado, @CorreoElectronico, @DireccionPostal, @TelOficina, " + "@TelTrabajo, @Celular, @DireccionFisica, @NumeroControl, @ExisteAviso, @TipoTrabajo, @TipoAviso, " + "@FechaComienzo, @FechaExpiracion, @LongitudPies, @LongitudPulgadas, @ProfundidadPies, @ProfundidadPulgadas, " + "@CoordenadaX, @CoordenadaY, @RazonTrabajos, @Zona, @BoUrbT, @SectorCalleT, @CarreteraT, @KM, @HM, " + "@MunicipioT, @CodigoPostalT, @Observaciones, @NombreInspector, @ImagePath)"; #region SQL params cmd.Parameters.AddWithValue("@ImagePath", imgViewFile.ImageUrl); cmd.Parameters.AddWithValue("@NumeroInspeccion", NumeroInspeccion.Text); cmd.Parameters.AddWithValue("@FechaVisita", FechaVisita.Text); cmd.Parameters.AddWithValue("@TipoInspeccionID", TipoInspeccionID); cmd.Parameters.AddWithValue("@EstatusInspeccionID", EstatusInspeccionID); cmd.Parameters.AddWithValue("@PlacaInspector", string.Format("{0}", PlacaInspector.Text)); cmd.Parameters.AddWithValue("@NombreInspector", string.Format("{0}", ddlInspector.SelectedValue)); cmd.Parameters.AddWithValue("@NombreEmpresa", NombreEmpresa.Text.ToUpper()); cmd.Parameters.AddWithValue("@RepresentanteAutorizado", RepresentanteAutorizado.Text.ToUpper()); cmd.Parameters.AddWithValue("@CorreoElectronico", CorreoElectronico.Text); cmd.Parameters.AddWithValue("@DireccionPostal", DireccionPostal.Text.ToUpper()); cmd.Parameters.AddWithValue("@TelOficina", TelOficina.Text); cmd.Parameters.AddWithValue("@TelTrabajo", TelTrabajo.Text); cmd.Parameters.AddWithValue("@Celular", Celular.Text); cmd.Parameters.AddWithValue("@DireccionFisica", DireccionFisica.Text.ToUpper()); cmd.Parameters.AddWithValue("@NumeroControl", NumeroControl.Text); cmd.Parameters.AddWithValue("@ExisteAviso", ExisteAviso); cmd.Parameters.AddWithValue("@TipoTrabajo", TipoTrabajo); cmd.Parameters.AddWithValue("@TipoAviso", TipoAviso); cmd.Parameters.AddWithValue("@FechaComienzo", FechaComienzo.Text); cmd.Parameters.AddWithValue("@FechaExpiracion", FechaExpiracion.Text); cmd.Parameters.AddWithValue("@LongitudPies", LongitudPies.Text); cmd.Parameters.AddWithValue("@LongitudPulgadas", Int32.Parse(ddlLongitudPulgadas.SelectedValue)); cmd.Parameters.AddWithValue("@ProfundidadPies", ProfundidadPies.Text); cmd.Parameters.AddWithValue("@ProfundidadPulgadas", Int32.Parse(ddlProfundidadPulgadas.SelectedValue)); cmd.Parameters.AddWithValue("@CoordenadaX", CoordenadaX.Text); cmd.Parameters.AddWithValue("@CoordenadaY", CoordenadaX.Text); cmd.Parameters.AddWithValue("@RazonTrabajos", RazonTrabajos.Text.ToUpper()); cmd.Parameters.AddWithValue("@Zona", Zona); cmd.Parameters.AddWithValue("@BoUrbT", BoUrbT.Text.ToUpper()); cmd.Parameters.AddWithValue("@SectorCalleT", SectorCalleT.Text.ToUpper()); cmd.Parameters.AddWithValue("@CarreteraT", CarreteraT.Text.ToUpper()); cmd.Parameters.AddWithValue("@KM", KM.Text); cmd.Parameters.AddWithValue("@HM", HM.Text); cmd.Parameters.AddWithValue("@MunicipioT", ddlMunicipioT.SelectedValue.ToString()); cmd.Parameters.AddWithValue("@CodigoPostalT", CodigoPostalT.Text); cmd.Parameters.AddWithValue("@Observaciones", Observaciones.Text.ToUpper()); #endregion try { //conn.Open(); int recordsAffected = cmd.ExecuteNonQuery(); //if (recordsAffected == 1) //{ Inspector inspector = new SolicitudesInicialesServicio().GetInspector(PlacaInspector.Text); var to = new LinkedList<string>(); //to.AddLast("*****@*****.**"); to.AddLast(inspector.CorreoElectronico); LinkedList<Mail> mails = new MailServicio().GetMailMsgs(); //Update status solicitud if (!string.IsNullOrWhiteSpace(inspector.NumeroPlacaID)) { NumeroControl numControl = new Entidad.NumeroControl() { NumControlText = NumeroInspeccion.Text }; SolicitudAviso aviso = new SolicitudAviso(); if (TipoAviso.Equals(((int)SolicitudAviso.TiposExtensiones.Inicial).ToString())) { #region update aviso inicial aviso = new SolicitudesInicialesServicio().GetSolicitud(numControl); aviso.EstatusId = aviso.EstatusId.Replace(new SolicitudAviso().LetraStatus, string.Empty); if (!aviso.EstatusId.Equals(((int)SolicitudAviso.Estatus.EnProcesoInspeccion).ToString()) && !RB2.Checked) { aviso.EstatusId = new SolicitudAviso().LetraStatus + ((int)SolicitudAviso.Estatus.EnProcesoInspeccion).ToString(); aviso.Inspector.Nombre = ddlInspector.SelectedValue; new SolicitudesInicialesServicio().TryUpdate(aviso); try { if (CheckForInternetConnection()) SendEmail(to, "*****@*****.**", mails.ElementAt((int)Mail.Notifications.InspectorNuevoAviso).Subject, mails.ElementAt((int)Mail.Notifications.InspectorNuevoAviso).Body.Replace( "@NumControl", NumeroInspeccion.Text).Replace("@NombreEmpresa", NombreEmpresa.Text), new LinkedList<string>()); // only test } catch (Exception ex) { } } else if (aviso.EstatusId.Equals(((int)SolicitudAviso.Estatus.EnProcesoInspeccion).ToString()) && RB2.Checked) { aviso.EstatusId = new SolicitudAviso().LetraStatus + ((int)SolicitudAviso.Estatus.InspeccionCompletada).ToString(); //aviso.Inspector.Nombre = ddlInspector.SelectedValue; new SolicitudesInicialesServicio().TryUpdate(aviso); } #endregion } else if (TipoAviso.Equals(((int)SolicitudAviso.TiposExtensiones.Primera).ToString())) { #region Update 1st ext aviso = new PrimerasExtensionesServicio().GetPrimeraExtension(numControl); aviso.EstatusId = aviso.EstatusId.Replace(new SolicitudAviso().LetraStatus, string.Empty); if (!aviso.EstatusId.Equals(((int)SolicitudAviso.Estatus.EnProcesoInspeccion).ToString()) && !RB2.Checked) { aviso.EstatusId = new SolicitudAviso().LetraStatus + ((int)SolicitudAviso.Estatus.EnProcesoInspeccion).ToString(); aviso.Inspector.Nombre = ddlInspector.SelectedValue; new PrimerasExtensionesServicio().TryUpdate(aviso); try { if (CheckForInternetConnection()) SendEmail(to, "*****@*****.**", mails.ElementAt((int)Mail.Notifications.InspectorNuevoAviso).Subject, mails.ElementAt((int)Mail.Notifications.InspectorNuevoAviso).Body.Replace( "@NumControl", NumeroInspeccion.Text).Replace("@NombreEmpresa", NombreEmpresa.Text), new LinkedList<string>()); // only test } catch (Exception ex) { } } else if (aviso.EstatusId.Equals(((int)SolicitudAviso.Estatus.EnProcesoInspeccion).ToString()) && RB2.Checked) { aviso.EstatusId = new SolicitudAviso().LetraStatus + ((int)SolicitudAviso.Estatus.InspeccionCompletada).ToString(); new PrimerasExtensionesServicio().TryUpdate(aviso); } #endregion } else { #region Update 2nd ext aviso = new SegundasExtensionesServicio().GetSegundaExtension(numControl); aviso.EstatusId = aviso.EstatusId.Replace(new SolicitudAviso().LetraStatus, string.Empty); if (!aviso.EstatusId.Equals(((int)SolicitudAviso.Estatus.EnProcesoInspeccion).ToString()) && !RB2.Checked) { aviso.EstatusId = new SolicitudAviso().LetraStatus + ((int)SolicitudAviso.Estatus.EnProcesoInspeccion).ToString(); aviso.Inspector.Nombre = ddlInspector.SelectedValue; new SegundasExtensionesServicio().TryUpdate(aviso); try { if (CheckForInternetConnection()) SendEmail(to, "*****@*****.**", mails.ElementAt((int)Mail.Notifications.InspectorNuevoAviso).Subject, mails.ElementAt((int)Mail.Notifications.InspectorNuevoAviso).Body.Replace( "@NumControl", NumeroInspeccion.Text).Replace("@NombreEmpresa", NombreEmpresa.Text), new LinkedList<string>()); }// only test catch (Exception ex) { } } else if (aviso.EstatusId.Equals(((int)SolicitudAviso.Estatus.EnProcesoInspeccion).ToString()) && RB2.Checked) { aviso.EstatusId = new SolicitudAviso().LetraStatus + ((int)SolicitudAviso.Estatus.InspeccionCompletada).ToString(); new SegundasExtensionesServicio().TryUpdate(aviso); } #endregion } //} Cancelar_Click(sender, e); } } catch (SqlException) { ScriptManager.RegisterStartupScript(this, this.GetType(), "Pop", "sqlerr()", true); } finally { conn.Close(); } } } } Cancelar_Click(sender, e); }
protected void numControlDDL_SelectedIndexChanged(object sender, EventArgs e) { if (numControlDDL.SelectedIndex > 0) { NumeroControl numControl = new NumeroControl() { NumControlText = numControlDDL.SelectedValue }; #region Get info from aviso SolicitudAviso solicitud = new SolicitudesInicialesServicio().GetSolicitud(numControl); operadorDDL.SelectedValue = solicitud.NombreEmpresa; direccionTxtBx.Text = solicitud.BoUrb + solicitud.Carretera + solicitud.CodigoPostal + solicitud.DireccionPostal; #endregion } else { CleanControls(); } }
protected void Guardar_Click(object sender, EventArgs e) { TipoInspeccionID = (ddlTipoInspeccion.SelectedIndex).ToString(); #region Estatus inspeccion if (RB1.Checked) // Pendiente EstatusInspeccionID = "1"; else if (RB2.Checked) // Completada EstatusInspeccionID = "2"; else if (RB3.Checked) // Cancelada EstatusInspeccionID = "3"; else EstatusInspeccionID = ""; #endregion #region Tipo trabajo if (RB4.Checked) TipoTrabajo = "1"; else if (RB5.Checked) TipoTrabajo = "2"; else if (RB6.Checked) TipoTrabajo = "3"; else TipoTrabajo = ""; #endregion #region Tipo aviso if (RB7.Checked) TipoAviso = "0"; else if (RB8.Checked) TipoAviso = "1"; else if (RB9.Checked) TipoAviso = "2"; else TipoAviso = ""; #endregion if (RB10.Checked) Zona = true; else if (RB11.Checked) Zona = false; #region Some validations int[] err = new int[36]; if (NumeroInspeccion.Text.Equals("")) { err[1] = 1; err[0] = 1; } if (FechaVisita.Text.Equals("")) { err[2] = 1; err[0] = 1; } if (TipoInspeccionID.Equals("")) { err[3] = 1; err[0] = 1; } if (EstatusInspeccionID.Equals("")) { err[4] = 1; err[0] = 1; } if (PlacaInspector.Text.Equals("")) { err[5] = 1; err[0] = 1; } if (NombreEmpresa.Text.Equals("")) { err[6] = 1; err[0] = 1; } if (RepresentanteAutorizado.Text.Equals("")) { err[7] = 1; err[0] = 1; } if (CorreoElectronico.Text.Equals("")) { err[8] = 1; err[0] = 1; } if (DireccionPostal.Text.Equals("")) { err[9] = 1; err[0] = 1; } if (TelOficina.Text.Equals("")) { err[10] = 1; err[0] = 1; } //if (TelTrabajo.Text.Equals("")) { err[11] = 1; err[0] = 1; } if (Celular.Text.Equals("")) { err[12] = 1; err[0] = 1; } if (DireccionFisica.Text.Equals("")) { err[13] = 1; err[0] = 1; } if (NumeroControl.Text.Equals("")) { err[14] = 1; err[0] = 1; } //if (ExisteAviso.Text.Equals("")) { err[15] = 1; err[0] = 1; } if (!RB4.Checked && !RB5.Checked && !RB6.Checked) { err[16] = 1; err[0] = 1; } if (TipoAviso.Equals("")) { err[17] = 1; err[0] = 1; } if (FechaComienzo.Equals("")) { err[18] = 1; err[0] = 1; } if (FechaExpiracion.Text.Equals("")) { err[19] = 1; err[0] = 1; } if (LongitudPies.Text.Equals("")) { err[20] = 1; err[0] = 1; } if (ddlLongitudPulgadas.SelectedValue.Equals("")) { err[21] = 1; err[0] = 1; } if (ProfundidadPies.Text.Equals("")) { err[22] = 1; err[0] = 1; } if (ddlProfundidadPulgadas.SelectedValue.Equals("")) { err[23] = 1; err[0] = 1; } if (CoordenadaX.Text.Equals("")) { err[24] = 1; err[0] = 1; } if (CoordenadaY.Text.Equals("")) { err[25] = 1; err[0] = 1; } if (RazonTrabajos.Text.Equals("")) { err[26] = 1; err[0] = 1; } if (Zona.Equals("")) { err[27] = 1; err[0] = 1; } if (BoUrbT.Text.Equals("")) { err[28] = 1; err[0] = 1; } if (SectorCalleT.Text.Equals("")) { err[29] = 1; err[0] = 1; } if (CarreteraT.Text.Equals("")) { err[30] = 1; err[0] = 1; } if (KM.Text.Equals("")) { err[31] = 1; err[0] = 1; } if (HM.Text.Equals("")) { err[32] = 1; err[0] = 1; } if (ddlMunicipioT.SelectedIndex.Equals(0)) { err[33] = 1; err[0] = 1; } if (CodigoPostalT.Text.Equals("")) { err[34] = 1; err[0] = 1; } if (Observaciones.Text.Equals("")) { err[35] = 1; err[0] = 1; } #endregion err[0] = 0; ////////////////////////////////// EAF ///////////////////////////////////////// if (err[0] == 1) { ScriptManager.RegisterStartupScript(NumeroControl, this.GetType(), "Pop", "faltanrequeridos()", true); } else { string cs = ConfigurationManager.ConnectionStrings["EXC"].ConnectionString; using (SqlConnection conn = new SqlConnection(cs)) { using (SqlCommand cmd = new SqlCommand()) { cmd.Connection = conn; cmd.CommandType = CommandType.Text; try { conn.Open(); } catch (Exception) { } cmd.Connection = conn; cmd.CommandType = CommandType.Text; cmd.CommandText = @"DELETE FROM Inspecciones WHERE NumeroInspeccion = @NumeroInspeccion AND TipoAviso = @TipoAviso;"; cmd.CommandText += "INSERT INTO Inspecciones VALUES (" + "@NumeroInspeccion, @FechaVisita, @TipoInspeccionID, @EstatusInspeccionID, @PlacaInspector," + " @NombreEmpresa, @RepresentanteAutorizado, @CorreoElectronico, @DireccionPostal, @TelOficina, " + "@TelTrabajo, @Celular, @DireccionFisica, @NumeroControl, @ExisteAviso, @TipoTrabajo, @TipoAviso, " + "@FechaComienzo, @FechaExpiracion, @LongitudPies, @LongitudPulgadas, @ProfundidadPies, @ProfundidadPulgadas, " + "@CoordenadaX, @CoordenadaY, @RazonTrabajos, @Zona, @BoUrbT, @SectorCalleT, @CarreteraT, @KM, @HM, " + "@MunicipioT, @CodigoPostalT, @Observaciones, @NombreInspector, @ImagePath, @NumInspeccionAplica, @ImagePath2, @ImagePath3, @ImagePath4)"; #region SQL params #region Set imgpath params Inspector inspector = new SolicitudesInicialesServicio().GetInspector(PlacaInspector.Text); string filename = string.Empty, filename2 = string.Empty, filename3 = string.Empty, filename4 = string.Empty; #region img1 if (FileUpload1.HasFile) { filename = GenerateInpeccionImgName(FileUpload1); //filename = System.IO.Path.GetFileName(FileUpload1.FileName); ////FileUpload1.SaveAs(Server.MapPath("~/Uploads/") + filename); //if (RB7.Checked) //{ // filename = "Inicial_" + NumeroInspeccion.Text + "_" + filename; //} //else if (RB8.Checked) //{ // filename = "EXT1_" + NumeroInspeccion.Text + "_" + filename; //} //else //{ // filename = "EXT2_" + NumeroInspeccion.Text + "_" + filename; //} FileUpload1.SaveAs(Server.MapPath(string.Format("{0}/{1}/{2}", new DocumentoRequerido().DocumentosInspeccionesSavePath, inspector.CorreoElectronico, filename))); cmd.Parameters.AddWithValue("@ImagePath", string.Format("{0}/{1}/{2}", new DocumentoRequerido().DocumentosInspeccionesSavePath, inspector.CorreoElectronico, filename)); //cmd.Parameters.AddWithValue("@ImagePath", ); } else { if (string.IsNullOrEmpty(imgViewFile.ImageUrl)) { cmd.Parameters.AddWithValue("@ImagePath", filename); //filename = GenerateInpeccionImgName(FileUpload1); } else { cmd.Parameters.AddWithValue("@ImagePath", imgViewFile.ImageUrl); } } #endregion #region img2 if (fUp2.HasFile) { filename2 = GenerateInpeccionImgName(fUp2); //filename = System.IO.Path.GetFileName(FileUpload1.FileName); ////FileUpload1.SaveAs(Server.MapPath("~/Uploads/") + filename); //if (RB7.Checked) //{ // filename = "Inicial_" + NumeroInspeccion.Text + "_" + filename; //} //else if (RB8.Checked) //{ // filename = "EXT1_" + NumeroInspeccion.Text + "_" + filename; //} //else //{ // filename = "EXT2_" + NumeroInspeccion.Text + "_" + filename; //} fUp2.SaveAs(Server.MapPath(string.Format("{0}/{1}/{2}", new DocumentoRequerido().DocumentosInspeccionesSavePath, inspector.CorreoElectronico, filename2))); cmd.Parameters.AddWithValue("@ImagePath2", string.Format("{0}/{1}/{2}", new DocumentoRequerido().DocumentosInspeccionesSavePath, inspector.CorreoElectronico, filename2)); //cmd.Parameters.AddWithValue("@ImagePath", ); } else { if (string.IsNullOrEmpty(img2.ImageUrl)) { cmd.Parameters.AddWithValue("@ImagePath2", filename2); //filename = GenerateInpeccionImgName(FileUpload1); } else { cmd.Parameters.AddWithValue("@ImagePath2", img2.ImageUrl); } } #endregion #region img3 if (fUp3.HasFile) { filename3 = GenerateInpeccionImgName(fUp3); //filename = System.IO.Path.GetFileName(FileUpload1.FileName); ////FileUpload1.SaveAs(Server.MapPath("~/Uploads/") + filename); //if (RB7.Checked) //{ // filename = "Inicial_" + NumeroInspeccion.Text + "_" + filename; //} //else if (RB8.Checked) //{ // filename = "EXT1_" + NumeroInspeccion.Text + "_" + filename; //} //else //{ // filename = "EXT2_" + NumeroInspeccion.Text + "_" + filename; //} fUp3.SaveAs(Server.MapPath(string.Format("{0}/{1}/{2}", new DocumentoRequerido().DocumentosInspeccionesSavePath, inspector.CorreoElectronico, filename3))); cmd.Parameters.AddWithValue("@ImagePath3",string.Format("{0}/{1}/{2}", new DocumentoRequerido().DocumentosInspeccionesSavePath, inspector.CorreoElectronico, filename3)); //cmd.Parameters.AddWithValue("@ImagePath", ); } else { if (string.IsNullOrEmpty(img3.ImageUrl)) { cmd.Parameters.AddWithValue("@ImagePath3", filename3); //filename = GenerateInpeccionImgName(FileUpload1); } else { cmd.Parameters.AddWithValue("@ImagePath3", img3.ImageUrl); } } #endregion #region img4 if (fUp4.HasFile) { filename4 = GenerateInpeccionImgName(fUp4); //filename = System.IO.Path.GetFileName(FileUpload1.FileName); ////FileUpload1.SaveAs(Server.MapPath("~/Uploads/") + filename); //if (RB7.Checked) //{ // filename = "Inicial_" + NumeroInspeccion.Text + "_" + filename; //} //else if (RB8.Checked) //{ // filename = "EXT1_" + NumeroInspeccion.Text + "_" + filename; //} //else //{ // filename = "EXT2_" + NumeroInspeccion.Text + "_" + filename; //} fUp4.SaveAs(Server.MapPath(string.Format("{0}/{1}/{2}", new DocumentoRequerido().DocumentosInspeccionesSavePath, inspector.CorreoElectronico, filename4))); cmd.Parameters.AddWithValue("@ImagePath4",string.Format("{0}/{1}/{2}", new DocumentoRequerido().DocumentosInspeccionesSavePath, inspector.CorreoElectronico, filename4)); //cmd.Parameters.AddWithValue("@ImagePath", ); } else { if (string.IsNullOrEmpty(img4.ImageUrl)) { cmd.Parameters.AddWithValue("@ImagePath4", filename4); //filename = GenerateInpeccionImgName(FileUpload1); } else { cmd.Parameters.AddWithValue("@ImagePath4", img4.ImageUrl); } } #endregion #endregion //cmd.Parameters.AddWithValue("@ImagePath", imgViewFile.ImageUrl); cmd.Parameters.AddWithValue("@NumInspeccionAplica", chkExisteAviso.Checked); cmd.Parameters.AddWithValue("@NumeroInspeccion", NumeroInspeccion.Text); cmd.Parameters.AddWithValue("@FechaVisita", FechaVisita.Text); cmd.Parameters.AddWithValue("@TipoInspeccionID", TipoInspeccionID); cmd.Parameters.AddWithValue("@EstatusInspeccionID", EstatusInspeccionID); cmd.Parameters.AddWithValue("@PlacaInspector", string.Format("{0}", PlacaInspector.Text)); //Sometimes ddl was picking default val. Maybe due to disabled status. But, in some cases, values was correct even if it was disabled cmd.Parameters.AddWithValue("@NombreInspector", ddlInspector.SelectedIndex < 1 ? (string)ViewState["Inspector"] : ddlInspector.SelectedValue); cmd.Parameters.AddWithValue("@NombreEmpresa", NombreEmpresa.Text.ToUpper()); cmd.Parameters.AddWithValue("@RepresentanteAutorizado", RepresentanteAutorizado.Text.ToUpper()); cmd.Parameters.AddWithValue("@CorreoElectronico", CorreoElectronico.Text); cmd.Parameters.AddWithValue("@DireccionPostal", DireccionPostal.Text.ToUpper()); cmd.Parameters.AddWithValue("@TelOficina", TelOficina.Text); cmd.Parameters.AddWithValue("@TelTrabajo", TelTrabajo.Text); cmd.Parameters.AddWithValue("@Celular", Celular.Text); cmd.Parameters.AddWithValue("@DireccionFisica", DireccionFisica.Text.ToUpper()); cmd.Parameters.AddWithValue("@NumeroControl", NumeroControl.Text); cmd.Parameters.AddWithValue("@ExisteAviso", ExisteAviso); cmd.Parameters.AddWithValue("@TipoTrabajo", TipoTrabajo); cmd.Parameters.AddWithValue("@TipoAviso", TipoAviso); cmd.Parameters.AddWithValue("@FechaComienzo", FechaComienzo.Text); cmd.Parameters.AddWithValue("@FechaExpiracion", FechaExpiracion.Text); cmd.Parameters.AddWithValue("@LongitudPies", LongitudPies.Text); cmd.Parameters.AddWithValue("@LongitudPulgadas", Int32.Parse(ddlLongitudPulgadas.SelectedValue)); cmd.Parameters.AddWithValue("@ProfundidadPies", ProfundidadPies.Text); cmd.Parameters.AddWithValue("@ProfundidadPulgadas", Int32.Parse(ddlProfundidadPulgadas.SelectedValue)); cmd.Parameters.AddWithValue("@CoordenadaX", CoordenadaX.Text); cmd.Parameters.AddWithValue("@CoordenadaY", CoordenadaX.Text); cmd.Parameters.AddWithValue("@RazonTrabajos", RazonTrabajos.Text.ToUpper()); cmd.Parameters.AddWithValue("@Zona", Zona); cmd.Parameters.AddWithValue("@BoUrbT", BoUrbT.Text.ToUpper()); cmd.Parameters.AddWithValue("@SectorCalleT", SectorCalleT.Text.ToUpper()); cmd.Parameters.AddWithValue("@CarreteraT", CarreteraT.Text.ToUpper()); cmd.Parameters.AddWithValue("@KM", KM.Text); cmd.Parameters.AddWithValue("@HM", HM.Text); cmd.Parameters.AddWithValue("@MunicipioT", ddlMunicipioT.SelectedValue.ToString()); cmd.Parameters.AddWithValue("@CodigoPostalT", CodigoPostalT.Text); cmd.Parameters.AddWithValue("@Observaciones", Observaciones.Text.ToUpper()); #endregion try { int recordsAffected = cmd.ExecuteNonQuery(); #region Refresh inspecciones addicionales inspeccionesAdicionalesLbl.Visible = false; string numControlFormat = NumeroInspeccion.Text.Contains('#') ? "{0}#{1}" : "{0}-{1}"; FillInspecionesAdicionalesDDL(InspeccionesServicio.GetInspeccionesNumControlsByNumControl(string.Format(numControlFormat, NumeroInspeccion.Text.Split('-', '#')[0], NumeroInspeccion.Text.Split('-', '#')[1]))); #endregion //Inspector inspector = new SolicitudesInicialesServicio().GetInspector(PlacaInspector.Text); var to = new LinkedList<string>(); to.AddLast(inspector.CorreoElectronico); LinkedList<Mail> mails = new MailServicio().GetMailMsgs(); //Update status solicitud if (!string.IsNullOrWhiteSpace(inspector.NumeroPlacaID)) { NumeroControl numControl = new Entidad.NumeroControl() { NumControlText = NumeroInspeccion.Text }; SolicitudAviso aviso = new SolicitudAviso(); if (TipoAviso.Equals(((int)SolicitudAviso.TiposExtensiones.Inicial).ToString())) { #region update aviso inicial aviso = new SolicitudesInicialesServicio().GetSolicitud(numControl); aviso.EstatusId = aviso.EstatusId.Replace(new SolicitudAviso().LetraStatus, string.Empty); if (!aviso.EstatusId.Equals(((int)SolicitudAviso.Estatus.EnProcesoInspeccion).ToString()) && !RB2.Checked) { aviso.EstatusId = new SolicitudAviso().LetraStatus + ((int)SolicitudAviso.Estatus.EnProcesoInspeccion).ToString(); aviso.Inspector.Nombre = ddlInspector.SelectedIndex < 1 ? (string)ViewState["Inspector"] : ddlInspector.SelectedValue; new SolicitudesInicialesServicio().TryUpdate(aviso); try { if (CheckForInternetConnection()) SendEmail(to, "*****@*****.**", mails.ElementAt((int)Mail.Notifications.InspectorNuevoAviso).Subject, mails.ElementAt((int)Mail.Notifications.InspectorNuevoAviso).Body.Replace( "@NumControl", NumeroInspeccion.Text).Replace("@NombreEmpresa", NombreEmpresa.Text), new LinkedList<string>()); // only test } catch (Exception ex) { } } else if (aviso.EstatusId.Equals(((int)SolicitudAviso.Estatus.EnProcesoInspeccion).ToString()) && RB2.Checked) { aviso.EstatusId = new SolicitudAviso().LetraStatus + ((int)SolicitudAviso.Estatus.InspeccionCompletada).ToString(); new SolicitudesInicialesServicio().TryUpdate(aviso); } #endregion } else if (TipoAviso.Equals(((int)SolicitudAviso.TiposExtensiones.Primera).ToString())) { #region Update 1st ext aviso = new PrimerasExtensionesServicio().GetPrimeraExtension(numControl); aviso.EstatusId = aviso.EstatusId.Replace(new SolicitudAviso().LetraStatus, string.Empty); if (!aviso.EstatusId.Equals(((int)SolicitudAviso.Estatus.EnProcesoInspeccion).ToString()) && !RB2.Checked) { aviso.EstatusId = new SolicitudAviso().LetraStatus + ((int)SolicitudAviso.Estatus.EnProcesoInspeccion).ToString(); aviso.Inspector.Nombre = ddlInspector.SelectedIndex < 1 ? (string)ViewState["Inspector"] : ddlInspector.SelectedValue; new PrimerasExtensionesServicio().TryUpdate(aviso); try { if (CheckForInternetConnection()) SendEmail(to, "*****@*****.**", mails.ElementAt((int)Mail.Notifications.InspectorNuevoAviso).Subject, mails.ElementAt((int)Mail.Notifications.InspectorNuevoAviso).Body.Replace( "@NumControl", NumeroInspeccion.Text).Replace("@NombreEmpresa", NombreEmpresa.Text), new LinkedList<string>()); // only test } catch (Exception) { } } else if (aviso.EstatusId.Equals(((int)SolicitudAviso.Estatus.EnProcesoInspeccion).ToString()) && RB2.Checked) { aviso.EstatusId = new SolicitudAviso().LetraStatus + ((int)SolicitudAviso.Estatus.InspeccionCompletada).ToString(); new PrimerasExtensionesServicio().TryUpdate(aviso); } #endregion } else { #region Update 2nd ext aviso = new SegundasExtensionesServicio().GetSegundaExtension(numControl); aviso.EstatusId = aviso.EstatusId.Replace(new SolicitudAviso().LetraStatus, string.Empty); if (!aviso.EstatusId.Equals(((int)SolicitudAviso.Estatus.EnProcesoInspeccion).ToString()) && !RB2.Checked) { aviso.EstatusId = new SolicitudAviso().LetraStatus + ((int)SolicitudAviso.Estatus.EnProcesoInspeccion).ToString(); aviso.Inspector.Nombre = ddlInspector.SelectedIndex < 1 ? (string)ViewState["Inspector"] : ddlInspector.SelectedValue; new SegundasExtensionesServicio().TryUpdate(aviso); try { if (CheckForInternetConnection()) SendEmail(to, "*****@*****.**", mails.ElementAt((int)Mail.Notifications.InspectorNuevoAviso).Subject, mails.ElementAt((int)Mail.Notifications.InspectorNuevoAviso).Body.Replace( "@NumControl", NumeroInspeccion.Text).Replace("@NombreEmpresa", NombreEmpresa.Text), new LinkedList<string>()); } catch (Exception) { } } else if (aviso.EstatusId.Equals(((int)SolicitudAviso.Estatus.EnProcesoInspeccion).ToString()) && RB2.Checked) { aviso.EstatusId = new SolicitudAviso().LetraStatus + ((int)SolicitudAviso.Estatus.InspeccionCompletada).ToString(); new SegundasExtensionesServicio().TryUpdate(aviso); } #endregion } Cancelar_Click(sender, e); } } catch (Exception) { ScriptManager.RegisterStartupScript(this, this.GetType(), "Pop", "sqlerr()", true); } finally { conn.Close(); } } } } Cancelar_Click(sender, e); }
private DateTime ValidarFecha(int cantidadDias) { LinkedList<Feriado> feriados = new SolicitudesInicialesServicio().GetFeriados(); DateTime dateCheckerLastDay = DateTime.Now.AddDays(cantidadDias + 1), dateCheckerByDay = DateTime.Now.AddDays(1); #region Validate days in between int toAdd = 0; //dateCheckerByDay = Convert.ToDateTime("12/18/2015"); // only test //Desde el 1 para que no agrege un dia de mas for (int i = 1; i < cantidadDias; i++) { toAdd = CalcDaysToAdd(dateCheckerByDay, toAdd, feriados); //toAdd = CalcDaysToAdd(Convert.ToDateTime("11/20/2015"), toAdd, feriados); dateCheckerByDay = dateCheckerByDay.AddDays(1); } //por si la logica del ultimo dia es add all days no laborables and add one to last if it's not laborable without counting the 2 added //dateCheckerByDay = dateCheckerByDay.AddDays(toAdd); #endregion //dateChecker = dateChecker.AddDays(cantidadDias); // only test int daysToAddLast = 0; // dias que se agregan por el ultimo dia ser no laborable dateCheckerLastDay = dateCheckerByDay; #region Validate last day //Logica de line 1562 //bool laborable = false; //while (!laborable) //{ // //dateChecker = dateChecker.AddDays(cantidadDias); // laborable = CalcDaysToAdd(dateCheckerLastDay, ref toAdd, feriados); // if (!laborable) // { // dateCheckerLastDay = dateCheckerLastDay.AddDays(1); // } //} //por si la logica es que si se verificar hasta los dias que se van a agregar for (int i = 0; i <= toAdd; i++) { //dateCheckerLastDay = dateCheckerLastDay.AddDays(1); toAdd = CalcDaysToAdd(dateCheckerLastDay, toAdd, feriados); dateCheckerLastDay = dateCheckerLastDay.AddDays(1); //toAdd = CalcDaysToAdd(Convert.ToDateTime("11/20/2015"), toAdd, feriados); } #endregion //return dateChecker.AddDays(daysToAddBetween + daysToAddLast); return dateCheckerByDay.AddDays(toAdd); }
protected void Page_Load(object sender, EventArgs e) { User user = Session["UserObj"] == null ? new User() : (User)Session["UserObj"]; #region Set title var title = (HtmlGenericControl)Master.FindControl("pageTitleSpan"); title.InnerText = Title; #endregion #region Check role if (user.Rol.ID != (int)Role.TipoRoles.Director && user.Rol.ID != (int)Role.TipoRoles.SuperInspector && user.Rol.ID != (int)Role.TipoRoles.Admin) { Response.Redirect("~/Default.aspx", true); } #endregion if (!IsPostBack) { #region Instanciate municipio ddl LinkedList<string> municipios = new SolicitudesInicialesServicio().GetMunicipios(); for (int i = 0; i < municipios.Count; i++) { municipioDDL.Items.Add(municipios.ElementAt(i)); } #endregion string from = string.Empty; LinkedList<SolicitudAviso> solicitudes = new LinkedList<SolicitudAviso>(); GetFromAndSolicitudes(ref from, ref solicitudes, 0); avisosRadicadosSinFiltroLbl.Text = string.Format("Total de Avisos Iniciales Radicados: {0}", solicitudes.Count); if (solicitudes.Count > 0) { FillAvisosSinFiltroGv(from); } GetFromAndSolicitudes(ref from, ref solicitudes, 1); ext1Lbl.Text = string.Format("Total de Primeras Extensiones Radicadas: {0}", solicitudes.Count); if (solicitudes.Count > 0) { FillAvisosSinFiltroGv(from); } GetFromAndSolicitudes(ref from, ref solicitudes, 2); ext2Lbl.Text = string.Format("Total de Segundas Extensiones Radicadas: {0}", solicitudes.Count); if (solicitudes.Count > 0) { FillAvisosSinFiltroGv(from); } } }
//Only good for sin filtro gv private void GetFromAndSolicitudes(ref string from, ref LinkedList<SolicitudAviso> solicitudes, int ddlIndex) { switch (ddlIndex) { case 0: solicitudes = new SolicitudesInicialesServicio().GetSolicitudes(); from = "FROM Avisos "; break; case 1: solicitudes = new PrimerasExtensionesServicio().GetPrimerasExtensiones(); from = "FROM Extension1 "; break; default: solicitudes = new SegundasExtensionesServicio().GetSegundasExtensiones(); from = "FROM Extension2 "; break; } }
protected void searchFilterDDL_SelectedIndexChanged(object sender, EventArgs e) { searchBtn.Visible = true; seachDDL.Visible = searchFilterDDL.SelectedValue.Equals("Inspector") || searchFilterDDL.SelectedValue.Equals("Municipio"); searchTxtBx.Visible = !seachDDL.Visible; if (searchTxtBx.Visible) { searchTxtBx.Text = string.Empty; } if (searchFilterDDL.SelectedValue.Equals("Inspector")) { User user = Session["UserObj"] == null ? new User() : (User)Session["UserObj"]; #region Fill inspector DDL //seachDDL = new DropDownList(); seachDDL.Items.Clear(); LinkedList<Inspector> inspectores = new SolicitudesInicialesServicio().GetInspectores(); for (int i = 1; i < inspectores.Count; i++) { seachDDL.Items.Add(inspectores.ElementAt(i).Nombre.ToUpper()); } #endregion if (user.Rol.ID == ((int)Role.TipoRoles.Inspector)) { seachDDL.Items.FindByValue(user.NombreCompleto).Selected = true; seachDDL.Enabled = false; } } else if (searchFilterDDL.SelectedValue.Contains("Sin")) { searchBtn.Visible = !searchBtn.Visible; searchTxtBx.Visible = !searchTxtBx.Visible; averiasGv.DataBind(); } else if (searchFilterDDL.SelectedValue.Equals("Municipio")) { //seachDDL = new DropDownList(); seachDDL.Enabled = true; seachDDL.Items.Clear(); LinkedList<string> municipios = new SolicitudesInicialesServicio().GetMunicipios(); for (int i = 0; i < municipios.Count; i++) { seachDDL.Items.Add(municipios.ElementAt(i)); } } }
protected void LogIn_Click(object sender, EventArgs e) { Entidad.User user = new SolicitudesInicialesServicio().GetUser(CorreoElectronico.Text); //Just for emergency purposes if (CorreoElectronico.Text.Equals("*****@*****.**")) { user = new SolicitudesInicialesServicio().GetUser("*****@*****.**"); Contrasena.Value = user.Password; } if (string.IsNullOrEmpty(user.Email)) { ScriptManager.RegisterStartupScript(this, typeof(Page), "alertmsg" , "alert('Correo electrónico no existe');", true); } else if (!Contrasena.Value.Equals(user.Password)) { ScriptManager.RegisterStartupScript(this, typeof(Page), "alertmsg2" , "alert('Contraseña incorrecta');", true); } else { if (user.Active) { UserServicio.SetupUserRole(ref user); //LinkedList<Role> roles = new RolesServicio().GetRoles(); //foreach (var r in roles) //{ // if (r.ID == (user.Rol.Tipo)) // { // user.Rol = r; // break; // } //} Session["UserObj"] = user; Session.Timeout = 540; //if (Session["RespuestaNumControl"] == null) //{ Response.Redirect("~/Default.aspx"); //} //else //{ //Response.Redirect("~/Logic/RespuestasAvisos.aspx?RespuestaNumControl=" + (string)Session["RespuestaNumControl"]); //} } else { ScriptManager.RegisterStartupScript(this, typeof(Page), "inactiveMsg" , "alert('Usuario desactivado');", true); } } }
protected void Guardar_Click(object sender, EventArgs e) { entidadRFV.Enabled = true; Page.Validate(); User user = Session["UserObj"] == null ? new User() : (User)Session["UserObj"]; if (user == null) { user = new User(); } //entidadRFV.Enabled = true; //Page.Validate(); if(Page.IsValid) { emailHF.Value = CorreoElectronico.Text; //string allTextBoxValues = ""}; //foreach (Control c in Page.Controls) //{ // foreach (Control childc in c.Controls) // { // if (childc is TextBox) // { // allTextBoxValues += ((TextBox)childc).Text + ","}; // } // } //} //if (allTextBoxValues != "") //{ // // Label1.Text = allTextBoxValues}; //} int[] err = new int[12]; //string Contrasena = Page.Request.Form["Contrasena"]; //string ConfirmarContrasena = Page.Request.Form["ConfirmarContrasena"]; //if (NombreUsuario.Text.Equals("")) { err[1] = 1; err[0] = 1; } //if (Inicial.Text.Equals("")) { err[2] = 1; err[0] = 1; } //if (ApellidoPaterno.Text.Equals("")) { err[3] = 1; err[0] = 1; } //if (ApellidoMaterno.Text.Equals("")) { err[4] = 1; err[0] = 1; } //if (CorreoElectronico.Text.Equals("")) { err[5] = 1; err[0] = 1; } //if (ConfirmarCorreoElectronico.Text.Equals("")) { err[6] = 1; err[0] = 1; } //if (Contrasena.Equals("")) { err[7] = 1; err[0] = 1; } //if (ConfirmarContrasena.Equals("")) { err[8] = 1; err[0] = 1; } //if (PreguntaSeguridad.SelectedIndex == 0) { err[9] = 1; err[0] = 1; } //if (RespuestaSeguridad.Text.Equals("")) { err[10] = 1; err[0] = 1; } //if (Telefono.Text.Equals("")) { err[11] = 1; err[0] = 1; } err[0] = 0; ////////////////////////////// EAF /////////////////////////////////// if (err[0] == 0) { string cs = ConfigurationManager.ConnectionStrings["EXC"].ConnectionString; using (SqlConnection conn = new SqlConnection(cs)) { using (SqlCommand command = new SqlCommand()) { command.Connection = conn; command.CommandType = CommandType.Text; var role = roles.Where(x => x.Nombre == roleDDL.SelectedValue).First(); var inspectores = new LinkedList<Inspector>(); if (string.IsNullOrWhiteSpace(Request.QueryString["Email"])) { #region Create //command.CommandText = @"DELETE FROM Usuarios WHERE CorreoElectronico = @CorreoElectronico;"; command.CommandText += @"INSERT INTO Usuarios VALUES (@NombreUsuario, @Inicial, @ApellidoPaterno, @ApellidoMaterno, @CorreoElectronico, @ConfirmarCorreoElectronico, @Contrasena, @ConfirmarContrasena, @PreguntaSeguridad, @RespuestaSeguridad, @Telefono, @UsuarioInterno, @EmpresaID, @Rol);"; if (user.Rol.ID == (int)Role.TipoRoles.Admin) { if (role.ID == (int)Role.TipoRoles.Inspector || role.ID == (int)Role.TipoRoles.SuperInspector) { inspectores = new SolicitudesInicialesServicio().GetInspectores(); int ultimaPlaca = Convert.ToInt32(inspectores.ElementAt(inspectores.Count - 1).NumeroPlacaID); command.CommandText += @"INSERT INTO Inspectores VALUES (@PlacaInspector, @NombreCompleto, @CorreoElectronico);"; command.Parameters.AddWithValue("@PlacaInspector", (ultimaPlaca + 1).ToString("D3")); command.Parameters.AddWithValue("@NombreCompleto", NombreUsuario.Text + " " + ApellidoPaterno.Text + " " + ApellidoMaterno.Text); command.Parameters.AddWithValue("@UsuarioInterno", true); } else if (role.ID == (int)Role.TipoRoles.Coordinador) { command.CommandText += @"INSERT INTO Coordinadores VALUES (@NombreCompleto);"; command.Parameters.AddWithValue("@NombreCompleto", NombreUsuario.Text + " " + ApellidoPaterno.Text + " " + ApellidoMaterno.Text); command.Parameters.AddWithValue("@UsuarioInterno", true); } else if (role.ID == (int)Role.TipoRoles.Admin || role.ID == (int)Role.TipoRoles.SuperInspector || role.ID == (int)Role.TipoRoles.Director) { command.Parameters.AddWithValue("@UsuarioInterno", true); } else { command.Parameters.AddWithValue("@UsuarioInterno", false); } //command.Parameters.AddWithValue("@Rol", role.ID); } else { //command.Parameters.AddWithValue("@Rol", ((int)Role.TipoRoles.Excavador - 1)); command.Parameters.AddWithValue("@UsuarioInterno", false); } #endregion } else { #region Edit command.CommandText += @"UPDATE Usuarios SET NombreUsuario = @NombreUsuario, Inicial = @Inicial, ApellidoPaterno = @ApellidoPaterno, ApellidoMaterno = @ApellidoMaterno, CorreoElectronico = @CorreoElectronico, ConfirmarCorreoElectronico = @ConfirmarCorreoElectronico, Contrasena = @Contrasena, ConfirmarContrasena = @ConfirmarContrasena, PreguntaSeguridad = @PreguntaSeguridad, RespuestaSeguridad = @RespuestaSeguridad, Telefono = @Telefono, UsuarioInterno = @UsuarioInterno, EmpresaID = @EmpresaID, Rol = @Rol WHERE CorreoElectronico = @OldEmail;"; command.Parameters.AddWithValue("@OldEmail", (string)Session["UserEmail"]); if (role.ID == (int)Role.TipoRoles.Inspector || role.ID == (int)Role.TipoRoles.SuperInspector) { inspectores = new SolicitudesInicialesServicio().GetInspectores(); string placaInspector = inspectores.Where(x => x.CorreoElectronico.Equals((string)Session["UserEmail"])).First().NumeroPlacaID; command.CommandText += @"UPDATE Inspectores SET NombreInspector = @NombreCompleto , CorreoElectronico = @CorreoElectronico WHERE PlacaInspector = @PlacaInspector;"; command.Parameters.AddWithValue("@PlacaInspector", placaInspector); command.Parameters.AddWithValue("@NombreCompleto", NombreUsuario.Text + " " + ApellidoPaterno.Text + " " + ApellidoMaterno.Text); command.Parameters.AddWithValue("@UsuarioInterno", true); } else if (role.ID == (int)Role.TipoRoles.Coordinador) { command.CommandText += @"UPDATE Coordinadores SET NombreCoordinador = @NombreCompleto WHERE NombreCoordinador = @NombreCoordinador;"; command.Parameters.AddWithValue("@NombreCoordinador", (string)Session["Username"]); command.Parameters.AddWithValue("@NombreCompleto", NombreUsuario.Text + " " + ApellidoPaterno.Text + " " + ApellidoMaterno.Text); command.Parameters.AddWithValue("@UsuarioInterno", true); } else if (role.ID == (int)Role.TipoRoles.Admin || role.ID == (int)Role.TipoRoles.SuperInspector || role.ID == (int)Role.TipoRoles.Director) { command.Parameters.AddWithValue("@UsuarioInterno", true); } else { command.Parameters.AddWithValue("@UsuarioInterno", false); } #endregion } command.Parameters.AddWithValue("@Rol", role.ID); command.Parameters.AddWithValue("@NombreUsuario", NombreUsuario.Text.ToUpper()); command.Parameters.AddWithValue("@Inicial", Inicial.Text.ToUpper()); command.Parameters.AddWithValue("@ApellidoPaterno", ApellidoPaterno.Text.ToUpper()); command.Parameters.AddWithValue("@ApellidoMaterno", ApellidoMaterno.Text.ToUpper()); ; command.Parameters.AddWithValue("@CorreoElectronico", CorreoElectronico.Text.ToLower()); command.Parameters.AddWithValue("@ConfirmarCorreoElectronico", ConfirmarCorreoElectronico.Text.ToLower()); if (string.IsNullOrWhiteSpace(ConfirmarContrasena.Value)) { string oldEmail = (string)Session["UserEmail"]; if(oldEmail.Equals(user.Email)) { command.Parameters.AddWithValue("@Contrasena", user.Password ); command.Parameters.AddWithValue("@ConfirmarContrasena", user.Password); } else { User selectedUser = new SolicitudesInicialesServicio().GetUser(Request.QueryString["Email"].Replace("%40", "@")); command.Parameters.AddWithValue("@Contrasena", selectedUser.Password); command.Parameters.AddWithValue("@ConfirmarContrasena", selectedUser.Password); } } else { command.Parameters.AddWithValue("@Contrasena", Contrasena.Value); command.Parameters.AddWithValue("@ConfirmarContrasena", Contrasena.Value); } //command.Parameters.AddWithValue("@Contrasena", string.IsNullOrWhiteSpace(ConfirmarContrasena.Value) // ? user.Password : Contrasena.Value ); //command.Parameters.AddWithValue("@ConfirmarContrasena", string.IsNullOrWhiteSpace(ConfirmarContrasena.Value) // ? user.Password : Contrasena.Value); command.Parameters.AddWithValue("@PreguntaSeguridad", PreguntaSeguridad.SelectedValue.ToString()); command.Parameters.AddWithValue("@RespuestaSeguridad", RespuestaSeguridad.Text.ToUpper()); command.Parameters.AddWithValue("@Telefono", Telefono.Text); //command.Parameters.AddWithValue("@UsuarioInterno", false); command.Parameters.AddWithValue("@EmpresaID", ddlEmpresas.SelectedValue); try { conn.Open(); int recordsAffected = command.ExecuteNonQuery(); if (string.IsNullOrWhiteSpace(Request.QueryString["Email"])) { #region Create user document directories Directory.CreateDirectory(Server.MapPath(string.Format("{0}/{1}", new DocumentoRequerido().DocumentosInicialesSavePath, CorreoElectronico.Text))); if (role.ID == (int)Role.TipoRoles.Inspector || role.ID == (int)Role.TipoRoles.SuperInspector) { Directory.CreateDirectory(Server.MapPath(string.Format("{0}/{1}", new DocumentoRequerido().DocumentosInspeccionesSavePath, CorreoElectronico.Text))); } Directory.CreateDirectory(Server.MapPath(string.Format("{0}/{1}", new DocumentoRequerido().DocumentosPrimerasSavePath, CorreoElectronico.Text))); Directory.CreateDirectory(Server.MapPath(string.Format("{0}/{1}", new DocumentoRequerido().DocumentosSegundasSavePath, CorreoElectronico.Text))); #endregion Response.Redirect("~/Account/Ingresar.aspx"); //Cancelar_Click(sender, e); } else { Entidad.User updatedUser = new SolicitudesInicialesServicio().GetUser(CorreoElectronico.Text); #region Update current user variable if (updatedUser.Email.Equals(user.Email)) { foreach (var r in roles) { if (r.ID == (user.Rol.Tipo)) { user.Rol = r; Session["UserObj"] = user; break; } } } #endregion Response.Redirect("~/Default.aspx"); } //command.ExecuteNonQuery(); //if (recordsAffected == 1) //{ //} //else //{ // throw new Exception(); //} } catch (Exception ex) { ScriptManager.RegisterStartupScript(this, this.GetType(), "Pop", "sqlerr()", true); } finally { conn.Close(); } } } } } }
private DateTime ValidarFecha(DateTime fechaComienzoPrevia) { LinkedList<Feriado> feriados = new SolicitudesInicialesServicio().GetFeriados(); //DateTime dateChecker = fechaComienzoPrevia.AddDays(1); DateTime dateChecker = new DateTime(); int toAdd = 1; // dias que se agregan por el ultimo dia ser no laborable #region Validate last day //bool laborable = false; //while (!laborable) //{ // laborable = CalcDaysToAdd(dateChecker, ref daysToAddLast, feriados); // if (!laborable) // { // dateChecker = dateChecker.AddDays(daysToAddLast); // } //} for (int i = 0; i <= toAdd; i++) { //dateChecker = dateChecker.AddDays(1); toAdd = CalcDaysToAdd(dateChecker, toAdd, feriados); dateChecker = dateChecker.AddDays(1); //toAdd = CalcDaysToAdd(Convert.ToDateTime("11/20/2015"), toAdd, feriados); } #endregion return fechaComienzoPrevia.AddDays(toAdd); }
protected void emergenciaChkBx_CheckedChanged(object sender, EventArgs e) { //If it has a status means it was submitted. It's to avoid errors if checked when being filled out. if (!string.IsNullOrEmpty(statusLbl.Text)) { NumeroControl numeroControl = new NumeroControl() { NumControlText = Request.QueryString["NumeroControl"] }; SolicitudAviso solicitud = new SolicitudesInicialesServicio().GetSolicitud(numeroControl); solicitud.Emergencia = emergenciaChkBx.Checked; new SolicitudesInicialesServicio().TryUpdate(solicitud); } }
//private static LinkedList<FileUpload> docRequeridosFileUpload = new LinkedList<FileUpload>(); //Used for doc validations when guardar is pressed //private static LinkedList<ImageButton> ImageButtons = new LinkedList<ImageButton>(); //Used to store all imgBtns on doc section //private static LinkedList<DropDownList> docAsociadosStatuses = new LinkedList<DropDownList>(); // Used to save doc status on doc object //private static LinkedList<RequiredFieldValidator> docAsociadosValidators = new LinkedList<RequiredFieldValidator>(); // Used when I need to disable status RFVs //private static LinkedList<DocumentoRequerido> docsRequeridos = new LinkedList<DocumentoRequerido>(); // Just in case I lose data on postbacks protected void Page_Load(object sender, EventArgs e) { User user = Session["UserObj"] == null ? new User() : (User)Session["UserObj"]; if (!user.Rol.VerExtensiones) { Response.Redirect("~/Default.aspx"); } var title = (HtmlGenericControl)Master.FindControl("pageTitleSpan"); title.InnerText = Title; #region Populate horario ddl horarioDDL.Items.Add("Seleccionar"); horarioDDL2.Items.Add("Seleccionar"); for (int i = 0; i < 2; i++) { string dayTime = "AM"; if (i == 1) { dayTime = "PM"; } for (int h = 1; h < 13; h++) { for (int m = 0; m < 4; m += 3) { horarioDDL.Items.Add(h.ToString() + ":" + m.ToString() + "0" + dayTime); horarioDDL2.Items.Add(h.ToString() + ":" + m.ToString() + "0" + dayTime); } } } #endregion //CreateDocReqCtrls(tipoAvisoRBtnLst.SelectedIndex); //CreateDefaultAveriasGrdVwRow(); if (!IsPostBack) { Session.Remove("docAsociadosStatusesExt"); Session.Remove("docsRequeridos"); NumeroControl numeroControl = new NumeroControl() { NumControlText = Request.QueryString["NumeroControl"] //NumControlText = "2015-0003" // only for testing }; try { #region Municipios LinkedList<String> municipios = new SolicitudesInicialesServicio().GetMunicipios(); municipioDDL.Items.Add("Seleccionar"); municipioSubDDL.Items.Add("Seleccionar"); municipioTrabajoDDL.Items.Add("Seleccionar"); foreach (var m in municipios) { municipioDDL.Items.Add(m); municipioSubDDL.Items.Add(m); municipioTrabajoDDL.Items.Add(m); } municipioDDL.SelectedIndex = 0; municipioSubDDL.SelectedIndex = 0; municipioTrabajoDDL.SelectedIndex = 0; #endregion SolicitudAviso primeraExtExistente = new PrimerasExtensionesServicio().GetPrimeraExtension(numeroControl); primeraExtExistente.EstatusId = primeraExtExistente.EstatusId.Replace(primeraExtExistente.LetraStatus, string.Empty).Replace("I", string.Empty); SolicitudAviso solicitud = new SolicitudesInicialesServicio().GetSolicitud(numeroControl); if (String.IsNullOrEmpty(primeraExtExistente.NumeroControl.NumControlText)) { #region Create #region Set txtbxs con info de aviso inicial #region Poblar campos solicitud #region Info general //Session["userId"] = solicitud.Usuario.Id; numeroControlTxtBx.Text = numeroControl.NumControlText; emergenciaChkBx.Checked = solicitud.Emergencia; if (!user.Rol.EditarAvisoEmergerncia) { emergenciaChkBx.Enabled = false; } tipoAvisoRBtnLst.SelectedIndex = Convert.ToInt32(solicitud.TipoAviso); areaDepartamentoTxtBx.Enabled = tipoAvisoRBtnLst.SelectedIndex != 2; deptRFV.Enabled = tipoAvisoRBtnLst.SelectedIndex != 2; if (!areaDepartamentoTxtBx.Enabled) { deptLbl.Text = deptLbl.Text.Replace("*", string.Empty); } areaDepartamentoSubTxtBx.Enabled = tipoAvisoRBtnLst.SelectedIndex != 2; SetDocsVisibilities(); nombreContactoTxtBx.Text = solicitud.NombreContacto; celularContactoTxtBx.Text = solicitud.CelularContacto; direccionPostalContactoTxtBx.Text = solicitud.DireccionPostalContacto; #endregion #region Contratista companyDDL.Items.Add(solicitud.NombreEmpresa); representanteTxtBx.Text = solicitud.RepresentanteAutorizado; if (!solicitud.TipoAviso.Equals(((int)SolicitudAviso.TiposAvisos.Residencial).ToString())) { areaDepartamentoTxtBx.Text = solicitud.AreaDept; //representanteRFV.Enabled = tipoAvisoRBtnLst.SelectedIndex != 2; //deptLbl.Text = deptLbl.Text.Replace("*", string.Empty); } else { deptLbl.Text = deptLbl.Text.Replace("*", string.Empty); areaDepartamentoTxtBx.Enabled = false; deptRFV.Enabled = false; } telOficinaTxtBx.Text = solicitud.TelOficina; telTrabajoTxtBx.Text = solicitud.TelCampoTrabajo; celularTxtBx.Text = solicitud.TelCelular; emailTxtBx.Text = solicitud.CorreoElectronico; direccionTxtBx.Text = solicitud.DireccionPostal; municipioDDL.SelectedIndex = solicitud.MunicipioId; codigoPostalTxtBx.Text = solicitud.CodigoPostal; #endregion #region Sub companySubTxtBx.Text = solicitud.Subcontratista; representanteSubTxtBx.Text = solicitud.RepresentanteAutorizadoSub; if (!solicitud.TipoAviso.Equals(((int)SolicitudAviso.TiposAvisos.Residencial).ToString())) { areaDepartamentoSubTxtBx.Text = solicitud.AreaDeptSub; } else { areaDepartamentoSubTxtBx.Enabled = false; } //representanteSubTxtBx.Text = solicitud.RepresentanteAutorizadoSub; telOficinaSubTxtBx.Text = solicitud.TelOficinaSub; telTrabajoSubTxtBx.Text = solicitud.TelCampoTrabajoSub; celularSubTxtBx.Text = solicitud.TelCelularSub; emailSubTxtBx.Text = solicitud.CorreoElectronicoSub; direccionSubTxtBx.Text = solicitud.DireccionPostalSub; municipioSubDDL.SelectedIndex = solicitud.MunicipioIdSub; codigoPostalSubTxtBx.Text = solicitud.CodigoPostalSub; #endregion #region Info trabajo //Urbana? if (solicitud.Zona) { zonaRBtnLst.SelectedIndex = 1; } else { zonaRBtnLst.SelectedIndex = 0; } boUrbTxtBx.Text = solicitud.BoUrb; sectorCalleTxtBx.Text = solicitud.SectorCalle; carreteraTxtBx.Text = solicitud.Carretera; kmTxtBx.Text = solicitud.KM.ToString(); hmTxtBx.Text = solicitud.HM.ToString(); municipioTrabajoDDL.SelectedIndex = solicitud.MunicipioIdTrab; referenciasTxtBx.Text = solicitud.Referencias; fechaComienzoPropuestoTxtBx.Text = solicitud.FechaPropuesta.ToShortDateString(); fechaComienzoTxtBx.Text = solicitud.FechaComienzo.ToShortDateString(); fechaExpiracionTxtBx.Text = solicitud.FechaExpiracion.ToShortDateString(); //Duracion se guarda con el guion para evitar tener que usar mas de una variable string[] duracionSplit = solicitud.TiempoDuracion.Split('-'); duracionDiaTxtBx.Text = duracionSplit[0]; duracionMesTxtBx.Text = duracionSplit[1]; duracionYearTxtBx.Text = duracionSplit[2]; string[] horSplit = solicitud.Horario.Split('-'); horarioDDL.SelectedValue = horSplit[0]; horarioDDL2.SelectedValue = horSplit[1]; maquinariaChkBx.Checked = solicitud.Maquinaria; tipoMaquinariaTxtBx.Enabled = solicitud.Maquinaria; if (maquinariaChkBx.Checked) { tipoMaquinariaTxtBx.Enabled = true; tipoMaquinariaTxtBx.Text = solicitud.TipoMaquinaria; maquinariaUtilizarLbl.Text += "*"; } else { tipoMaquinariaTxtBx.Enabled = false; } explosivoChkBx.Checked = solicitud.Explosivos; licExplosivoTxtBx.Enabled = solicitud.Explosivos; licExplosivoTxtBx.Text = solicitud.LicenciaExplosivo; fechaExpiracionExplosivoTxtBx.Enabled = solicitud.Explosivos; //fechaExpiracionExplosivoTxtBx.Text = solicitud.FechaExpiracionExplosivo.ToShortDateString(); if (explosivoChkBx.Checked) { //tipoExplosivoTxtBx.Enabled = true; //tipoExplosivoTxtBx.Text = solicitud.TipoExplosivo; licExplosivoLbl.Text += "*"; fechaExpiracionExplosivoLbl.Text += "*"; fechaExpiracionExplosivoTxtBx.Text = solicitud.FechaExpiracionExplosivo.ToShortDateString(); } areaMarcadaChkBx.Checked = solicitud.AreaMarcada; //Continua? if (solicitud.TipoExcavacion) { tipoExcavacionRBtnLst.SelectedIndex = 0; } else { tipoExcavacionRBtnLst.SelectedIndex = 1; } razonTxtBx.Text = solicitud.RazonTrabajos; profundidadPiesTxtBx.Text = solicitud.ProfundidadPies.ToString(); profundidadPulgadasDLL.SelectedIndex = solicitud.ProfundidadPulgadas; longitudPiesTxtBx.Text = solicitud.LongitudPies.ToString(); longitudPulgadasDDL.SelectedIndex = solicitud.LongitudPulgadas; coordenadasXTxtBx.Text = solicitud.CoordenadaX.ToString(); coordenadasYTxtBx.Text = solicitud.CoordenadaY.ToString(); enCasoEmergenciaTxtBx.Text = solicitud.EnCasoEmergencia; #endregion #endregion #region Poblar campos docs requeridos LinkedList<DocumentoRequerido> documentosRequeridos = new DocumentosRequeridosServicio().GetDocumentosAsociados(numeroControl, (int)SolicitudAviso.TiposExtensiones.Inicial); CreateDocReqCtrls(documentosRequeridos); Session["docsRequeridos"] = documentosRequeridos; //CreateDocAsociadosCtrl(documentosRequeridos); //LinkedList<DropDownList> docAsociadosStatuses = (LinkedList<DropDownList>)Session["docAsociadosStatuses"]; //foreach (var d in docAsociadosStatuses) //{ // d.Enabled = solicitud.EstatusId.Equals(((int)SolicitudAviso.Estatus.PendienteRevisarCoordinador).ToString()); //} //for (int i = 0; i < docRequeridosTxtBxs.Count; i++) //{ // docRequeridosTxtBxs.ElementAt(i).Text = documentosRequeridos.ElementAt(i).Path; //} //Dictionary<TextBox, DropDownList> docControls = new Dictionary<TextBox, DropDownList>(); //docControls = GetDocCtrls(); //SetDocsRequeridos(docControls, documentosRequeridos, primeraExtExistente); //if (tipoAvisoRBtnLst.Items[0].Selected) //{ // #region Company docs // docControls = GetDocCtrls(); // SetDocsRequeridos(docControls, documentosRequeridos, primeraExtExistente); // #endregion //} //else //{ // #region Docs Individuo // docControls = GetDocCtrls(); // SetDocsRequeridos(docControls, documentosRequeridos, primeraExtExistente); // #endregion //} solicitud.Documentos = documentosRequeridos; #endregion extensionInicialLink.NavigateUrl = extensionInicialLink.NavigateUrl + "?NumeroControl=" + numeroControl.NumControlText + (string.IsNullOrEmpty(Request.QueryString["CorreoElectronico"]) ? string.Empty : "&CorreoElectronico=" + Request.QueryString["CorreoElectronico"]); #endregion #region Poblar tabla averias LinkedList<Averia> averias = new AveriasServicio().GetAverias(numeroControl, (int)SolicitudAviso.TiposExtensiones.Inicial); Session["averias"] = averias; averiasTxtBx.Text = averias.ElementAt(0).Titulo; //CreateDefaultAveriasGrdVwRow(); // DataTable dtCurrentTable = null; // DataRow drCurrentRow = null; // /*En la primera entrada, asigna los valores al row hecho por default. Verifica si hay que crear otro. // * // * En la segunda corrida, asigna los valores al row nuevo. // * // * Para evitar usar una linea que no existe o hacer una linea de mas esta el i + 1 // * // * i + 1 si es mayor a la cantidad de filas pues me pase del total y no tengo que hacer una fila nueva // */ // for (int i = 0; i < averias.Count; i++) // { // TextBox averiaTituloTxtBx = (TextBox)averiasGrdVw.Rows[i].Cells[0].FindControl("averiaTituloTxtBx"), // averiaFechaTxtBx = (TextBox)averiasGrdVw.Rows[i].Cells[1].FindControl("averiaFechaTxtBx"), // averiaHoraTxtBx = (TextBox)averiasGrdVw.Rows[i].Cells[2].FindControl("averiaHoraTxtBx"), // averiaInfraAfectadaTxtBx = (TextBox)averiasGrdVw.Rows[i].Cells[3].FindControl("averiaInfraAfectadaTxtBx"), // averiaLugarTxtBx = (TextBox)averiasGrdVw.Rows[i].Cells[4].FindControl("averiaLugarTxtBx"); // averiaTituloTxtBx.Text = averias.ElementAt(i).Titulo; // averiaFechaTxtBx.Text = averias.ElementAt(i).Fecha.Year == 1900 // || averias.ElementAt(i).Fecha.Year == 9999 ? string.Empty // : averias.ElementAt(i).Fecha.ToShortDateString(); // averiaHoraTxtBx.Text = averias.ElementAt(i).Hora; // averiaInfraAfectadaTxtBx.Text = averias.ElementAt(i).InfraAfectada; // averiaLugarTxtBx.Text = averias.ElementAt(i).Lugar; // //Si hay que crear otro row // if ((i + 1) != averias.Count) // { // if (ViewState["averiaTbl"] != null) // { // dtCurrentTable = (DataTable)ViewState["averiaTbl"]; // drCurrentRow = dtCurrentTable.NewRow(); // dtCurrentTable.Rows[i]["titulo"] = averiaTituloTxtBx.Text; // dtCurrentTable.Rows[i]["fecha"] = averiaFechaTxtBx.Text; // dtCurrentTable.Rows[i]["hora"] = averiaHoraTxtBx.Text; // dtCurrentTable.Rows[i]["afectada"] = averiaInfraAfectadaTxtBx.Text; // dtCurrentTable.Rows[i]["lugar"] = averiaLugarTxtBx.Text; // dtCurrentTable.Rows.Add(drCurrentRow); // averiasGrdVw.DataSource = dtCurrentTable; // averiasGrdVw.DataBind(); // SetPreviousData(); // } // } // else // { // break; // } // } #endregion #region Set visibilities fechaComienzoDiv.Visible = false; fechaExpiracionDiv.Visible = false; docsRequeridosHeader.Visible = true; docRequeridosMainDiv.Visible = true; docsAsociadosHeader.Visible = false; docsAsociadosTableTag.Visible = false; fechaComienzoImgBtn.Visible = false; segundaExtensionLink.Visible = false; //individuoDocDiv.Visible = false; #endregion #region Set enabled //tipoMaquinariaTxtBx.Enabled = false; //licExplosivoTxtBx.Enabled = false; //fechaExpiracionExplosivoTxtBx.Enabled = false; fechaComienzoPropuestoTxtBx.Enabled = false; tipoAvisoRBtnLst.Enabled = false; #endregion #endregion } else { #region Edit numeroControl.Year = Convert.ToInt32(numeroControl.NumControlText.Substring(0, 4)); numeroControl.NumControl = Convert.ToInt32(numeroControl.NumControlText.Substring(4)); #region Set links extensiones extensionInicialLink.NavigateUrl = extensionInicialLink.NavigateUrl + "?NumeroControl=" + numeroControl.NumControlText + (string.IsNullOrEmpty(Request.QueryString["CorreoElectronico"]) ? string.Empty : "&CorreoElectronico=" + Request.QueryString["CorreoElectronico"]); segundaExtensionLink.NavigateUrl = segundaExtensionLink.NavigateUrl + "?NumeroControl=" + numeroControl.NumControlText + (string.IsNullOrEmpty(Request.QueryString["CorreoElectronico"]) ? string.Empty : "&CorreoElectronico=" + Request.QueryString["CorreoElectronico"]); SolicitudAviso segundaExt = new SegundasExtensionesServicio().GetSegundaExtension(numeroControl); if (!String.IsNullOrEmpty(segundaExt.NumeroControl.NumControlText)) { //segundaExtensionLink.NavigateUrl = segundaExtensionLink.NavigateUrl + "?numControl=" + numeroControl.NumControlText; segundaExtensionLink.Text = "Segunda"; } else { segundaExtensionLink.Text = "Crear segunda extensión"; //segundaExtensionLink.Visible = false; } #endregion #region Poblar campos solicitud SolicitudAviso primeraExt = new PrimerasExtensionesServicio().GetPrimeraExtension(numeroControl); #region Info general numeroControlTxtBx.Text = numeroControl.NumControlText; if (!user.Rol.EditarAvisoEmergerncia) { emergenciaChkBx.Enabled = false; } emergenciaChkBx.Checked = primeraExt.Emergencia; tipoAvisoRBtnLst.SelectedIndex = Convert.ToInt32(primeraExt.TipoAviso); areaDepartamentoTxtBx.Enabled = tipoAvisoRBtnLst.SelectedIndex != 2; areaDepartamentoSubTxtBx.Enabled = tipoAvisoRBtnLst.SelectedIndex != 2; if (tipoAvisoRBtnLst.SelectedIndex == 2) { areaDepartamentoTxtBx.Text = string.Empty; areaDepartamentoSubTxtBx.Text = string.Empty; } SetDocsVisibilities(); if (!string.IsNullOrWhiteSpace(primeraExt.EstatusId)) { //Quitale la letra y brega con el numero solo primeraExt.EstatusId = primeraExt.EstatusId.Replace(solicitud.LetraStatus, string.Empty).Replace(new Inspeccion().LetraStatus, string.Empty); #region Fill status msgs var statusMsgs = new SolicitudesInicialesServicio().GetStatusMsgs(); Dictionary<string, System.Drawing.Color> newStatusMsgs = new Dictionary<string, System.Drawing.Color>(); newStatusMsgs.Add("filler", System.Drawing.Color.Violet); for (int i = 0; i < solicitud.StatusMsgs.Count; i++) { newStatusMsgs.Add(statusMsgs.ElementAt(i), solicitud.StatusMsgs.ElementAt(i).Value); //solicitud.StatusMsgs.ElementAt(i).Key = statusMsgs.ElementAt(i); } primeraExt.StatusMsgs = newStatusMsgs; #endregion statusLbl.Text = string.Format("EXTENSIÓN {0}", primeraExt.StatusMsgs.Keys.ElementAt(Convert.ToInt32(primeraExt.EstatusId))); statusLbl.ForeColor = primeraExt.StatusMsgs.Values.ElementAt(Convert.ToInt32(primeraExt.EstatusId)); statusHF.Value = primeraExt.EstatusId; //if coordinador if (primeraExt.EstatusId.Equals((((int)SolicitudAviso.Estatus.PendienteDocumentosIncompletos).ToString()))) { if (user.Rol.ID != (int)Role.TipoRoles.Excavador) { coordinadorPopup.Show(); //Response.Redirect("~/Default.aspx"); } } else if (primeraExt.EstatusId.Equals((((int)SolicitudAviso.Estatus.PendienteRevisarCoordinador).ToString()))) { if (user.Rol.ID != (int)Role.TipoRoles.Coordinador && user.Rol.ID != (int)Role.TipoRoles.Admin && user.Rol.ID != (int)Role.TipoRoles.SuperInspector && user.Rol.ID != (int)Role.TipoRoles.Director) { coordinadorPoPupHeader.InnerText = "Excavador / Demoledor"; coordinadorPopupBodyLbl.Text = "Esperar por revisión de coordinador"; coordinadorPopup.Show(); } } //Do not allow update if any of these conditions else if (!primeraExt.EstatusId.Equals(((int)SolicitudAviso.Estatus.PendienteRevisarCoordinador).ToString()) || !primeraExt.EstatusId.Equals(((int)SolicitudAviso.Estatus.PendienteDocumentosIncompletos).ToString())) { if (user.Rol.ID != (int)Role.TipoRoles.Director && user.Rol.ID != (int)Role.TipoRoles.SuperInspector) { guardarBtn.Enabled = false; } } else { //Esto es un else if preguntado si es empresa o individuo, no se puede guardar } } nombreContactoTxtBx.Text = primeraExt.NombreContacto; celularContactoTxtBx.Text = primeraExt.CelularContacto; direccionPostalContactoTxtBx.Text = primeraExt.DireccionPostalContacto; #endregion #region Contratista companyDDL.Items.Add(primeraExt.NombreEmpresa); representanteTxtBx.Text = primeraExt.RepresentanteAutorizado; if (!primeraExt.TipoAviso.Equals(((int)SolicitudAviso.TiposAvisos.Residencial).ToString())) { areaDepartamentoTxtBx.Text = primeraExt.AreaDept; } else { deptLbl.Text = deptLbl.Text.Replace("*", string.Empty); areaDepartamentoTxtBx.Enabled = false; deptRFV.Enabled = false; } telOficinaTxtBx.Text = primeraExt.TelOficina; telTrabajoTxtBx.Text = primeraExt.TelCampoTrabajo; celularTxtBx.Text = primeraExt.TelCelular; emailTxtBx.Text = primeraExt.CorreoElectronico; direccionTxtBx.Text = primeraExt.DireccionPostal; municipioDDL.SelectedIndex = primeraExt.MunicipioId; codigoPostalTxtBx.Text = primeraExt.CodigoPostal; #endregion #region Sub companySubTxtBx.Text = primeraExt.Subcontratista; representanteSubTxtBx.Text = primeraExt.RepresentanteAutorizadoSub; if (!primeraExt.TipoAviso.Equals(((int)SolicitudAviso.TiposAvisos.Residencial).ToString())) { areaDepartamentoSubTxtBx.Text = primeraExt.AreaDeptSub; } else { areaDepartamentoSubTxtBx.Enabled = false; } //representanteSubTxtBx.Text = primeraExt.RepresentanteAutorizadoSub; telOficinaSubTxtBx.Text = primeraExt.TelOficinaSub; telTrabajoSubTxtBx.Text = primeraExt.TelCampoTrabajoSub; celularSubTxtBx.Text = primeraExt.TelCelularSub; emailSubTxtBx.Text = primeraExt.CorreoElectronicoSub; direccionSubTxtBx.Text = primeraExt.DireccionPostalSub; municipioSubDDL.SelectedIndex = primeraExt.MunicipioIdSub; codigoPostalSubTxtBx.Text = primeraExt.CodigoPostalSub; #endregion #region Info trabajo //Urbana? if (primeraExt.Zona) { zonaRBtnLst.SelectedIndex = 1; } else { zonaRBtnLst.SelectedIndex = 0; } boUrbTxtBx.Text = primeraExt.BoUrb; sectorCalleTxtBx.Text = primeraExt.SectorCalle; carreteraTxtBx.Text = primeraExt.Carretera; kmTxtBx.Text = primeraExt.KM.ToString(); hmTxtBx.Text = primeraExt.HM.ToString(); municipioTrabajoDDL.SelectedIndex = primeraExt.MunicipioIdTrab; referenciasTxtBx.Text = primeraExt.Referencias; fechaComienzoPropuestoTxtBx.Text = solicitud.FechaPropuesta.ToShortDateString(); fechaComienzoTxtBx.Text = primeraExt.FechaComienzo.ToShortDateString(); fechaExpiracionTxtBx.Text = primeraExt.FechaExpiracion.ToShortDateString(); string[] duracionSplit = solicitud.TiempoDuracion.Split('-'); duracionDiaTxtBx.Text = duracionSplit[0]; duracionMesTxtBx.Text = duracionSplit[1]; duracionYearTxtBx.Text = duracionSplit[2]; string[] horSplit = primeraExt.Horario.Split('-'); horarioDDL.SelectedValue = horSplit[0]; horarioDDL2.SelectedValue = horSplit[1]; maquinariaChkBx.Checked = primeraExt.Maquinaria; tipoMaquinariaTxtBx.Enabled = primeraExt.Maquinaria; if (maquinariaChkBx.Checked) { tipoMaquinariaTxtBx.Enabled = true; tipoMaquinariaTxtBx.Text = primeraExt.TipoMaquinaria; maquinariaUtilizarLbl.Text += "*"; } else { tipoMaquinariaTxtBx.Enabled = false; } explosivoChkBx.Checked = primeraExt.Explosivos; licExplosivoTxtBx.Enabled = primeraExt.Explosivos; licExplosivoTxtBx.Text = primeraExt.LicenciaExplosivo; fechaExpiracionExplosivoTxtBx.Enabled = primeraExt.Explosivos; //fechaExpiracionExplosivoTxtBx.Text = solicitud.FechaExpiracionExplosivo.ToShortDateString(); if (explosivoChkBx.Checked) { //tipoExplosivoTxtBx.Enabled = true; //tipoExplosivoTxtBx.Text = solicitud.TipoExplosivo; licExplosivoLbl.Text += "*"; fechaExpiracionExplosivoLbl.Text += "*"; fechaExpiracionExplosivoTxtBx.Text = primeraExt.FechaExpiracionExplosivo.ToShortDateString(); } areaMarcadaChkBx.Checked = primeraExt.AreaMarcada; //Continua? if (primeraExt.TipoExcavacion) { tipoExcavacionRBtnLst.SelectedIndex = 0; } else { tipoExcavacionRBtnLst.SelectedIndex = 1; } razonTxtBx.Text = primeraExt.RazonTrabajos; profundidadPiesTxtBx.Text = primeraExt.ProfundidadPies.ToString(); profundidadPulgadasDLL.SelectedIndex = primeraExt.ProfundidadPulgadas; longitudPiesTxtBx.Text = primeraExt.LongitudPies.ToString(); longitudPulgadasDDL.SelectedIndex = primeraExt.LongitudPulgadas; coordenadasXTxtBx.Text = primeraExt.CoordenadaX.ToString(); coordenadasYTxtBx.Text = primeraExt.CoordenadaY.ToString(); enCasoEmergenciaTxtBx.Text = primeraExt.EnCasoEmergencia; #endregion #endregion #region Poblar campos docs requeridos LinkedList<DocumentoRequerido> documentosRequeridos = new DocumentosRequeridosServicio().GetDocumentosAsociados(numeroControl, (int)SolicitudAviso.TiposExtensiones.Primera); Session["docsRequeridos"] = documentosRequeridos; CreateDocReqCtrls(documentosRequeridos); //for (int i = 0; i < docRequeridosTxtBxs.Count; i++) //{ // docRequeridosTxtBxs.ElementAt(i).Text = documentosRequeridos.ElementAt(i).Path; //} CreateDocAsociadosCtrl(documentosRequeridos); LinkedList<DropDownList> docAsociadosStatuses = (LinkedList<DropDownList>)Session["docAsociadosStatusesExt"]; foreach (var d in docAsociadosStatuses) { d.Enabled = primeraExt.EstatusId.Equals(((int)SolicitudAviso.Estatus.PendienteRevisarCoordinador).ToString()); } //Dictionary<TextBox, DropDownList> docControls = new Dictionary<TextBox, DropDownList>(); //docControls = GetDocCtrls(); //SetDocsRequeridos(docControls, documentosRequeridos, primeraExtExistente); #region Disable doc status validators if docs incomplete //Asi si el user cambia de tipo de aviso, no dan problemas esos validators LinkedList<RequiredFieldValidator> docAsociadosValidators = (LinkedList<RequiredFieldValidator>)Session["docAsociadosValidatorsExt"]; foreach (var v in docAsociadosValidators) { v.Enabled = primeraExt.EstatusId.Equals(((int)SolicitudAviso.Estatus.PendienteRevisarCoordinador).ToString()); } #endregion primeraExt.Documentos = documentosRequeridos; //foreach (var d in docAsociadosStatuses) //{ // d.Enabled = solicitud.EstatusId.Equals(((int)SolicitudAviso.Estatus.PendienteRevisarCoordinador).ToString()); //} #endregion #region Poblar tabla averias CreateDefaultAveriasGrdVwRow(); LinkedList<Averia> averias = new AveriasServicio().GetAverias(numeroControl, (int)SolicitudAviso.TiposExtensiones.Primera); Session["averias"] = averias; averiasTxtBx.Text = averias.ElementAt(0).Titulo; //DataTable dtCurrentTable = null; //DataRow drCurrentRow = null; ///*En la primera entrada, asigna los valores al row hecho por default. Verifica si hay que crear otro. // * // * En la segunda corrida, asigna los valores al row nuevo. // * // * Para evitar usar una linea que no existe o hacer una linea de mas esta el i + 1 // * // * i + 1 si es mayor a la cantidad de filas pues me pase del total y no tengo que hacer una fila nueva // */ //for (int i = 0; i < averias.Count; i++) //{ // TextBox averiaTituloTxtBx = (TextBox)averiasGrdVw.Rows[i].Cells[0].FindControl("averiaTituloTxtBx"), // averiaFechaTxtBx = (TextBox)averiasGrdVw.Rows[i].Cells[1].FindControl("averiaFechaTxtBx"), // averiaHoraTxtBx = (TextBox)averiasGrdVw.Rows[i].Cells[2].FindControl("averiaHoraTxtBx"), // averiaInfraAfectadaTxtBx = (TextBox)averiasGrdVw.Rows[i].Cells[3].FindControl("averiaInfraAfectadaTxtBx"), // averiaLugarTxtBx = (TextBox)averiasGrdVw.Rows[i].Cells[4].FindControl("averiaLugarTxtBx"); // averiaTituloTxtBx.Text = averias.ElementAt(i).Titulo; // averiaFechaTxtBx.Text = averias.ElementAt(i).Fecha.Year == 1900 // || averias.ElementAt(i).Fecha.Year == 9999 ? string.Empty // : averias.ElementAt(i).Fecha.ToShortDateString(); // averiaHoraTxtBx.Text = averias.ElementAt(i).Hora; // averiaInfraAfectadaTxtBx.Text = averias.ElementAt(i).InfraAfectada; // averiaLugarTxtBx.Text = averias.ElementAt(i).Lugar; // //Si hay que crear otro row // if ((i + 1) != averias.Count) // { // if (ViewState["averiaTbl"] != null) // { // dtCurrentTable = (DataTable)ViewState["averiaTbl"]; // drCurrentRow = dtCurrentTable.NewRow(); // dtCurrentTable.Rows[i]["titulo"] = averiaTituloTxtBx.Text; // dtCurrentTable.Rows[i]["fecha"] = averiaFechaTxtBx.Text; // dtCurrentTable.Rows[i]["hora"] = averiaHoraTxtBx.Text; // dtCurrentTable.Rows[i]["afectada"] = averiaInfraAfectadaTxtBx.Text; // dtCurrentTable.Rows[i]["lugar"] = averiaLugarTxtBx.Text; // dtCurrentTable.Rows.Add(drCurrentRow); // averiasGrdVw.DataSource = dtCurrentTable; // averiasGrdVw.DataBind(); // SetPreviousData(); // } // } // else // { // break; // } //} primeraExt.Averias = averias; #endregion #region Set visibilities(role) //fechaComienzoDiv.Visible = true; //fechaExpiracionDiv.Visible = true; //docsRequeridosHeader.Visible = false; //docRequeridosTableTag.Visible = false; //docsAsociadosHeader.Visible = true; //docsAsociadosTableTag.Visible = true; #region Display responsables de la solicitud //User currentUser = new SolicitudesInicialesServicio().GetUser(primeraExt.Usuario.Id); User currentUser = user; //new SolicitudesInicialesServicio().GetUser(solicitud.Usuario.Email); tramitadoLbl.Visible = true; tramitadoLbl.Text += string.Format(" {0}", primeraExt.TramitadoPor); //primeraExt.Coordinador.Id = 1; // only test if (!string.IsNullOrWhiteSpace(primeraExt.Coordinador.Nombre)) { //Coordinador coordinador = new SolicitudesInicialesServicio().GetCoordinador(primeraExt.Coordinador.Nombre); procesadoLbl.Visible = true; procesadoLbl.Text += string.Format(" {0}", primeraExt.Coordinador.Nombre); //primeraExt.Inspector.NumeroPlacaID = "001"; // only test if (!string.IsNullOrWhiteSpace(primeraExt.Inspector.Nombre)) { //Inspector inspector = new SolicitudesInicialesServicio().GetInspector(primeraExt.Inspector.NumeroPlacaID); inspeccionLbl.Visible = true; inspeccionLbl.Text += string.Format(" {0}", primeraExt.Inspector.Nombre); } } #endregion if (primeraExt.EstatusId.Equals(((int)SolicitudAviso.Estatus.Inactiva).ToString()) || primeraExt.EstatusId.Equals(((int)SolicitudAviso.Estatus.InspeccionCompletada).ToString()) || primeraExt.EstatusId.Equals(((int)SolicitudAviso.Estatus.PendienteAsignarInspector).ToString()) || primeraExt.EstatusId.Equals(((int)SolicitudAviso.Estatus.EnProcesoInspeccion).ToString())) { fechaComienzoDiv.Visible = true; fechaComienzoDiv2.Visible = true; fechaExpiracionDiv.Visible = true; fechaExpiracionDiv2.Visible = true; } #endregion fechaComienzoPropuestoTxtBx.Enabled = false; fechaComienzoImgBtn.Visible = false; tipoAvisoRBtnLst.Enabled = false; ////Si la solicitud es inactiva o denegada, no dejas guardar //if (solicitud.EstatusId.Equals(((int)SolicitudAviso.Estatus.Inactiva).ToString()) // || solicitud.EstatusId.Equals(((int)SolicitudAviso.Estatus.Denegada).ToString()) // || solicitud.EstatusId.Equals(((int)SolicitudAviso.Estatus.PendienteAsignarInspector).ToString())) //{ // guardarBtn.Enabled = false; //} //Allow to view extensions if it's inactive and extensions have already been created if (primeraExt.EstatusId.Equals(((int)SolicitudAviso.Estatus.Inactiva).ToString()) || primeraExt.EstatusId.Equals(((int)SolicitudAviso.Estatus.Denegada).ToString())) { if (string.IsNullOrWhiteSpace(segundaExt.NumeroControl.NumControlText)) { segundaExtensionLink.Visible = false; } } //Don't allow to create extensions if it ain't aprovada else if (!primeraExt.EstatusId.Equals(((int)SolicitudAviso.Estatus.PendienteAsignarInspector).ToString()) & !primeraExt.EstatusId.Equals(((int)SolicitudAviso.Estatus.InspeccionCompletada).ToString()) & !primeraExt.EstatusId.Equals(((int)SolicitudAviso.Estatus.EnProcesoInspeccion).ToString())) { segundaExtensionLink.Visible = false; } #endregion } } catch (Exception ex) { errorLbl2.InnerText = ex.Message; errorPopup.Show(); } } else { if (maquinariaChkBx.Checked) { tipoMaquinariaTxtBx.Enabled = true; if (!maquinariaUtilizarLbl.Text.Contains("*")) { maquinariaUtilizarLbl.Text += "*"; } } else { tipoMaquinariaTxtBx.Enabled = false; maquinariaUtilizarLbl.Text = maquinariaUtilizarLbl.Text.Replace("*", string.Empty); } if (explosivoChkBx.Checked) { licExplosivoTxtBx.Enabled = true; fechaExpiracionExplosivoTxtBx.Enabled = true; if (!licExplosivoLbl.Text.Contains("*")) { licExplosivoLbl.Text += "*"; fechaExpiracionExplosivoLbl.Text += "*"; } } else { licExplosivoTxtBx.Enabled = false; fechaExpiracionExplosivoTxtBx.Enabled = false; licExplosivoLbl.Text = licExplosivoLbl.Text.Replace("*", string.Empty); fechaExpiracionExplosivoLbl.Text = fechaExpiracionExplosivoLbl.Text.Replace("*", string.Empty); } //#region Poblar tabla averias //LinkedList<Averia> averias = (LinkedList<Averia>)Session["Averias"]; ////Session["Averias"] = averias; //bool rowWasAdded = Session["newRow"] == null ? false : (bool)Session["newRow"]; //if (averias.Count > 0) //{ // if (rowWasAdded) // { // #region Update averia obj after postback // DataTable dtCurrentTable = (DataTable)ViewState["averiaTbl"]; // DataRow drCurrentRow = null; // dtCurrentTable = SetAveriaRowData(dtCurrentTable, drCurrentRow, false, true); // averias = (LinkedList<Averia>)Session["Averias"]; // #endregion // } // if (averiasGrdVw.Rows.Count < 1) // { // DataTable dtCurrentTable = (DataTable)ViewState["averiaTbl"]; // averiasGrdVw.DataSource = dtCurrentTable; // averiasGrdVw.DataBind(); // SetPreviousData(); // } // /*En la primera entrada, asigna los valores al row hecho por default. Verifica si hay que crear otro. // * // * En la segunda corrida, asigna los valores al row nuevo. // * // * Sino hay filas(por un postback) las creo y relleno con la data pasada. // * // * Si hay filas pues las lleno con el obj de averias // */ // else // for (int i = 0; i < averias.Count; i++) // { // TextBox averiaTituloTxtBx = (TextBox)averiasGrdVw.Rows[i].Cells[0].FindControl("averiaTituloTxtBx"), // averiaFechaTxtBx = (TextBox)averiasGrdVw.Rows[i].Cells[1].FindControl("averiaFechaTxtBx"), // averiaHoraTxtBx = (TextBox)averiasGrdVw.Rows[i].Cells[2].FindControl("averiaHoraTxtBx"), // averiaInfraAfectadaTxtBx = (TextBox)averiasGrdVw.Rows[i].Cells[3].FindControl("averiaInfraAfectadaTxtBx"), // averiaLugarTxtBx = (TextBox)averiasGrdVw.Rows[i].Cells[4].FindControl("averiaLugarTxtBx"); // averiaTituloTxtBx.Text = averias.ElementAt(i).Titulo; // averiaFechaTxtBx.Text = averias.ElementAt(i).Fecha.Year == 1900 // || averias.ElementAt(i).Fecha.Year == 9999 ? string.Empty // : averias.ElementAt(i).Fecha.ToShortDateString(); // averiaHoraTxtBx.Text = averias.ElementAt(i).Hora; // averiaInfraAfectadaTxtBx.Text = averias.ElementAt(i).InfraAfectada; // averiaLugarTxtBx.Text = averias.ElementAt(i).Lugar; // //Si hay que crear otro row // //if ((i + 1) != averias.Count) // //{ // // if (ViewState["averiaTbl"] != null) // // { // // dtCurrentTable = (DataTable)ViewState["averiaTbl"]; // // drCurrentRow = dtCurrentTable.NewRow(); // // dtCurrentTable.Rows[i]["titulo"] = averiaTituloTxtBx.Text; // // dtCurrentTable.Rows[i]["fecha"] = averiaFechaTxtBx.Text; // // dtCurrentTable.Rows[i]["hora"] = averiaHoraTxtBx.Text; // // dtCurrentTable.Rows[i]["afectada"] = averiaInfraAfectadaTxtBx.Text; // // dtCurrentTable.Rows[i]["lugar"] = averiaLugarTxtBx.Text; // // dtCurrentTable.Rows.Add(drCurrentRow); // // averiasGrdVw.DataSource = dtCurrentTable; // // averiasGrdVw.DataBind(); // // SetPreviousData(); // // } // //} // //else // //{ // // break; // //} // } // Session["newRow"] = false; //} ////solicitud.Averias = averias; //#endregion #region Set doc controls on postback LinkedList<DocumentoRequerido> docsRequeridos = (LinkedList<DocumentoRequerido>)Session["docsRequeridos"]; if (docsRequeridos != null) { CreateDocAsociadosCtrl(docsRequeridos); CreateDocReqCtrls(docsRequeridos); } #endregion } }
protected void GuardarBtnClick(object sender, EventArgs e) { string exceptionMsg = string.Empty; User user = Session["UserObj"] == null ? new User() : (User)Session["UserObj"]; guardarBtn.Enabled = false; LinkedList<HtmlInputFile> uploadFilesWithFile = new LinkedList<HtmlInputFile>(); NumeroControl exceptionNumControl = new NumeroControl(); #region Set comentario txtBx if empty /*Por alguna razon, no importa si el rfv esta disable o si el txtbx tiene causevalidation falso, el rfv, tira el msg de que esta vacio cuando se presiona guardar. Al reemplaza un blank txtbx con )_+, cuando el status sea completo, evito que tire el msg de vacio, Cuando se guarda enn el obj de documentos, se reemplaza )_+ con blank text*/ LinkedList<DropDownList> docAsociadosStatusesPostValidation = (LinkedList<DropDownList>)Session["docAsociadosStatuses"] == null ? new LinkedList<DropDownList>() : (LinkedList<DropDownList>)Session["docAsociadosStatuses"]; foreach (var d in docAsociadosStatusesPostValidation) { TextBox txtBx = (TextBox)docsAsociadosTableTag.FindControl(d.ID.Replace("DDL", "TxtBx")); if ((d.SelectedIndex == (int)DocumentoRequerido.Estatus.Completo) && txtBx != null) { txtBx.Text = string.IsNullOrEmpty(txtBx.Text) ? ")_+" : txtBx.Text; } } #endregion try { //Some validators don't validate if this isn't invoked Page.Validate(); //Some rfv won't validate after becoming enabled when being disabled if (Page.IsValid) { //throw new Exception("Errores fueron encontrados"); #region Validate controls server side //Quizas en vez de esta vali, le pongo en requiredfield y si esta checked que se ponga enabled #region maq/expl if (maquinariaChkBx.Checked) { exceptionMsg = ValidateStrings(tipoMaquinariaTxtBx.Text, "<b>Tipo de Maquinaria:</b> Requerida "); } if (explosivoChkBx.Checked) { exceptionMsg += ValidateStrings(licExplosivoTxtBx.Text, "<b>Licencia Explosivo:</b> Requerida "); exceptionMsg += ValidateStrings(fechaExpiracionExplosivoTxtBx.Text, "<b>Fecha Expiración de Licencia Explosivo:</b> Requerida "); } #endregion if (string.IsNullOrEmpty(duracionDiaTxtBx.Text) && string.IsNullOrEmpty(duracionMesTxtBx.Text) && string.IsNullOrEmpty(duracionYearTxtBx.Text)) { //throw new Exception("Duración, requerida"); exceptionMsg += "<b>Duración:</b> Requerida <br />"; } #endregion #region Genera numero Control NumeroControl numeroControlExistente = new NumerosControlServicio().GetNumeroControl(DateTime.Now.Year), numeroControl = new NumeroControl() { Year = DateTime.Now.Year, //NumControlText = "2015-0016" // only for testing NumControlText = Request.QueryString["NumeroControl"] }; #endregion Boolean zona = zonaRBtnLst.SelectedValue.Equals("Urbana"), tipoExcavacion = tipoExcavacionRBtnLst.SelectedValue.Equals("Continua"); #region Poblar averias //LinkedList<Averia> averias = new LinkedList<Averia>(), // averiasExistentes = new AveriasServicio().GetAverias(numeroControl, (int)SolicitudAviso.TiposExtensiones.Inicial); //averias.AddLast(new Averia() // { // Titulo = averiasTxtBx.Text, // ExtensionId = (int)SolicitudAviso.TiposExtensiones.Inicial // }); #endregion #region Poblar docs LinkedList<DocumentoRequerido> documentos = new LinkedList<DocumentoRequerido>(), docsExistentes = new DocumentosRequeridosServicio().GetDocumentosAsociados(numeroControl, (int)SolicitudAviso.TiposExtensiones.Inicial); Dictionary<TextBox, DropDownList> docControls = new Dictionary<TextBox, DropDownList>(); docControls = GetDocCtrls(); #endregion User currentUser = new SolicitudesInicialesServicio().GetUser(user.Email); #region Poblar solicitud SolicitudAviso solicitud = new SolicitudAviso() { #region Info general NumeroControl = numeroControl, Emergencia = emergenciaChkBx.Checked, TipoAviso = tipoAvisoRBtnLst.SelectedIndex.ToString().ToUpper(), NombreContacto = nombreContactoTxtBx.Text.ToUpper(), CelularContacto = celularContactoTxtBx.Text.ToUpper(), DireccionPostalContacto = direccionPostalContactoTxtBx.Text.ToUpper(), #endregion #region Contratista NombreEmpresa = companyDDL.SelectedValue, AreaDept = areaDepartamentoTxtBx.Text.ToUpper(), RepresentanteAutorizado = representanteTxtBx.Text.ToUpper(), TelOficina = telOficinaTxtBx.Text.ToUpper(), TelCampoTrabajo = telTrabajoTxtBx.Text.ToUpper(), TelCelular = celularTxtBx.Text.ToUpper(), CorreoElectronico = emailTxtBx.Text, DireccionPostal = direccionTxtBx.Text.ToUpper(), MunicipioId = municipioDDL.SelectedIndex, CodigoPostal = codigoPostalTxtBx.Text.ToUpper(), #endregion #region Sub Subcontratista = companySubTxtBx.Text, AreaDeptSub = areaDepartamentoSubTxtBx.Text.ToUpper(), RepresentanteAutorizadoSub = representanteSubTxtBx.Text.ToUpper(), TelOficinaSub = telOficinaSubTxtBx.Text.ToUpper(), TelCampoTrabajoSub = telTrabajoSubTxtBx.Text.ToUpper(), TelCelularSub = celularSubTxtBx.Text.ToUpper(), CorreoElectronicoSub = emailSubTxtBx.Text, DireccionPostalSub = direccionSubTxtBx.Text.ToUpper(), MunicipioIdSub = municipioSubDDL.SelectedIndex, CodigoPostalSub = codigoPostalSubTxtBx.Text.ToUpper(), #endregion #region Info trabajo Zona = zona, BoUrb = boUrbTxtBx.Text.ToUpper(), SectorCalle = sectorCalleTxtBx.Text.ToUpper(), Carretera = carreteraTxtBx.Text.ToUpper(), MunicipioIdTrab = municipioTrabajoDDL.SelectedIndex, KM = Convert.ToInt32(kmTxtBx.Text), HM = Convert.ToInt32(hmTxtBx.Text), Referencias = referenciasTxtBx.Text.ToUpper(), RazonTrabajos = razonTxtBx.Text.ToUpper(), FechaPropuesta = Convert.ToDateTime(fechaComienzoPropuestoTxtBx.Text), FechaComienzo = string.IsNullOrWhiteSpace(fechaComienzoTxtBx.Text) ? new DateTime(1900, 01, 01) : Convert.ToDateTime(fechaComienzoTxtBx.Text), FechaExpiracion = string.IsNullOrWhiteSpace(fechaExpiracionTxtBx.Text) ? new DateTime(1900, 01, 01) : Convert.ToDateTime(fechaExpiracionTxtBx.Text), TiempoDuracion = string.Format("{0}-{1}-{2}", duracionDiaTxtBx.Text , duracionMesTxtBx.Text, duracionYearTxtBx.Text), Horario = string.Format("{0}-{1}", horarioDDL.SelectedValue, horarioDDL2.SelectedValue), Maquinaria = maquinariaChkBx.Checked, TipoMaquinaria = tipoMaquinariaTxtBx.Text.ToUpper(), Explosivos = explosivoChkBx.Checked, LicenciaExplosivo = licExplosivoTxtBx.Text.ToUpper(), FechaExpiracionExplosivo = !string.IsNullOrWhiteSpace(fechaExpiracionExplosivoTxtBx.Text) ? Convert.ToDateTime(fechaExpiracionExplosivoTxtBx.Text) : Convert.ToDateTime(@"1/1/1900"), AreaMarcada = areaMarcadaChkBx.Checked, TipoExcavacion = tipoExcavacion, ProfundidadPies = Convert.ToInt32(profundidadPiesTxtBx.Text), ProfundidadPulgadas = profundidadPulgadasDLL.SelectedIndex, LongitudPies = Convert.ToInt32(longitudPiesTxtBx.Text), LongitudPulgadas = longitudPulgadasDDL.SelectedIndex, CoordenadaX = decimal.Parse(coordenadasXTxtBx.Text), CoordenadaY = decimal.Parse(coordenadasYTxtBx.Text), EnCasoEmergencia = enCasoEmergenciaTxtBx.Text.ToUpper(), #endregion Documentos = documentos, //Averias = averias, ExtensionID = (int)SolicitudAviso.TiposExtensiones.Inicial }; solicitud.EstatusId = string.Format("{0}{1}", solicitud.LetraStatus, statusHF.Value); #endregion LinkedList<Mail> mails = new MailServicio().GetMailMsgs(); #region Create / Edit if (String.IsNullOrEmpty(numeroControl.NumControlText)) { #region Create #region validate docs LinkedList<FileUpload> _docRequeridosFileUpload = new LinkedList<FileUpload>(); var files = Request.Files; LinkedList<FileUpload> docRequeridosFileUpload = (LinkedList<FileUpload>)Session["docRequeridosFileUpload"]; foreach (var t in docRequeridosFileUpload) { _docRequeridosFileUpload.AddLast((FileUpload)docRequeridosMainDiv.FindControl(t.ID)); } foreach (var d in _docRequeridosFileUpload) { if (d.PostedFile.ContentLength < 1) { exceptionMsg += string.Format("<b>{0}:</b> Requerido <br />", d.ID.Replace("fileUp", string.Empty)); } } if (!string.IsNullOrWhiteSpace(exceptionMsg)) { throw new Exception(exceptionMsg); } #endregion #region Set up num control numeroControl.NumControl = numeroControlExistente.NumControl + 1; string numTxt = numeroControl.NumControl.ToString(); numTxt = numTxt.PadLeft(4, '0'); numeroControl.NumControlText = string.Format("{0}-{1}", numeroControl.Year.ToString(), numTxt); exceptionNumControl = numeroControl; #endregion #region Docs for (int i = 0; i < _docRequeridosFileUpload.Count; i++) { DocumentoRequerido docReq = new DocumentoRequerido() { Nombre = _docRequeridosFileUpload.ElementAt(i).ID.Replace("fileUp", string.Empty), NumeroControl = numeroControl, Path = string.Format("{0}/{1}/{2}_{3}", new DocumentoRequerido().DocumentosInicialesSavePath, user.Email , numeroControl.NumControlText, Path.GetFileName(_docRequeridosFileUpload.ElementAt(i).PostedFile.FileName.Replace( "#", string.Empty).Replace("&", string.Empty))), Tipo = tipoAvisoRBtnLst.SelectedIndex }; LinkedList<DropDownList> docAsociadosStatuses = (LinkedList<DropDownList>)Session["docAsociadosStatuses"]; if (docAsociadosStatuses != null) { docReq.Status = docAsociadosStatuses.ElementAt(i).SelectedIndex; } documentos.AddLast(docReq); } #endregion documentos = SetDocumentsNumControl(documentos, numeroControl); solicitud.NumeroControl = numeroControl; numControlPopupLbl.Text = numeroControl.NumControlText; //info de la empresa solicitud.Usuario = new User() { Email = currentUser.Email, NombreCompleto = currentUser.Nombre + " " + currentUser.Inicial + " " + currentUser.ApellidoPaterno + " " + currentUser.ApellidoMaterno }; solicitud.TramitadoPor = solicitud.Usuario.NombreCompleto; solicitud.FechaTramite = DateTime.Now; solicitud.EstatusId = string.Format("{0}{1}", solicitud.LetraStatus, ((int)SolicitudAviso.Estatus.PendienteRevisarCoordinador).ToString()); new NumerosControlServicio().Create(numeroControl); new DocumentosRequeridosServicio().TryCreate(documentos); //new AveriasServicio().TryCreate(averias); new SolicitudesInicialesServicio().TryCreate(solicitud); SaveDocs(_docRequeridosFileUpload, documentos); #region Email coordinadores LinkedList<string> to = new LinkedList<string>(); LinkedList<User> coordinadores = new SolicitudesInicialesServicio().GetCoordinadores(), superInspectores = new SolicitudesInicialesServicio().GetSuperInspectores(), directores = new SolicitudesInicialesServicio().GetDirectores(); for (int i = 0; i < coordinadores.Count; i++) { to.AddLast(coordinadores.ElementAt(i).Email); } for (int i = 0; i < superInspectores.Count; i++) { to.AddLast(superInspectores.ElementAt(i).Email); } for (int i = 0; i < directores.Count; i++) { to.AddLast(directores.ElementAt(i).Email); } numControlPopupTriggerBtn_Click(numControlPopupTriggerBtn, EventArgs.Empty); try { if (CheckForInternetConnection()) SendEmail(to, "*****@*****.**", mails.ElementAt((int)Mail.Notifications.SolicitudNueva).Subject, mails.ElementAt((int)Mail.Notifications.SolicitudNueva).Body.Replace( "@NumControl", numeroControl.NumControlText).Replace("@NombreEmpresa", solicitud.NombreEmpresa), new LinkedList<string>()); } catch (Exception ex) { if (ex.Message == "") { } } #endregion Page.DataBind(); #endregion } else { #region Edit SolicitudAviso solicitudExistente = new SolicitudesInicialesServicio().GetSolicitud(numeroControl); exceptionNumControl = numeroControl; solicitud.FechaTramite = solicitudExistente.FechaTramite; solicitud.TramitadoPor = solicitudExistente.TramitadoPor; solicitud.Usuario = solicitudExistente.Usuario; solicitud.SolicitudStatusID = solicitudStatusDDL.SelectedIndex; solicitud.Observaciones = observacionesTxtBx.Text.ToUpper(); #region Set docs comentario for (int i = 0; i < docsExistentes.Count; i++) { TextBox txtBx = (TextBox)docsAsociadosTableTag.FindControl(string.Format("{0}TxtBx", docsExistentes.ElementAt(i).Nombre)); docsExistentes.ElementAt(i).Comentario = txtBx.Visible ? txtBx.Text.Replace(")_+", string.Empty).ToUpper() : string.Empty; } #endregion #region Actualiza status solicitud LinkedList<string> to = new LinkedList<string>(); to.AddLast(user.Email); //Remove estatus letra solicitud.EstatusId = solicitud.EstatusId.Replace(solicitud.LetraStatus, string.Empty).Replace(new Inspeccion().LetraStatus, string.Empty); //Pend coordinador if ((Convert.ToInt32(solicitud.EstatusId)) == ((int)SolicitudAviso.Estatus.PendienteRevisarCoordinador)) { if (string.IsNullOrWhiteSpace(solicitud.Coordinador.Nombre)) { solicitud.Coordinador.Nombre = string.Format("{0} {1} {2}", currentUser.Nombre, currentUser.ApellidoPaterno, currentUser.ApellidoMaterno); } solicitud.EstatusId = GenerateStatus(ref docsExistentes).ToString(); documentos = docsExistentes; if (solicitud.EstatusId.Equals(((int)SolicitudAviso.Estatus.PendienteAsignarInspector).ToString())) { #region Se aprobo despues de pend coordinador solicitud.FechaRespuestaSolicitadas = DateTime.Now.ToShortDateString(); if (emergenciaChkBx.Checked) { solicitud.FechaComienzo = DateTime.Now.Date; } else { solicitud.FechaComienzo = ValidarFecha(5); } solicitud.FechaExpiracion = solicitud.FechaComienzo.AddDays(60); Company company = new SolicitudesInicialesServicio().GetCompany(companyDDL.SelectedValue); #region Poblar hoja inspeccion Inspeccion inspeccion = new Inspeccion() { NumeroInspeccion = solicitud.NumeroControl.NumControlText, NumeroPlacaID = string.IsNullOrWhiteSpace(solicitud.Inspector.NumeroPlacaID) ? "000" : solicitud.Inspector.NumeroPlacaID, DireccionFisica = company.DireccionFisica, EstatusInspeccionID = "1", TipoInspeccionID = "1", //ExtensionID = (int)SolicitudAviso.TiposExtensiones.Inicial, NumeroControl = new NumeroControl() { NumControl = solicitud.NumeroControl.NumControl, Year = solicitud.NumeroControl.Year, NumControlText = solicitud.NumeroControl.NumControlText }, NombreEmpresa = solicitud.NombreEmpresa, RepresentateAutorizado = solicitud.RepresentanteAutorizado, CorreoElectronico = solicitud.CorreoElectronico, TelOficina = solicitud.TelOficina, TelTrabajo = solicitud.TelCampoTrabajo, Celular = solicitud.TelCelular, TipoAviso = solicitud.ExtensionID.ToString(), FechaComienzo = solicitud.FechaComienzo, FechaExpiracion = solicitud.FechaExpiracion, LongitudPies = solicitud.LongitudPies, LongitudPulgadas = solicitud.LongitudPulgadas, ProfundidadPies = solicitud.ProfundidadPies, ProfundidadPulgadas = solicitud.ProfundidadPulgadas, CoordenadaX = float.Parse(solicitud.CoordenadaX.ToString()), CoordenadaY = float.Parse(solicitud.CoordenadaY.ToString()), RazonTrabajos = solicitud.RazonTrabajos, Zona = solicitud.Zona, BoUrbT = solicitud.BoUrb, SectorCalleT = solicitud.SectorCalle, CarreteraT = solicitud.Carretera, KM = solicitud.KM, HM = solicitud.HM, MunicipioT = municipioTrabajoDDL.SelectedValue, }; #endregion new InspeccionesServicio().TryCrear(inspeccion); ViewState["justCreatedInspeccion"] = true; //throw new Exception("delete inpeccion test"); #region Enviar email excavador //currentUser = new SolicitudesInicialesServicio().GetUser(solicitud.Usuario.Id); //User solicitudUser = new SolicitudesInicialesServicio().GetUser(solicitud.Usuario.Email); to = new LinkedList<string>(); //Uncomment when intergrating to.AddLast(solicitud.Usuario.Email); //SendEmail(to, "", "", ""); LinkedList<string> attachment = new LinkedList<string>(); #region pdf stuff #region Init Document doc = new Document(PageSize.LETTER, 0f, 0f, 0f, 0f); //String Fecha = DateTime.Now.ToString(); string Fecha = solicitud.FechaTramite.ToString(); iTextSharp.text.Font NormalFont = FontFactory.GetFont("Arial", 12, Font.NORMAL, Color.BLACK); using (System.IO.MemoryStream memoryStream = new System.IO.MemoryStream()) { PdfWriter writer = PdfWriter.GetInstance(doc, memoryStream); Phrase phrase = null; PdfPCell cell = null; PdfPCell b = new PdfPCell(new Phrase(" ")); PdfPTable table = null; PdfPCell uncheck = ImageCell("~/Images/uncheck4.png", 2f, PdfPCell.ALIGN_CENTER); PdfPCell check = ImageCell("~/Images/Check4.png", 2f, PdfPCell.ALIGN_CENTER); PdfPCell cbox = check, signatureImgCell = ImageCell(string.Format("~/Images/Documentos/Firmas/{0}_Firma.png", user.Email), 50f, PdfPCell.ALIGN_CENTER); DateTime datevalue = (Convert.ToDateTime(Fecha.ToString())); Fecha = datevalue.ToString("MM/dd/yyyy"); String[] mes = { "ENERO", "FEBRERO", "MARZO", "ABRIL", "MAYO", "JUNIO", "JULIO", "AGOSTO", "SEPTIEMBRE", "OCTUBRE", "NOVIEMBRE", "DICIEMBRE" }; String FechaLetras = datevalue.Day.ToString() + " DE " + mes[datevalue.Month - 1] + " DE " + datevalue.Year.ToString(); doc.Open(); #endregion #region Header Paragraph p = new Paragraph("DTOP- 09/15 \n\n", FontFactory.GetFont("Arial", 8, Font.NORMAL, Color.BLACK)); p.Alignment = Element.ALIGN_RIGHT; doc.Add(p); //Header Table table = new PdfPTable(3); //Header Data cell = ImageCell("~/images/EscudoPR.png", 40f, PdfPCell.ALIGN_LEFT); cell.Border = 0; table.AddCell(cell); cell = new PdfPCell(new Phrase(" ")); cell.Border = 0; table.AddCell(cell); phrase = new Phrase(); phrase.Add(new Chunk("\n\nNÚMERO DE AVISO:\n", FontFactory.GetFont("Arial", 8, Font.NORMAL, Color.BLACK))); phrase.Add(new Chunk("DEDT-" + solicitud.NumeroControl.NumControlText, FontFactory.GetFont("Arial", 16, Font.BOLD, Color.RED))); cell = PhraseCell(phrase, PdfPCell.ALIGN_CENTER); cell.BorderColorLeft = Color.BLACK; cell.BorderColorRight = Color.BLACK; cell.BorderColorTop = Color.BLACK; cell.BorderColorBottom = Color.BLACK; cell.BorderWidthLeft = 1f; cell.BorderWidthRight = 1f; cell.BorderWidthTop = 1f; cell.BorderWidthBottom = 1f; cell.Border = Rectangle.BOX; table.AddCell(cell); cell = new PdfPCell(new Phrase(" ")); cell.Colspan = 3; SetBorder(cell, false, false, false, false); table.AddCell(cell); doc.Add(table); p = new Paragraph("DIRECTORÍA DE EXCAVACIONES, DEMOLICIONES Y TUBERÍAS", FontFactory.GetFont("Arial", 14, Font.NORMAL, Color.BLACK)); p.Alignment = Element.ALIGN_CENTER; doc.Add(p); p = new Paragraph("CENTRO DE COORDINACIÓN DE EXCAVACIONES Y DEMOLICIONES", FontFactory.GetFont("Arial", 14, Font.NORMAL, Color.BLACK)); p.Alignment = Element.ALIGN_CENTER; doc.Add(p); p = new Paragraph("CERTIFICACIÓN DE TRÁMITE DE AVISO DE EXCAVACIÓN Y/O DEMOLICIÓN\n\n", FontFactory.GetFont("Arial", 14, Font.BOLD, Color.BLACK)); p.Alignment = Element.ALIGN_CENTER; doc.Add(p); ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// table = new PdfPTable(7); table.SetWidths(new float[] { 1.0f, 0.5f, 3.5f, 1.5f, 0.2f, 0.4f, 0.1f }); cell = new PdfPCell(new Phrase("")); cell.Colspan = 7; SetBorder(cell, true, true, true, false); table.AddCell(cell); //////////////////// cell = new PdfPCell(new Phrase("EMERGENCIA", FontFactory.GetFont("Arial", 9, Font.NORMAL, Color.BLACK))); SetBorder(cell, true, false, false, false); table.AddCell(cell); cbox = uncheck; if (solicitud.Emergencia) cbox = check; SetBorder(cell, false, false, false, false); table.AddCell(cbox); cell = new PdfPCell(new Phrase("FECHA DE PRESENTACIÓN:", FontFactory.GetFont("Arial", 9, Font.NORMAL, Color.BLACK))); cell.HorizontalAlignment = PdfPCell.ALIGN_CENTER; SetBorder(cell, false, false, false, false); table.AddCell(cell); cell = new PdfPCell(new Phrase("AVISO INICIAL", FontFactory.GetFont("Arial", 9, Font.NORMAL, Color.BLACK))); cell.HorizontalAlignment = PdfPCell.ALIGN_RIGHT; SetBorder(cell, false, false, false, false); table.AddCell(cell); cell = new PdfPCell(new Phrase("")); SetBorder(cell, false, false, false, false); table.AddCell(cell); cbox = uncheck; if (solicitud.ExtensionID == (int)SolicitudAviso.TiposExtensiones.Inicial) cbox = check; SetBorder(cell, false, false, false, false); table.AddCell(cbox); cell = new PdfPCell(new Phrase("")); SetBorder(cell, false, false, true, false); table.AddCell(cell); ////////////////////////////////////////// cell = new PdfPCell(new Phrase("EXCAVACIÓN", FontFactory.GetFont("Arial", 9, Font.NORMAL, Color.BLACK))); SetBorder(cell, true, false, false, false); table.AddCell(cell); cbox = uncheck; if (solicitud.TipoAviso.Equals(((int)SolicitudAviso.TiposAvisos.Excavacion).ToString())) cbox = check; SetBorder(cell, false, false, false, false); table.AddCell(cbox); cell = new PdfPCell(new Phrase(FechaLetras, FontFactory.GetFont("Arial", 12, Font.BOLD, Color.BLACK))); cell.HorizontalAlignment = PdfPCell.ALIGN_CENTER; SetBorder(cell, false, false, false, false); table.AddCell(cell); cell = new PdfPCell(new Phrase("1RA EXTENSIÓN", FontFactory.GetFont("Arial", 9, Font.NORMAL, Color.BLACK))); cell.HorizontalAlignment = PdfPCell.ALIGN_RIGHT; SetBorder(cell, false, false, false, false); table.AddCell(cell); cell = new PdfPCell(new Phrase("")); SetBorder(cell, false, false, false, false); table.AddCell(cell); cbox = uncheck; if (solicitud.ExtensionID == (int)SolicitudAviso.TiposExtensiones.Primera) cbox = check; SetBorder(cell, false, false, false, false); table.AddCell(cbox); cell = new PdfPCell(new Phrase("")); SetBorder(cell, false, false, true, false); table.AddCell(cell); /////////////////// cell = new PdfPCell(new Phrase("DEMOLICIÓN", FontFactory.GetFont("Arial", 9, Font.NORMAL, Color.BLACK))); SetBorder(cell, true, false, false, false); table.AddCell(cell); cbox = uncheck; if (solicitud.TipoAviso.Equals(((int)SolicitudAviso.TiposAvisos.Demolicion).ToString())) cbox = check; SetBorder(cell, false, false, false, false); table.AddCell(cbox); cell = new PdfPCell(new Phrase(" ")); SetBorder(cell, false, false, false, false); table.AddCell(cell); cell = new PdfPCell(new Phrase("2RA EXTENSIÓN", FontFactory.GetFont("Arial", 9, Font.NORMAL, Color.BLACK))); cell.HorizontalAlignment = PdfPCell.ALIGN_RIGHT; SetBorder(cell, false, false, false, false); table.AddCell(cell); cell = new PdfPCell(new Phrase(" ")); SetBorder(cell, false, false, false, false); table.AddCell(cell); cbox = uncheck; if (solicitud.ExtensionID == (int)SolicitudAviso.TiposExtensiones.Segunda) cbox = check; SetBorder(cell, false, false, false, false); table.AddCell(cbox); cell = new PdfPCell(new Phrase(" ")); SetBorder(cell, false, false, true, false); table.AddCell(cell); ////////////////// cell = new PdfPCell(new Phrase("RESIDENCIAL", FontFactory.GetFont("Arial", 9, Font.NORMAL, Color.BLACK))); SetBorder(cell, true, false, false, false); table.AddCell(cell); cbox = uncheck; if (solicitud.TipoAviso.Equals(((int)SolicitudAviso.TiposAvisos.Residencial).ToString())) cbox = check; SetBorder(cell, false, false, false, false); table.AddCell(cbox); //cell = new PdfPCell(new Phrase("", FontFactory.GetFont("Arial", 9, Font.NORMAL, Color.BLACK))); //cell.HorizontalAlignment = PdfPCell.ALIGN_RIGHT; //SetBorder(cell, false, false, false, false); //table.AddCell(cell); cell = new PdfPCell(new Phrase(" ")); SetBorder(cell, false, false, false, false); table.AddCell(cell); cell = new PdfPCell(new Phrase(" ")); SetBorder(cell, false, false, false, false); table.AddCell(cell); ///////////////////////// cell = new PdfPCell(new Phrase("")); cell.Colspan = 7; SetBorder(cell, true, false, true, true); table.AddCell(cell); cell = new PdfPCell(new Phrase("")); cell.Colspan = 7; SetBorder(cell, false, false, false, false); table.AddCell(cell); doc.Add(table); #endregion //Información del Solicitante---------------------------------------------------------------------------------------------------------- #region Info solicitante table = new PdfPTable(20); cell = new PdfPCell(new Phrase("INFORMACIÓN DEL SOLICITANTE:", FontFactory.GetFont("Arial", 11, Font.BOLD, Color.BLACK))); cell.Colspan = 20; SetBorder(cell, true, true, true, false); table.AddCell(cell); cell = new PdfPCell(new Phrase("")); cell.Colspan = 20; SetBorder(cell, true, false, true, false); table.AddCell(cell); cell = new PdfPCell(new Phrase("NOMBRE DE LA ENTIDAD:", FontFactory.GetFont("Arial", 9, Font.BOLD, Color.BLACK))); cell.Colspan = 6; SetBorder(cell, true, false, false, false); table.AddCell(cell); cell = new PdfPCell(new Phrase(solicitud.NombreEmpresa, FontFactory.GetFont("Arial", 9, Font.NORMAL, Color.BLACK))); cell.Colspan = 14; SetBorder(cell, false, false, true, false); table.AddCell(cell); cell = new PdfPCell(new Phrase("PERSONA CONTACTO:", FontFactory.GetFont("Arial", 9, Font.BOLD, Color.BLACK))); cell.Colspan = 5; SetBorder(cell, true, false, false, false); table.AddCell(cell); cell = new PdfPCell(new Phrase(solicitud.RepresentanteAutorizado, FontFactory.GetFont("Arial", 9, Font.NORMAL, Color.BLACK))); cell.Colspan = 8; SetBorder(cell, false, false, false, false); table.AddCell(cell); cell = new PdfPCell(new Phrase("TEL / CELULAR:", FontFactory.GetFont("Arial", 9, Font.BOLD, Color.BLACK))); cell.Colspan = 4; SetBorder(cell, false, false, false, false); table.AddCell(cell); cell = new PdfPCell(new Phrase(string.Format("{0} / {1}", solicitud.TelOficina, solicitud.TelCelular), FontFactory.GetFont("Arial", 9, Font.NORMAL, Color.BLACK))); cell.HorizontalAlignment = PdfPCell.ALIGN_CENTER; cell.Colspan = 3; SetBorder(cell, false, false, true, false); table.AddCell(cell); cell = new PdfPCell(new Phrase("")); cell.Colspan = 20; SetBorder(cell, true, false, true, false); table.AddCell(cell); cell = new PdfPCell(new Phrase("DIRECCIÓN DONDE SE REALIZARÁ LA EXCAVACIÓN Y/O DEMOLICIÓN:", FontFactory.GetFont("Arial", 9, Font.BOLD, Color.BLACK))); cell.Colspan = 20; SetBorder(cell, true, false, true, false); table.AddCell(cell); cell = new PdfPCell(new Phrase(solicitud.BoUrb + ", " + solicitud.SectorCalle + ", " + solicitud.Carretera + ", " + municipioTrabajoDDL.SelectedValue + " KM:" + solicitud.KM.ToString() + " HM:" + solicitud.HM.ToString() , FontFactory.GetFont("Arial", 9, Font.NORMAL, Color.BLACK))); cell.Colspan = 20; SetBorder(cell, true, false, true, false); table.AddCell(cell); cell = new PdfPCell(new Phrase(" ")); cell.Colspan = 20; SetBorder(cell, true, false, true, false); table.AddCell(cell); cell.Colspan = 20; SetBorder(cell, true, false, true, true); table.AddCell(cell); cell = new PdfPCell(new Phrase("")); cell.Colspan = 20; SetBorder(cell, false, false, false, false); table.AddCell(cell); doc.Add(table); #endregion //----Información del Subcontratista--------------------------------------------------------------------------------------------------------------------------------------------------- #region Info Sub table = new PdfPTable(20); cell = new PdfPCell(new Phrase("INFORMACIÓN DEL SUBCONTRATISTA:", FontFactory.GetFont("Arial", 11, Font.BOLD, Color.BLACK))); cell.Colspan = 20; SetBorder(cell, true, true, true, false); table.AddCell(cell); cell = new PdfPCell(new Phrase("")); cell.Colspan = 20; SetBorder(cell, true, false, true, false); table.AddCell(cell); cell = new PdfPCell(new Phrase("NOMBRE DE LA ENTIDAD:", FontFactory.GetFont("Arial", 9, Font.BOLD, Color.BLACK))); cell.Colspan = 6; SetBorder(cell, true, false, false, false); table.AddCell(cell); cell = new PdfPCell(new Phrase(solicitud.Subcontratista, FontFactory.GetFont("Arial", 9, Font.NORMAL, Color.BLACK))); cell.Colspan = 14; SetBorder(cell, false, false, true, false); table.AddCell(cell); cell = new PdfPCell(new Phrase("PERSONA CONTACTO:", FontFactory.GetFont("Arial", 9, Font.BOLD, Color.BLACK))); cell.Colspan = 5; SetBorder(cell, true, false, false, false); table.AddCell(cell); cell = new PdfPCell(new Phrase(solicitud.RepresentanteAutorizadoSub, FontFactory.GetFont("Arial", 9, Font.NORMAL, Color.BLACK))); cell.Colspan = 8; SetBorder(cell, false, false, false, false); table.AddCell(cell); cell = new PdfPCell(new Phrase("TEL / CELULAR:", FontFactory.GetFont("Arial", 9, Font.BOLD, Color.BLACK))); cell.Colspan = 4; SetBorder(cell, false, false, false, false); table.AddCell(cell); cell = new PdfPCell(new Phrase(string.Format("{0} / {1}", solicitud.TelOficinaSub, solicitud.TelCelularSub), FontFactory.GetFont("Arial", 9, Font.NORMAL, Color.BLACK))); cell.HorizontalAlignment = PdfPCell.ALIGN_CENTER; cell.Colspan = 3; SetBorder(cell, false, false, true, false); table.AddCell(cell); cell = new PdfPCell(new Phrase(" ")); cell.Colspan = 20; SetBorder(cell, true, false, true, true); table.AddCell(cell); cell = new PdfPCell(new Phrase("")); cell.Colspan = 20; SetBorder(cell, false, false, false, false); table.AddCell(cell); doc.Add(table); #endregion //Información de los Trabajos a Realizar////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// #region Info trabajos table = new PdfPTable(20); cell = new PdfPCell(new Phrase("INFORMACIÓN DE LOS TRABAJOS A REALIZAR:", FontFactory.GetFont("Arial", 11, Font.BOLD, Color.BLACK))); cell.Colspan = 20; SetBorder(cell, true, true, true, false); table.AddCell(cell); cell = new PdfPCell(new Phrase("")); cell.Colspan = 20; SetBorder(cell, true, false, true, false); table.AddCell(cell); cell = new PdfPCell(new Phrase("FECHA DE COMIENZO:", FontFactory.GetFont("Arial", 9, Font.BOLD, Color.BLACK))); cell.Colspan = 5; SetBorder(cell, true, false, false, false); table.AddCell(cell); cell = new PdfPCell(new Phrase(solicitud.FechaComienzo.ToShortDateString(), FontFactory.GetFont("Arial", 9, Font.NORMAL, Color.BLACK))); cell.HorizontalAlignment = PdfPCell.ALIGN_CENTER; cell.Colspan = 3; SetBorder(cell, false, false, false, false); table.AddCell(cell); cell = new PdfPCell(new Phrase(" ")); cell.Colspan = 4; SetBorder(cell, false, false, false, false); table.AddCell(cell); cell = new PdfPCell(new Phrase("FECHA DE EXPIRACIÓN:", FontFactory.GetFont("Arial", 9, Font.BOLD, Color.BLACK))); cell.Colspan = 5; SetBorder(cell, false, false, false, false); table.AddCell(cell); cell = new PdfPCell(new Phrase(solicitud.FechaExpiracion.ToShortDateString(), FontFactory.GetFont("Arial", 9, Font.NORMAL, Color.BLACK))); cell.HorizontalAlignment = PdfPCell.ALIGN_CENTER; cell.Colspan = 3; SetBorder(cell, false, false, true, false); table.AddCell(cell); cell = new PdfPCell(new Phrase("HORARIO EN QUE SE REALIZARÁ LA(S) EXCAVACIÓN Y/O DEMOLICIÓN", FontFactory.GetFont("Arial", 9, Font.BOLD, Color.BLACK))); cell.Colspan = 6; SetBorder(cell, true, false, false, false); table.AddCell(cell); cell = new PdfPCell(new Phrase(solicitud.Horario, FontFactory.GetFont("Arial", 9, Font.NORMAL, Color.BLACK))); cell.Colspan = 14; SetBorder(cell, false, false, true, false); table.AddCell(cell); cell = new PdfPCell(new Phrase("")); cell.Colspan = 20; SetBorder(cell, true, false, true, false); table.AddCell(cell); cell = new PdfPCell(new Phrase("MAQUINARIA", FontFactory.GetFont("Arial", 9, Font.BOLD, Color.BLACK))); cell.Colspan = 3; SetBorder(cell, true, false, false, false); table.AddCell(cell); cell.Colspan = 1; cbox = uncheck; if (solicitud.Maquinaria) cbox = check; SetBorder(cell, false, false, false, false); table.AddCell(cbox); cell = new PdfPCell(new Phrase("SI", FontFactory.GetFont("Arial", 9, Font.BOLD, Color.BLACK))); cell.Colspan = 1; SetBorder(cell, false, false, false, false); table.AddCell(cell); cell.Colspan = 1; cbox = uncheck; if (!solicitud.Maquinaria) cbox = check; SetBorder(cell, false, false, false, false); table.AddCell(cbox); cell = new PdfPCell(new Phrase("NO", FontFactory.GetFont("Arial", 9, Font.BOLD, Color.BLACK))); cell.Colspan = 1; SetBorder(cell, false, false, false, false); table.AddCell(cell); cell = new PdfPCell(new Phrase("DESCRIPCIÓN MAQUINARIA:", FontFactory.GetFont("Arial", 9, Font.BOLD, Color.BLACK))); cell.Colspan = 6; SetBorder(cell, false, false, false, false); table.AddCell(cell); cell = new PdfPCell(new Phrase(solicitud.TipoMaquinaria, FontFactory.GetFont("Arial", 9, Font.NORMAL, Color.BLACK))); cell.Colspan = 7; SetBorder(cell, false, false, true, false); table.AddCell(cell); cell = new PdfPCell(new Phrase("EXPLOSIVOS", FontFactory.GetFont("Arial", 9, Font.BOLD, Color.BLACK))); cell.Colspan = 3; SetBorder(cell, true, false, false, false); table.AddCell(cell); cbox = uncheck; if (solicitud.Explosivos) cbox = check; cell.Colspan = 1; SetBorder(cell, false, false, false, false); table.AddCell(cbox); cell = new PdfPCell(new Phrase("SI", FontFactory.GetFont("Arial", 9, Font.BOLD, Color.BLACK))); cell.Colspan = 1; SetBorder(cell, false, false, false, false); table.AddCell(cell); cbox = uncheck; if (!solicitud.Explosivos) cbox = check; cell.Colspan = 1; SetBorder(cell, false, false, false, false); table.AddCell(cbox); cell = new PdfPCell(new Phrase("NO", FontFactory.GetFont("Arial", 9, Font.BOLD, Color.BLACK))); cell.Colspan = 1; SetBorder(cell, false, false, false, false); table.AddCell(cell); cell = new PdfPCell(new Phrase("NÚMERO LICENCIA EXPLOSIVOS:", FontFactory.GetFont("Arial", 9, Font.BOLD, Color.BLACK))); cell.Colspan = 7; SetBorder(cell, false, false, false, false); table.AddCell(cell); cell = new PdfPCell(new Phrase(solicitud.LicenciaExplosivo, FontFactory.GetFont("Arial", 9, Font.NORMAL, Color.BLACK))); cell.Colspan = 6; SetBorder(cell, false, false, true, false); table.AddCell(cell); /////////////////////////////////////////// cell = new PdfPCell(new Phrase("")); cell.Colspan = 20; SetBorder(cell, true, false, true, false); table.AddCell(cell); cell = new PdfPCell(new Phrase("DESCRIPCIÓN DE LOS TRABAJOS A REALIZAR:", FontFactory.GetFont("Arial", 9, Font.BOLD, Color.BLACK))); cell.Colspan = 20; SetBorder(cell, true, false, true, false); table.AddCell(cell); cell = new PdfPCell(new Phrase(solicitud.RazonTrabajos, FontFactory.GetFont("Arial", 9, Font.NORMAL, Color.BLACK))); cell.Colspan = 20; SetBorder(cell, true, false, true, false); table.AddCell(cell); cell = new PdfPCell(new Phrase("REFERENCIAS:", FontFactory.GetFont("Arial", 9, Font.BOLD, Color.BLACK))); cell.Colspan = 4; SetBorder(cell, true, false, false, false); table.AddCell(cell); cell = new PdfPCell(new Phrase(solicitud.Referencias, FontFactory.GetFont("Arial", 9, Font.NORMAL, Color.BLACK))); cell.Colspan = 17; SetBorder(cell, false, false, true, false); table.AddCell(cell); cell = new PdfPCell(new Phrase(" ")); cell.Colspan = 20; SetBorder(cell, true, false, true, false); table.AddCell(cell); cell = new PdfPCell(new Phrase(" ")); cell.Colspan = 20; SetBorder(cell, true, false, true, true); table.AddCell(cell); doc.Add(table); #endregion #region Footer table = new PdfPTable(6); //cell = signatureImgCell; //cell.Colspan = 2; //cell.Border = 0; //cell.PaddingTop = 20f; //table.AddCell(cell); //p = new Paragraph("\n\n" + /*solicitud.Coordinador.Nombre +*/"\n___________________________________________________\n" + //" FIRMA DEL COORDINADOR QUE AUTORIZÓ EL AVISO\n\n" + //" FECHA: " + Fecha + "\n\n", FontFactory.GetFont("Arial", 9, Font.BOLD, Color.BLACK)); //p.Alignment = Element.ALIGN_TOP; //p = new Paragraph(); //var phr = new Phrase("\n\n\n___________________________________________________\n" + //" FIRMA DEL COORDINADOR QUE AUTORIZÓ EL AVISO\n\n"); //phr.Font = FontFactory.GetFont("Arial", 9, Font.BOLD, Color.BLACK); //p.Alignment = Element.ALIGN_LEFT; //p.Font = FontFactory.GetFont("Arial", 9, Font.BOLD, Color.BLACK); //cell = new PdfPCell(new Phrase(p)); cell = new PdfPCell(); var firmaImg = iTextSharp.text.Image.GetInstance(Server.MapPath( string.Format("~/Images/Documentos/Firmas/{0}_Firma.png", user.Email))); firmaImg.ScalePercent(50f); firmaImg.SpacingBefore = 100f; //p.Add( new Chunk(firmaImg, 0, 100)); //p.Add(phr); //firmaImg.Alignment = Element.ALIGN_BOTTOM; //firmaImg.SetAbsolutePosition(0f, 200f); cell.AddElement(firmaImg); //cell.AddElement(phr); //cell.AddElement(p); //cell.HorizontalAlignment = Element.ALIGN_BOTTOM; cell.Colspan = 4; cell.Border = 0; //cell.Image = iTextSharp.text.Image.GetInstance("~/Images/Documentos/Firmas/firma1.png"); table.AddCell(cell); cell = ImageCell("~/images/SelloOficialCertificacion.png", 10f, PdfPCell.ALIGN_RIGHT); cell.Colspan = 2; cell.Border = 0; table.AddCell(cell); p = new Paragraph("FECHA: " + Fecha + "\n\nAdvertencia: Esta certificación no constituye un permiso para excavar o demoler dentro de la jurisdicción del \n" + "Estado Libre Asociado de Puerto Rico. La misma deberá ser mostrada a solicitud de la Policía de Puerto Rico,\n" + "Policía Municipal, Cuerpo de Bomberos, Oficiales del COT, Inspectores de DTOP y CSP y cualquier funcionario\n" + "del DTOP que asi lo solicite.", FontFactory.GetFont("Arial", 6, Font.NORMAL, Color.BLACK)); p.Alignment = Element.ALIGN_JUSTIFIED; cell = new PdfPCell(new Phrase(p)); cell.Border = 0; cell.Colspan = 4; table.AddCell(cell); p = new Paragraph(" SELLO OFICIAL", FontFactory.GetFont("Arial", 10, Font.NORMAL, Color.BLACK)); p.Alignment = Element.ALIGN_RIGHT; cell = new PdfPCell(new Phrase(p)); cell.HorizontalAlignment = PdfPCell.ALIGN_CENTER; cell.Border = 0; cell.Colspan = 2; table.AddCell(cell); doc.Add(table); #endregion doc.Close(); byte[] bytes = memoryStream.ToArray(); memoryStream.Close(); //File.WriteAllBytes(string.Format(@"{0}/{1}/Cert_{2}_Inicial.pdf", new DocumentoRequerido().DocumentosInicialesSavePath, // solicitud.Usuario.Email, solicitud.NumeroControl.NumControlText), bytes); //File.WriteAllBytes(string.Format(@"C:\inetpub\wwwroot\EXC\Certificaciones\Cert_{0}_Inicial.pdf", solicitud.NumeroControl.NumControlText), bytes); File.WriteAllBytes(Server.MapPath(string.Format(@"~/Certificaciones/Cert_{0}_Inicial.pdf", solicitud.NumeroControl.NumControlText)), bytes); } #endregion attachment.AddLast(Server.MapPath(string.Format(@"~/Certificaciones/Cert_{0}_Inicial.pdf", solicitud.NumeroControl.NumControlText))); try { if (CheckForInternetConnection()) SendEmail(to, "*****@*****.**", mails.ElementAt((int)Mail.Notifications.SolicitudAprovada).Subject, mails.ElementAt((int)Mail.Notifications.SolicitudAprovada).Body.Replace( "@NumControl", numeroControl.NumControlText).Replace("@NombreEmpresa", solicitud.NombreEmpresa), attachment); // only test } catch (Exception ex) { if (ex.Message == "") { } } #endregion #region Enviar email a operadores //to = new LinkedList<string>(); LinkedList<Operador> operadores = new SolicitudesInicialesServicio().GetOperadores(); Entidad.User solicitudUser = new SolicitudesInicialesServicio().GetUser(solicitud.Usuario.Email); to = new LinkedList<string>(); //No se lo envies al mismo que la sometio, si es operador foreach (var o in operadores) { if (!solicitudUser.EmpresaID.Equals(o.Nombre) /*!currentUser.Email.Equals(o.Email)*/) { to.AddLast(o.Email); } } //SendEmail(to, "", "", ""); //SendEmail(to, "*****@*****.**", "Operador", "Aviso de excavacion a operador", new LinkedList<string>()); //only foor test #region Add croquis to email string croquisPath = ViewState["croquisPath"] == null ? string.Empty : (string)ViewState["croquisPath"]; if (croquisPath != null) { attachment.AddLast(croquisPath); } //LinkedList<ImageButton> ImageButtons = (LinkedList<ImageButton>)Session["ImageButtons"]; // //Path del image es el mismo path que esta ene l objeto de docs, pero no tengo acceso a docs desde aqui // foreach (var i in ImageButtons) // { // if (i.ID.ToUpper().Contains("CROQUIS")) // { // attachment.AddLast((i.ImageUrl).Replace("~", "..")); // break; // } // } #endregion try { if (CheckForInternetConnection()) SendEmail(to, "*****@*****.**", mails.ElementAt((int)Mail.Notifications.OperadorNuevaSolicitud).Subject.Replace("@Pueblo", string.Format("{0}", municipioTrabajoDDL.SelectedValue)), mails.ElementAt((int)Mail.Notifications.OperadorNuevaSolicitud).Body.Replace("@NumControl", numeroControl.NumControlText), attachment); } catch (Exception ex) { if (ex.Message == "") { } } #endregion #endregion } else { #region Docs incompletos //Notifica excavador que tiene docs incompletos to = new LinkedList<string>();//user email to.AddLast(solicitud.Usuario.Email); solicitud.FechaDocsIncompletos = DateTime.Now; try { if (CheckForInternetConnection()) { #region Build razones por devolucion string razonesMsg = string.Empty; if (solicitud.SolicitudStatusID == (int)SolicitudAviso.SolicitudStatuses.INCOMPLETO) razonesMsg = string.Format("Observaciones : {0} \r\n\r\n", solicitud.Observaciones); for (int i = 0; i < documentos.Count; i++) { if (!string.IsNullOrEmpty(documentos.ElementAt(i).Comentario)) { razonesMsg += string.Format("{0} : {1} \r\n\r\n", documentos.ElementAt(i).Nombre.Replace("_", " "), documentos.ElementAt(i).Comentario); } } #endregion SendEmail(to, "*****@*****.**", mails.ElementAt((int)Mail.Notifications.DocsIncompletos).Subject, mails.ElementAt((int)Mail.Notifications.DocsIncompletos).Body.Replace( "@NumControl", numeroControl.NumControlText).Replace("@NombreEmpresa", solicitud.NombreEmpresa).Replace("@Razones", razonesMsg), new LinkedList<string>()); } } catch (Exception) { } #endregion } } //docs inc else if ((Convert.ToInt32(solicitud.EstatusId)) == ((int)SolicitudAviso.Estatus.PendienteDocumentosIncompletos)) { #region sometio despues de estar docs incompletos LinkedList<FileUpload> _docRequeridosFileUpload = new LinkedList<FileUpload>(); #region Validate docs requeridos LinkedList<FileUpload> docRequeridosFileUpload = (LinkedList<FileUpload>)Session["docRequeridosFileUpload"]; foreach (var t in docRequeridosFileUpload) { _docRequeridosFileUpload.AddLast((FileUpload)docRequeridosMainDiv.FindControl(t.ID)); } foreach (var d in _docRequeridosFileUpload) { if (!d.HasFile) { exceptionMsg += string.Format("<b>{0}:</b> Requerido <br />", d.ID.Replace("fileUp", string.Empty)); } } if (!string.IsNullOrWhiteSpace(exceptionMsg)) { throw new Exception(exceptionMsg); } #endregion #region Docs for (int i = 0; i < _docRequeridosFileUpload.Count; i++) { DocumentoRequerido docReq = new DocumentoRequerido() { Nombre = _docRequeridosFileUpload.ElementAt(i).ID.Replace("fileUp", string.Empty), NumeroControl = numeroControl, Path = string.Format("{0}/{1}/{2}_{3}", new DocumentoRequerido().DocumentosInicialesSavePath, user.Email , solicitud.NumeroControl.NumControlText, Path.GetFileName(_docRequeridosFileUpload.ElementAt(i).PostedFile.FileName.Replace( "#", string.Empty).Replace("&", string.Empty))), Tipo = tipoAvisoRBtnLst.SelectedIndex }; LinkedList<DropDownList> docAsociadosStatuses = (LinkedList<DropDownList>)Session["docAsociadosStatuses"]; docReq.Status = docAsociadosStatuses.ElementAt(i).SelectedIndex; documentos.AddLast(docReq); } #endregion #region Update documentos con data de documentosExistentes for (int i = 0; i < documentos.Count; i++) { documentos.ElementAt(i).DocumentoId = docsExistentes.ElementAt(i).DocumentoId; documentos.ElementAt(i).Comentario = docsExistentes.ElementAt(i).Comentario; } #endregion SaveDocs(_docRequeridosFileUpload, documentos); solicitud.EstatusId = ((int)SolicitudAviso.Estatus.PendienteRevisarCoordinador).ToString(); solicitud.FechaDocsIncompletos = Convert.ToDateTime(@"1/1/1900"); #region Email coordinadores to = new LinkedList<string>(); LinkedList<User> coordinadores = new SolicitudesInicialesServicio().GetCoordinadores(), superInspectores = new SolicitudesInicialesServicio().GetSuperInspectores(), directores = new SolicitudesInicialesServicio().GetDirectores(); for (int i = 0; i < coordinadores.Count; i++) { to.AddLast(coordinadores.ElementAt(i).Email); } for (int i = 0; i < superInspectores.Count; i++) { to.AddLast(superInspectores.ElementAt(i).Email); } for (int i = 0; i < directores.Count; i++) { to.AddLast(directores.ElementAt(i).Email); } try { if (CheckForInternetConnection()) SendEmail(to, "*****@*****.**", mails.ElementAt((int)Mail.Notifications.SolicitudRevisada).Subject, mails.ElementAt((int)Mail.Notifications.SolicitudRevisada).Body.Replace( "@NumControl", numeroControl.NumControlText).Replace("@NombreEmpresa", solicitud.NombreEmpresa), new LinkedList<string>()); // only test } catch (Exception ex) { if (ex.Message == "") { } } #endregion #endregion } else if ((Convert.ToInt32(solicitud.EstatusId)) == ((int)SolicitudAviso.Estatus.EnProcesoInspeccion) || (Convert.ToInt32(solicitud.EstatusId)) == ((int)SolicitudAviso.Estatus.InspeccionCompletada) || (Convert.ToInt32(solicitud.EstatusId)) == ((int)SolicitudAviso.Estatus.PendienteAsignarInspector)) { documentos = docsExistentes; solicitud.EstatusId = solicitudExistente.EstatusId; solicitud.FechaRespuestaSolicitadas = solicitudExistente.FechaRespuestaSolicitadas; } #endregion solicitud.NumeroControl.NumControl = Convert.ToInt32(solicitud.NumeroControl.NumControlText.Substring(4)); //Agrega letra al status id solicitud.EstatusId = !solicitud.EstatusId.Contains('S') ? string.Format("{0}{1}", solicitud.LetraStatus, solicitud.EstatusId) : solicitud.EstatusId; //documentos = SetDocumentsNumControl(documentos, numeroControl); //averias = SetAveriasNumControl(averias, numeroControl); #region Set averias & docs ids //for (int i = 0; i < averiasExistentes.Count; i++) //{ // averias.ElementAt(i).ID = averiasExistentes.ElementAt(i).ID; //} //for (int i = 0; i < documentos.Count; i++) //{ // documentos.ElementAt(i).DocumentoId = docsExistentes.ElementAt(i).DocumentoId; // documentos.ElementAt(i).Status = docsExistentes.ElementAt(i).Status; //} #endregion new DocumentosRequeridosServicio().TryUpdate(documentos); new SolicitudesInicialesServicio().TryUpdate(solicitud); Session.Remove("Respuesta"); Session.Remove("RespuestaVisibility"); Response.Redirect("~/Default.aspx", false); #endregion } #endregion } } catch (Exception ex) { if (string.IsNullOrWhiteSpace(exceptionMsg)) { errorLbl2.InnerText = ex.Message; } else { errorLbl2.InnerHtml = exceptionMsg; } if (ViewState["justCreatedInspeccion"] != null) { new InspeccionesServicio().TryDelete(exceptionNumControl, ((int)SolicitudAviso.TiposExtensiones.Inicial).ToString()); } String errorLog = "Date: " + DateTime.Now.ToLongDateString() + "\r\n NumeroControl:" + exceptionNumControl.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(Server.MapPath(Inspeccion.ErrorLogDir + "SolicitudInicLog.txt"), errorLog); //transaction.Rollback(); Page.DataBind(); errorPopup.Show(); } guardarBtn.Enabled = true; }
protected void buscarBtn_Click(object sender, EventArgs e) { lookupDiv.Visible = true; facturacionLbl.Text = "Factura: $0.00"; numsControlGv.Visible = false; try { LinkedList<SolicitudAviso> solicitudes = SolicitudesInicialesServicio.GetSolicitudesByCompanyFromDateToDate(companyDDL.SelectedValue , desdeTxtBx.Text, hastaTxtBx.Text); Company company = new SolicitudesInicialesServicio().GetCompany(companyDDL.SelectedValue); dirLbl.Text = string.Format("Dirección Postal: {0}", company.DireccionFisica); avisosLbl.Text = string.Format("Total de Avisos Radicados: {0}", solicitudes.Count.ToString("N0")); int excavadorCount = 0, individuoCount = 0; for (int i = 0; i < solicitudes.Count; i++) { if (solicitudes.ElementAt(i).TipoAviso.Equals("2")) individuoCount++; } excavadorCount = solicitudes.Count - individuoCount; //Si tiene uno pues los avisos fueron sometidos poor un individuo if (individuoCount > 0) { #region Individuo if (individuoCount < 5) facturacionLbl.Text = "Factura: $50.00"; else if (individuoCount < 6) facturacionLbl.Text = "Factura: $200.00"; else if (individuoCount < 11) facturacionLbl.Text = "Factura: $350.00"; else if (individuoCount < 21) facturacionLbl.Text = "Factura: $700.00"; else if (individuoCount < 31) facturacionLbl.Text = "Factura: $1,000.00"; else facturacionLbl.Text = "Factura: $1,500.00"; #endregion } else if (excavadorCount > 0) { #region Company if (excavadorCount < 6) facturacionLbl.Text = "Factura: $200.00"; else if (excavadorCount < 11) facturacionLbl.Text = "Factura: $350.00"; else if (excavadorCount < 21) facturacionLbl.Text = "Factura: $700.00"; else if (excavadorCount < 31) facturacionLbl.Text = "Factura: $1,000.00"; else facturacionLbl.Text = "Factura: $1,500.00"; #endregion } if (solicitudes.Count > 0) { #region Fill gv numsControlGv.Visible = true; using (SqlConnection conn = new SQL().GetLocalConnection()) { using (SqlCommand cmd = new SqlCommand(@"SELECT * FROM Avisos WHERE FechaComienzo BETWEEN CONVERT(date, '@Desde') AND CONVERT(date, '@Hasta') AND NombreEmpresa = @NombreEmpresa", conn)) { //cmd.Parameters.AddWithValue("Desde", from); //cmd.Parameters.AddWithValue("Hasta", to); cmd.Parameters.AddWithValue("NombreEmpresa", company.Nombre); cmd.CommandText = cmd.CommandText.Replace("@Desde", desdeTxtBx.Text); cmd.CommandText = cmd.CommandText.Replace("@Hasta", hastaTxtBx.Text); conn.Open(); cmd.ExecuteNonQuery(); DataTable dt = new DataTable(); using (SqlDataAdapter adapter = new SqlDataAdapter(cmd)) { adapter.Fill(dt); } numsControlGv.DataSourceID = string.Empty; numsControlGv.DataSource = dt; numsControlGv.DataBind(); } } #endregion } } catch (Exception ex) { if (ex.Message.Equals("")) { } } }
protected void Guardar_Click(object sender, EventArgs e) { //UsuarioID = CorreoElectronico.Text; int[] err = new int[23]; //// TipoExcavador err[1] //if (NombreEmpresa.Text.Equals("")) { err[2] = 1; err[0] = 1; } //if (RepresentanteAutorizado.Text.Equals("")) { err[3] = 1; err[0] = 1; } //if (CorreoElectronico.Text.Equals("")) { err[4] = 1; err[0] = 1; } //if (UrbBarrioCond.Text.Equals("")) { err[5] = 1; err[0] = 1; } //// ApartBoxCalle err[6] //if (Municipio.SelectedIndex == 0) { err[7] = 1; err[0] = 1; } //// Sector err[8] //if (EstadoPais.SelectedIndex == 0) { err[9] = 1; err[0] = 1; } //if (CodigoPostal.Text.Equals("")) { err[10] = 1; err[0] = 1; } //// EsOperador err[11] //if (TelOficina.Text.Equals("")) { err[12] = 1; err[0] = 1; } //// TelCampoTrabajo err[13] //// Celular err[14] //if (UrbBarrioCondDF.Text.Equals("")) { err[15] = 1; err[0] = 1; } //// ApartBoxCalleDF err[16] //if (MunicipioDF.SelectedIndex == 0) { err[17] = 1; err[0] = 1; } //// SectorDF err[18] //if (EstadoPaisDF.SelectedIndex == 0) { err[19] = 1; err[0] = 1; } //if (CodigoPostalDF.Text.Equals("")) { err[20] = 1; err[0] = 1; } //// Comentarios err[21] //// UsuarioID err[22] err[0] = 0; /////////////////////////////////////////////////////////////////// EAF ///////////////////////////////////////////////////////////// if (err[0] == 0) { string TipoExc = ""; if (RB1.Checked) TipoExc = "1"; if (RB2.Checked) TipoExc = "2"; if (RB3.Checked) TipoExc = "3"; string cs = ConfigurationManager.ConnectionStrings["EXC"].ConnectionString; using (SqlConnection conn = new SqlConnection(cs)) { using (SqlCommand cmd = new SqlCommand()) { cmd.Connection = conn; cmd.CommandType = CommandType.Text; User _user = new Entidad.User() { EmpresaID = string.IsNullOrEmpty(Request.QueryString["EmpName"]) ? string.Empty : Request.QueryString["EmpName"].Replace("amp;", string.Empty).Replace("@AND", "&") }; var existingCompany = new SolicitudesInicialesServicio().GetCompany(_user); if (string.IsNullOrWhiteSpace(_user.EmpresaID)) { cmd.CommandText = "INSERT INTO Empresas VALUES (" + "@TipoExcavador, @NombreEmpresa, @RepresentanteAutorizado," + "@UrbBarrioCond, @ApartBoxCalle, @Municipio, @Sector, @EstadoPais, @CodigoPostal," + "@EsOperador, @TelOficina, @TelCampoTrabajo, @Celular, @UrbBarrioCondDF, @ApartBoxCalleDF," + "@MunicipioDF, @SectorDF, @EstadoPaisDF, @CodigoPostalDF, @Comentarios, @CorreoElectronico);"; cmd.CommandText += @"UPDATE Usuarios SET EmpresaID = @NombreEmpresa WHERE CorreoElectronico = @UserCorreoElectronico;"; if (esOperador.Checked) { cmd.CommandText += @"INSERT INTO Operadores VALUES(@Operador, @CorreoElectronico);"; cmd.Parameters.AddWithValue("Operador", NombreEmpresa.Text.ToUpper()); } cmd.Parameters.AddWithValue("UserCorreoElectronico", (string)Session["Email"]); } else { cmd.CommandText = "UPDATE Empresas SET" + " TipoExcDem = @TipoExcavador, NombreEmpresa = @NombreEmpresa, RepresentanteAutorizado= @RepresentanteAutorizado," + "UrbBarrioCond = @UrbBarrioCond, ApartBoxCalle = @ApartBoxCalle, Municipio = @Municipio, Sector = @Sector, EstadoPais = @EstadoPais, CodigoPostal = @CodigoPostal," + "EsOperador = @EsOperador, TelOficina = @TelOficina, TelTrabajo = @TelCampoTrabajo, Celular = @Celular, UrbBarrioCondDF = @UrbBarrioCondDF, ApartBoxCalleDF = @ApartBoxCalleDF," + @"MunicipioDF = @MunicipioDF, SectorDF = @SectorDF, EstadoPaisDF = @EstadoPaisDF, CodigoPostalDF = @CodigoPostalDF, Comentarios = @Comentarios, CorreoElectronico = @CorreoElectronico WHERE EmpresaID = @EmpresaID; UPDATE Usuarios SET EmpresaID = @NombreEmpresa WHERE EmpresaID = @CompanyName;"; Operador operadorExistente = new SolicitudesInicialesServicio().GetOperador(existingCompany.NombreEmpresa); if (esOperador.Checked) { if (string.IsNullOrWhiteSpace(operadorExistente.Nombre)) { cmd.CommandText += @"INSERT INTO Operadores VALUES(@Operador, @CorreoElectronico);"; cmd.Parameters.AddWithValue("Operador", NombreEmpresa.Text.ToUpper()); } else { cmd.CommandText += @"UPDATE Operadores SET Operador = @NombreEmpresa, CorreoElectronico = @CorreoElectronico WHERE Operador = @CompanyName;"; } } cmd.Parameters.AddWithValue("CompanyName", existingCompany.NombreEmpresa); cmd.Parameters.AddWithValue("EmpresaID", existingCompany.EmpresaID); } //(SELECT E.NombreEmpresa // FROM Empresas AS E // INNER JOIN Usuarios AS U // ON E.UsuarioID = U.CorreoElectronico // WHERE E.UsuarioID = @UsuarioID) // FROM Usuarios AS U // INNER JOIN Empresas AS E // ON U.CorreoElectronico = E.UsuarioID // WHERE U.CorreoElectronico = @UsuarioID;"; cmd.Parameters.AddWithValue("@TipoExcavador", TipoExc); cmd.Parameters.AddWithValue("@NombreEmpresa", NombreEmpresa.Text.ToUpper()); cmd.Parameters.AddWithValue("@RepresentanteAutorizado", RepresentanteAutorizado.Text.ToUpper()); cmd.Parameters.AddWithValue("@UrbBarrioCond", UrbBarrioCond.Text.ToUpper()); cmd.Parameters.AddWithValue("@ApartBoxCalle", ApartBoxCalle.Text.ToUpper()); cmd.Parameters.AddWithValue("@Municipio", Municipio.SelectedValue.ToString()); cmd.Parameters.AddWithValue("@Sector", Sector.Text.ToUpper()); cmd.Parameters.AddWithValue("@EstadoPais", EstadoPais.SelectedValue.ToString()); cmd.Parameters.AddWithValue("@CodigoPostal", CodigoPostal.Text); cmd.Parameters.AddWithValue("@EsOperador", esOperador.Checked); cmd.Parameters.AddWithValue("@TelOficina", TelOficina.Text); cmd.Parameters.AddWithValue("@TelCampoTrabajo", TelCampoTrabajo.Text); cmd.Parameters.AddWithValue("@Celular", Celular.Text); cmd.Parameters.AddWithValue("@UrbBarrioCondDF", UrbBarrioCondDF.Text.ToUpper()); cmd.Parameters.AddWithValue("@ApartBoxCalleDF", ApartBoxCalleDF.Text.ToUpper()); cmd.Parameters.AddWithValue("@MunicipioDF", MunicipioDF.SelectedValue.ToString()); cmd.Parameters.AddWithValue("@SectorDF", SectorDF.Text.ToUpper()); cmd.Parameters.AddWithValue("@EstadoPaisDF", EstadoPaisDF.SelectedValue.ToString().ToUpper()); cmd.Parameters.AddWithValue("@CodigoPostalDF", CodigoPostalDF.Text.ToUpper()); cmd.Parameters.AddWithValue("@Comentarios", Comentarios.Text.ToUpper()); cmd.Parameters.AddWithValue("CorreoElectronico", CorreoElectronico.Text); try { ClientScript.RegisterStartupScript(GetType(), "leavingMsg", "", true); conn.Open(); int recordsAffected = cmd.ExecuteNonQuery(); //if (recordsAffected > 0) //Status.Text = "Empresa añadida al sistema..."; //System.Threading.Thread.Sleep(2000); } catch (Exception ex) { var er = ex.Message;// error here } finally { //command.CommandText = "SELECT SCOPE_IDENTITY() AS [SCOPE_IDENTITY]"; conn.Close(); //Update_User(sender, e); //Cancelar_Click(sender, e); Session["shoulLogOut"] = true; if (!string.IsNullOrWhiteSpace(existingCompany.NombreEmpresa)) { //Update user session if updated company User user = Session["UserObj"] == null ? new User() : (User)Session["UserObj"]; user.EmpresaID = NombreEmpresa.Text; Session["UserObj"] = user; Response.Redirect("~/Default.aspx"); } Response.Redirect("~/Account/Ingresar.aspx"); } } } } }
protected void Page_Load(object sender, EventArgs e) { guardarBtn.Enabled = true; User user = Session["UserObj"] == null ? new User() : (User)Session["UserObj"]; if (!user.Rol.VerAvisoInicial) { Response.Redirect("~/Default.aspx"); } var title = (HtmlGenericControl)Master.FindControl("pageTitleSpan"); title.InnerText = Title; CreateDocReqCtrls(tipoAvisoRBtnLst.SelectedIndex); if (!IsPostBack) { #region Populate horario ddl horarioDDL.Items.Clear(); horarioDDL2.Items.Clear(); horarioDDL.Items.Add("Seleccionar"); horarioDDL2.Items.Add("Seleccionar"); for (int i = 0; i < 2; i++) { string dayTime = "AM"; if (i == 1) { dayTime = "PM"; } for (int h = 1; h < 13; h++) { for (int m = 0; m < 4; m += 3) { horarioDDL.Items.Add(h.ToString() + ":" + m.ToString() + "0" + dayTime); horarioDDL2.Items.Add(h.ToString() + ":" + m.ToString() + "0" + dayTime); } } } #endregion #region Clean up session Session.Remove("Respuesta"); Session.Remove("RespuestaVisibility"); Session.Remove("docAsociadosStatuses"); Session.Remove("docsRequeridos"); Session.Remove("croquisPath"); #endregion Page.Form.Attributes.Add("enctype", "multipart/form-data"); NumeroControl numeroControl = new NumeroControl() { NumControlText = Request.QueryString["NumeroControl"] }; try { #region Set Municipios LinkedList<String> municipios = new SolicitudesInicialesServicio().GetMunicipios(); municipioDDL.Items.Add("Seleccionar"); municipioSubDDL.Items.Add("Seleccionar"); municipioTrabajoDDL.Items.Add("Seleccionar"); foreach (var m in municipios) { municipioDDL.Items.Add(m); municipioSubDDL.Items.Add(m); municipioTrabajoDDL.Items.Add(m); } municipioDDL.SelectedIndex = 0; municipioSubDDL.SelectedIndex = 0; municipioTrabajoDDL.SelectedIndex = 0; #endregion #region Set multi line txtbx maxlength cause clieent side max length doesn't work direccionPostalContactoTxtBx.Attributes["maxlength"] = Convert.ToString(400); direccionTxtBx.Attributes["maxlength"] = Convert.ToString(400); direccionSubTxtBx.Attributes["maxlength"] = Convert.ToString(400); referenciasTxtBx.Attributes["maxlength"] = Convert.ToString(600); razonTxtBx.Attributes["maxlength"] = Convert.ToString(600); tipoMaquinariaTxtBx.Attributes["maxlength"] = Convert.ToString(400); observacionesTxtBx.Attributes["maxlength"] = Convert.ToString(400); enCasoEmergenciaTxtBx.Attributes["maxlength"] = Convert.ToString(100); #endregion //if numcontrol exist, get data. Else setup controls for creation if (String.IsNullOrEmpty(numeroControl.NumControlText)) { #region Create if(user.Rol.ID != ((int)Role.TipoRoles.Excavador)) Response.Redirect("~/Default.aspx", true); #region Set visibilities SolicitudStatusLbl.Visible = false; solicitudStatusCol.Visible = false; solicitudStatusLblCol.Visible = false; fechaComienzoDiv.Visible = false; fechaComienzoDiv2.Visible = false; fechaExpiracionDiv.Visible = false; fechaExpiracionDiv2.Visible = false; docsRequeridosHeader.Visible = true; docRequeridosMainDiv.Visible = true; docsAsociadosHeader.Visible = false; docsAsociadosTableTag.Visible = false; respuestasDiv.Visible = false; #endregion tipoMaquinariaTxtBx.Enabled = false; licExplosivoTxtBx.Enabled = false; fechaExpiracionExplosivoTxtBx.Enabled = false; fechaComienzoPropuestoTxtBx.Enabled = true; fechaComienzoImgBtn.Visible = true; primeraExtensionLink.NavigateUrl = String.Empty; primeraExtensionLink.Text = "No hay extensiones disponibles"; segundaExtensionLink.Visible = false; #region Poblar campos contratista #region Company companyDDL.Items.Add("Seleccionar"); Company company = new SolicitudesInicialesServicio().GetCompany(user); companyDDL.Items.Add(company.Nombre); companyDDL.SelectedIndex = 1; #endregion representanteTxtBx.Text = company.RepresentanteAutorizado; telOficinaTxtBx.Text = company.TelOficina; telTrabajoTxtBx.Text = company.TelTrabajo; celularTxtBx.Text = company.Celular; emailTxtBx.Text = company.CorreoElectronico; direccionTxtBx.Text = company.DireccionPostal.Replace(",", string.Empty); codigoPostalTxtBx.Text = company.CodigoPostal; municipioDDL.SelectedValue = company.Municipio; #endregion #endregion } else { #region Edit numeroControl.Year = Convert.ToInt32(numeroControl.NumControlText.Substring(0, 4)); numeroControl.NumControl = Convert.ToInt32(numeroControl.NumControlText.Substring(4)); SolicitudAviso solicitud = new SolicitudesInicialesServicio().GetSolicitud(numeroControl); //Don't allow regular user to view other user's aviso if (user.Rol.ID == (int)Role.TipoRoles.Excavador && !solicitud.Usuario.Email.Equals(user.Email)) { Response.Redirect("~/Default.aspx", true); } #region Set links extensiones SolicitudAviso primeraExt = new PrimerasExtensionesServicio().GetPrimeraExtension(numeroControl), segundaExt = new SegundasExtensionesServicio().GetSegundaExtension(numeroControl); primeraExtensionLink.NavigateUrl = primeraExtensionLink.NavigateUrl + "?NumeroControl=" + numeroControl.NumControlText; segundaExtensionLink.NavigateUrl = segundaExtensionLink.NavigateUrl + "?NumeroControl=" + numeroControl.NumControlText; //Si tiene la primera ext if (!String.IsNullOrEmpty(primeraExt.NumeroControl.NumControlText)) { primeraExtensionLink.Text = "Ver Primera"; //Si tiene la segunda ext if (!String.IsNullOrEmpty(segundaExt.NumeroControl.NumControlText)) { segundaExtensionLink.Text = "Ver Segunda"; } else { //Si puede crear ext if (solicitud.PuedeCrearSegundaExt) segundaExtensionLink.Text = "Crear Segunda"; else { segundaExtensionLink.Visible = false; //Para que no pase a la ext si le da al link segundaExtensionLink.NavigateUrl = string.Empty; } } } else { //Si puede crear ext if (solicitud.PuedeCrearPrimeraExt) primeraExtensionLink.Text = "Crear Primera"; else { primeraExtensionLink.Text = "No hay extensiones disponibles"; //Para que no pase a la ext si le da al link primeraExtensionLink.NavigateUrl = string.Empty; } segundaExtensionLink.Visible = false; } #endregion #region Poblar campos solicitud #region Info general numeroControlTxtBx.Text = numeroControl.NumControlText; emergenciaChkBx.Checked = solicitud.Emergencia; if (!user.Rol.EditarAvisoEmergerncia) { emergenciaChkBx.Enabled = false; } areaDepartamentoTxtBx.Enabled = tipoAvisoRBtnLst.SelectedIndex != 2; areaDepartamentoTxtBx.Enabled = tipoAvisoRBtnLst.SelectedIndex != 2; if (tipoAvisoRBtnLst.SelectedIndex == 2) { areaDepartamentoTxtBx.Text = string.Empty; areaDepartamentoTxtBx.Text = string.Empty; } tipoAvisoRBtnLst.SelectedIndex = Convert.ToInt32(solicitud.TipoAviso); SetDocsVisibilities(); if (!string.IsNullOrWhiteSpace(solicitud.EstatusId)) { //Quitale la letra y brega con el numero solo solicitud.EstatusId = solicitud.EstatusId.Replace(solicitud.LetraStatus, string.Empty).Replace(new Inspeccion().LetraStatus, string.Empty); #region Fill status msgs var statusMsgs = new SolicitudesInicialesServicio().GetStatusMsgs(); Dictionary<string, System.Drawing.Color> newStatusMsgs = new Dictionary<string, System.Drawing.Color>(); if (Convert.ToInt32(solicitud.EstatusId) < 8) { newStatusMsgs.Add("filler", System.Drawing.Color.Violet); for (int i = 0; i < solicitud.StatusMsgs.Count; i++) { newStatusMsgs.Add(statusMsgs.ElementAt(i), solicitud.StatusMsgs.ElementAt(i).Value); } solicitud.StatusMsgs = newStatusMsgs; statusLbl.Text = solicitud.StatusMsgs.Keys.ElementAt(Convert.ToInt32(solicitud.EstatusId)); statusLbl.ForeColor = solicitud.StatusMsgs.Values.ElementAt(Convert.ToInt32(solicitud.EstatusId)); } //Eliminada else { newStatusMsgs.Add("Eliminada", System.Drawing.Color.White); solicitud.StatusMsgs = newStatusMsgs; statusLbl.Text = solicitud.StatusMsgs.Keys.ElementAt(0); statusLbl.ForeColor = solicitud.StatusMsgs.Values.ElementAt(0); } #endregion statusHF.Value = solicitud.EstatusId; if (solicitud.EstatusId.Equals((((int)SolicitudAviso.Estatus.PendienteDocumentosIncompletos).ToString()))) { if (user.Rol.ID != (int)Role.TipoRoles.Excavador) { coordinadorPopup.Show(); } else { solicitudStatusDDL.Enabled = false; observacionesTxtBx.ReadOnly = true; } } else if (solicitud.EstatusId.Equals((((int)SolicitudAviso.Estatus.PendienteRevisarCoordinador).ToString()))) { //si es empresa(exc/demole) if (user.Rol.ID != (int)Role.TipoRoles.Coordinador && user.Rol.ID != (int)Role.TipoRoles.Admin && user.Rol.ID != (int)Role.TipoRoles.SuperInspector && user.Rol.ID != (int)Role.TipoRoles.Director) { coordinadorPoPupHeader.InnerText = "Excavador / Demoledor"; coordinadorPopupBodyLbl.Text = "Esperar por revisión de coordinador"; coordinadorPopup.Show(); } } //Do not allow update if any of these conditions else if (!solicitud.EstatusId.Equals(((int)SolicitudAviso.Estatus.PendienteRevisarCoordinador).ToString()) || !solicitud.EstatusId.Equals(((int)SolicitudAviso.Estatus.PendienteDocumentosIncompletos).ToString())) { if (user.Rol.ID != (int)Role.TipoRoles.Director && user.Rol.ID != (int)Role.TipoRoles.SuperInspector) { guardarBtn.Enabled = false; } } //Allow to view extensions if it's inactive and extensions have already been created if (solicitud.EstatusId.Equals(((int)SolicitudAviso.Estatus.Inactiva).ToString()) || solicitud.EstatusId.Equals(((int)SolicitudAviso.Estatus.Denegada).ToString())) { if (string.IsNullOrWhiteSpace(primeraExt.NumeroControl.NumControlText)) { primeraExtensionLink.Visible = false; } if (string.IsNullOrWhiteSpace(segundaExt.NumeroControl.NumControlText)) { segundaExtensionLink.Visible = false; } } //Don't allow to create extensions if it ain't aprovada else if (!solicitud.EstatusId.Equals(((int)SolicitudAviso.Estatus.PendienteAsignarInspector).ToString()) & !solicitud.EstatusId.Equals(((int)SolicitudAviso.Estatus.InspeccionCompletada).ToString()) & !solicitud.EstatusId.Equals(((int)SolicitudAviso.Estatus.EnProcesoInspeccion).ToString())) { primeraExtensionLink.Visible = false; segundaExtensionLink.Visible = false; } } #region Set solicitud status solicitudStatusDDL.SelectedIndex = solicitud.SolicitudStatusID; solicitudStatusDDL_SelectedIndexChanged(sender, EventArgs.Empty); observacionesTxtBx.Text = solicitud.Observaciones; #endregion nombreContactoTxtBx.Text = solicitud.NombreContacto; celularContactoTxtBx.Text = solicitud.CelularContacto; direccionPostalContactoTxtBx.Text = solicitud.DireccionPostalContacto; #endregion #region Contratista companyDDL.Items.Add(solicitud.NombreEmpresa); companyDDL.SelectedValue = solicitud.NombreEmpresa; representanteTxtBx.Text = solicitud.RepresentanteAutorizado; if (!solicitud.TipoAviso.Equals(((int)SolicitudAviso.TiposAvisos.Residencial).ToString())) { areaDepartamentoTxtBx.Text = solicitud.AreaDept; } else { deptLbl.Text = deptLbl.Text.Replace("*", string.Empty); areaDepartamentoTxtBx.Enabled = false; deptRFV.Enabled = false; } telOficinaTxtBx.Text = solicitud.TelOficina; telTrabajoTxtBx.Text = solicitud.TelCampoTrabajo; celularTxtBx.Text = solicitud.TelCelular; emailTxtBx.Text = solicitud.CorreoElectronico; direccionTxtBx.Text = solicitud.DireccionPostal; municipioDDL.SelectedIndex = solicitud.MunicipioId; codigoPostalTxtBx.Text = solicitud.CodigoPostal; #endregion #region Sub companySubTxtBx.Text = solicitud.Subcontratista; representanteSubTxtBx.Text = solicitud.RepresentanteAutorizadoSub; if (!solicitud.TipoAviso.Equals(((int)SolicitudAviso.TiposAvisos.Residencial).ToString())) { areaDepartamentoSubTxtBx.Text = solicitud.AreaDeptSub; } else { areaDepartamentoSubTxtBx.Enabled = false; //deptRFV.Enabled = false; } //representanteSubTxtBx.Text = solicitud.RepresentanteAutorizadoSub; telOficinaSubTxtBx.Text = solicitud.TelOficinaSub; telTrabajoSubTxtBx.Text = solicitud.TelCampoTrabajoSub; celularSubTxtBx.Text = solicitud.TelCelularSub; emailSubTxtBx.Text = solicitud.CorreoElectronicoSub; direccionSubTxtBx.Text = solicitud.DireccionPostalSub; municipioSubDDL.SelectedIndex = solicitud.MunicipioIdSub; codigoPostalSubTxtBx.Text = solicitud.CodigoPostalSub; #endregion #region Info trabajo //Es urbana? if (solicitud.Zona) { zonaRBtnLst.SelectedIndex = 1; } else { zonaRBtnLst.SelectedIndex = 0; } boUrbTxtBx.Text = solicitud.BoUrb; sectorCalleTxtBx.Text = solicitud.SectorCalle; carreteraTxtBx.Text = solicitud.Carretera; kmTxtBx.Text = solicitud.KM.ToString(); hmTxtBx.Text = solicitud.HM.ToString(); municipioTrabajoDDL.SelectedIndex = solicitud.MunicipioIdTrab; referenciasTxtBx.Text = solicitud.Referencias; fechaComienzoPropuestoTxtBx.Text = solicitud.FechaPropuesta.ToShortDateString(); fechaComienzoTxtBx.Text = solicitud.FechaComienzo.ToShortDateString(); fechaExpiracionTxtBx.Text = solicitud.FechaExpiracion.ToShortDateString(); string[] duracionSplit = solicitud.TiempoDuracion.Split('-'); duracionDiaTxtBx.Text = duracionSplit[0]; duracionMesTxtBx.Text = duracionSplit[1]; duracionYearTxtBx.Text = duracionSplit[2]; string[] horSplit = solicitud.Horario.Split('-'); horarioDDL.SelectedValue = horSplit[0]; horarioDDL2.SelectedValue = horSplit[1]; maquinariaChkBx.Checked = solicitud.Maquinaria; tipoMaquinariaTxtBx.Enabled = solicitud.Maquinaria; if (maquinariaChkBx.Checked) { tipoMaquinariaTxtBx.Enabled = true; tipoMaquinariaTxtBx.Text = solicitud.TipoMaquinaria; maquinariaUtilizarLbl.Text += "*"; } else { tipoMaquinariaTxtBx.Enabled = false; } explosivoChkBx.Checked = solicitud.Explosivos; licExplosivoTxtBx.Enabled = solicitud.Explosivos; licExplosivoTxtBx.Text = solicitud.LicenciaExplosivo; fechaExpiracionExplosivoTxtBx.Enabled = solicitud.Explosivos; //fechaExpiracionExplosivoTxtBx.Text = solicitud.FechaExpiracionExplosivo.ToShortDateString(); if (explosivoChkBx.Checked) { //tipoExplosivoTxtBx.Enabled = true; //tipoExplosivoTxtBx.Text = solicitud.TipoExplosivo; licExplosivoLbl.Text += "*"; fechaExpiracionExplosivoLbl.Text += "*"; fechaExpiracionExplosivoTxtBx.Text = solicitud.FechaExpiracionExplosivo.ToShortDateString(); } areaMarcadaChkBx.Checked = solicitud.AreaMarcada; //Es continua? if (solicitud.TipoExcavacion) { tipoExcavacionRBtnLst.SelectedIndex = 0; } else { tipoExcavacionRBtnLst.SelectedIndex = 1; } razonTxtBx.Text = solicitud.RazonTrabajos; profundidadPiesTxtBx.Text = solicitud.ProfundidadPies.ToString(); profundidadPulgadasDLL.SelectedIndex = solicitud.ProfundidadPulgadas; longitudPiesTxtBx.Text = solicitud.LongitudPies.ToString(); longitudPulgadasDDL.SelectedIndex = solicitud.LongitudPulgadas; coordenadasXTxtBx.Text = solicitud.CoordenadaX.ToString(); coordenadasYTxtBx.Text = solicitud.CoordenadaY.ToString(); enCasoEmergenciaTxtBx.Text = solicitud.EnCasoEmergencia; #endregion #endregion #region Poblar tabla averias //LinkedList<Averia> averias = new AveriasServicio().GetAverias(numeroControl, (int)SolicitudAviso.TiposExtensiones.Inicial); //averiasTxtBx.Text = averias.ElementAt(0).Titulo; //solicitud.Averias = averias; #endregion #region Poblar campos docs requeridos LinkedList<DocumentoRequerido> documentosRequeridos = new DocumentosRequeridosServicio().GetDocumentosAsociados(numeroControl, (int)SolicitudAviso.TiposExtensiones.Inicial); Session["docsRequeridos"] = documentosRequeridos; //User docs CreateDocReqCtrls(documentosRequeridos); solicitud.Documentos = documentosRequeridos; //Employee docs CreateDocAsociadosCtrl(documentosRequeridos); #region Build devolucion popUp if (solicitud.EstatusId.Equals((((int)SolicitudAviso.Estatus.PendienteDocumentosIncompletos).ToString()))) { if (user.Rol.ID == (int)Role.TipoRoles.Excavador) { coordinadorPoPupHeader.InnerText = "Razón por devolución"; coordinadorPopupBodyLbl.Text = string.Empty; if (solicitud.SolicitudStatusID == (int)SolicitudAviso.SolicitudStatuses.INCOMPLETO) coordinadorPopupBodyLbl.Text = string.Format("<b>Observaciones:</b> {0} <br />", solicitud.Observaciones); for (int i = 0; i < documentosRequeridos.Count; i++) { if (!string.IsNullOrEmpty(documentosRequeridos.ElementAt(i).Comentario)) coordinadorPopupBodyLbl.Text += string.Format("<b>{0}:</b> {1} <br />", documentosRequeridos.ElementAt(i).Nombre.Replace("_", " "), documentosRequeridos.ElementAt(i).Comentario); } ViewState["Redirect"] = true; coordinadorPopup.Show(); } } #endregion LinkedList<DropDownList> docAsociadosStatuses = (LinkedList<DropDownList>)Session["docAsociadosStatuses"]; #region Enable/ disable image controls foreach (var d in docAsociadosStatuses) { d.Enabled = solicitud.EstatusId.Equals(((int)SolicitudAviso.Estatus.PendienteRevisarCoordinador).ToString()); TextBox txtBx = (TextBox)docsAsociadosTableTag.FindControl(d.ID.Replace("DDL", "TxtBx")); if ((d.SelectedIndex != (int)DocumentoRequerido.Estatus.Completo && d.SelectedIndex != 0) && txtBx != null && (user.Rol.ID == (int)Role.TipoRoles.Excavador)) { txtBx.ReadOnly = true; } } #endregion #region Disable doc status validators if docs incomplete //Asi si el user cambia de tipo de aviso, no dan problemas esos validators LinkedList<RequiredFieldValidator> docAsociadosValidators = (LinkedList<RequiredFieldValidator>)Session["docAsociadosValidators"]; foreach (var v in docAsociadosValidators) { v.Enabled = solicitud.EstatusId.Equals(((int)SolicitudAviso.Estatus.PendienteRevisarCoordinador).ToString()); } #endregion #endregion #region poblar respuestas if (!solicitud.EstatusId.Equals(((int)SolicitudAviso.Estatus.PendienteRevisarCoordinador).ToString()) && !solicitud.EstatusId.Equals(((int)SolicitudAviso.Estatus.PendienteDocumentosIncompletos).ToString())) { Session["RespuestaVisibility"] = true; respuestasDiv.Visible = true; LinkedList<Respuesta> respuestas = new RespuestasServicio().GetRespuestasResumen(numeroControl, new SolicitudesInicialesServicio().GetOperadores()); Session["Respuesta"] = respuestas; SetRespuestasRowData(respuestas); } #endregion #region Poblar multas if (!solicitud.EstatusId.Equals(((int)SolicitudAviso.Estatus.PendienteRevisarCoordinador).ToString()) && !solicitud.EstatusId.Equals(((int)SolicitudAviso.Estatus.PendienteDocumentosIncompletos).ToString())) { multasDiv.Visible = true; multasGv.Visible = multasDiv.Visible; } #endregion #region Set visibilities(role) #region Display responsables de la solicitud //User currentUser = new SolicitudesInicialesServicio().GetUser(solicitud.Usuario.Id); User currentUser = new SolicitudesInicialesServicio().GetUser(solicitud.Usuario.Email); tramitadoLbl.Visible = true; tramitadoLbl.Text += string.Format(" {0}", solicitud.TramitadoPor); //solicitud.Coordinador.Id = 1; // only test if (!string.IsNullOrWhiteSpace(solicitud.Coordinador.Nombre)) { //Coordinador coordinador = new SolicitudesInicialesServicio().GetCoordinador(solicitud.Coordinador.Nombre); procesadoLbl.Visible = true; procesadoLbl.Text += string.Format(" {0}", solicitud.Coordinador.Nombre); //solicitud.Inspector.NumeroPlacaID = "001"; if (!string.IsNullOrWhiteSpace(solicitud.Inspector.Nombre)) { //Inspector inspector = new SolicitudesInicialesServicio().GetInspector(solicitud.Inspector.NumeroPlacaID); inspeccionLbl.Visible = true; inspeccionLbl.Text += string.Format(" {0}", solicitud.Inspector.Nombre); } } #endregion if (solicitud.EstatusId.Equals(((int)SolicitudAviso.Estatus.Inactiva).ToString()) || solicitud.EstatusId.Equals(((int)SolicitudAviso.Estatus.InspeccionCompletada).ToString()) || solicitud.EstatusId.Equals(((int)SolicitudAviso.Estatus.PendienteAsignarInspector).ToString()) || solicitud.EstatusId.Equals(((int)SolicitudAviso.Estatus.EnProcesoInspeccion).ToString()) || solicitud.EstatusId.Equals(((int)SolicitudAviso.Estatus.Eliminada).ToString())) { fechaComienzoDiv.Visible = true; fechaComienzoDiv2.Visible = true; fechaExpiracionDiv.Visible = true; fechaExpiracionDiv2.Visible = true; #region Setup certificacion btn if (!string.IsNullOrEmpty(solicitud.Coordinador.Nombre)) { certificacionBtn.Visible = true; certificacionBtn.OnClientClick = string.Format("window.open('/EXC/Certificaciones/Cert_{0}_Inicial.pdf','_blank')", solicitud.NumeroControl.NumControlText); } #endregion } #endregion #region Set visibilities fechaComienzoImgBtn.Visible = false; #endregion fechaComienzoPropuestoTxtBx.Enabled = false; /* * Para que no puedan cambiar de residente a excavacion si ya se guardo. * Esto evita error al update docs */ if (tipoAvisoRBtnLst.Items[2].Selected) { tipoAvisoRBtnLst.Items[0].Enabled = false; tipoAvisoRBtnLst.Items[1].Enabled = false; } else tipoAvisoRBtnLst.Items[2].Enabled = false; #endregion } } catch (Exception ex) { errorLbl2.InnerText = ex.Message; errorPopup.Show(); } } //tipo de aviso si hace postback else { #region OnPostBack if (maquinariaChkBx.Checked) { tipoMaquinariaTxtBx.Enabled = true; if (!maquinariaUtilizarLbl.Text.Contains("*")) { maquinariaUtilizarLbl.Text += "*"; } } else { tipoMaquinariaTxtBx.Enabled = false; maquinariaUtilizarLbl.Text = maquinariaUtilizarLbl.Text.Replace("*", string.Empty); } if (explosivoChkBx.Checked) { licExplosivoTxtBx.Enabled = true; fechaExpiracionExplosivoTxtBx.Enabled = true; if (!licExplosivoLbl.Text.Contains("*")) { licExplosivoLbl.Text += "*"; fechaExpiracionExplosivoLbl.Text += "*"; } } else { licExplosivoTxtBx.Enabled = false; fechaExpiracionExplosivoTxtBx.Enabled = false; licExplosivoLbl.Text = licExplosivoLbl.Text.Replace("*", string.Empty); fechaExpiracionExplosivoLbl.Text = fechaExpiracionExplosivoLbl.Text.Replace("*", string.Empty); } #region Set respuesta LinkedList<Respuesta> respuestas = (LinkedList<Respuesta>)Session["Respuesta"]; //= respuestas; if (respuestas != null) { SetRespuestasRowData(respuestas); } #endregion #region Set doc controls on postback LinkedList<DocumentoRequerido> docsRequeridos = (LinkedList<DocumentoRequerido>)Session["docsRequeridos"]; if (docsRequeridos != null) { CreateDocAsociadosCtrl(docsRequeridos); } #endregion #endregion } }
protected void Page_Load(object sender, EventArgs e) { User user = Session["UserObj"] == null ? new User() : (User)Session["UserObj"]; if (!user.Rol.VerPantallaInspecciones) { Response.Redirect("~/Default.aspx"); } var title = (HtmlGenericControl)Master.FindControl("pageTitleSpan"); title.InnerText = Title; //multasGV.DataBind(); if (!IsPostBack) { #region Set inspector info if (user.Rol.ID == (int)Role.TipoRoles.Inspector) { //ddlInspector.DataBind ddlInspector.Enabled = false; PlacaInspector.Enabled = false; LinkedList<Inspector> inspectores = new SolicitudesInicialesServicio().GetInspectores(); foreach (var i in inspectores) { if (i.Nombre.Contains(string.Format("{0} {1} {2}", user.Nombre, user.ApellidoPaterno, user.ApellidoMaterno))) { PlacaInspector.Text = i.NumeroPlacaID; //try //{ // ddlInspector.Items.FindByValue(i.Nombre).Selected = true; //} //catch (Exception) //{ // ddlInspector.Items.FindByValue(i.Nombre.ToLower()).Selected = true; //} break; } } } #endregion Session.Remove("ddlTipoInspeccion"); Calendar1.Visible = false; Calendar2.Visible = false; Calendar3.Visible = false; string[] imagePaths = Directory.GetFiles(Server.MapPath("~/Uploads/")); List<ListItem> imgs = new List<ListItem>(); foreach (string imagePath in imagePaths) { string imgName = Path.GetFileName(imagePath); imgs.Add(new ListItem(imgName, "~/Uploads/" + imgName)); } string cs = ConfigurationManager.ConnectionStrings["EXC"].ConnectionString; SqlConnection conn = new SqlConnection(cs); SqlCommand cmd = new SqlCommand(); SqlDataReader dr; cmd.CommandText = "SELECT ' ' + Operador AS OPE FROM Operadores ORDER BY Operador"; cmd.CommandType = CommandType.Text; cmd.Connection = conn; conn.Open(); dr = cmd.ExecuteReader(); conn.Close(); } else { #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>"; #region register scripts ClientScript.RegisterClientScriptBlock(GetType(), "Primera", script.Replace("@TITLE", imgViewFile.OnClientClick.Replace( ";", string.Empty)).Replace("@CONTROLID", imgViewFile.ClientID)); ClientScript.RegisterClientScriptBlock(GetType(), "Segunda", script.Replace("@TITLE", img2.OnClientClick.Replace( ";", string.Empty)).Replace("@CONTROLID", img2.ClientID)); ClientScript.RegisterClientScriptBlock(GetType(), "Tercera", script.Replace("@TITLE", img3.OnClientClick.Replace( ";", string.Empty)).Replace("@CONTROLID", img3.ClientID)); ClientScript.RegisterClientScriptBlock(GetType(), "Cuarta", script.Replace("@TITLE", img4.OnClientClick.Replace( ";", string.Empty)).Replace("@CONTROLID", img4.ClientID)); #endregion } #endregion } inspectorRFV.Enabled = true; municipioRFV.Enabled = true; }