public ActionResult CrearCarpeta(object datos) { try { var rutaOrigen = Request.Form["txtRutaOrigen"]; // \\14.240.4.203\Test\N_SD00037823\tomcat\opt\apache-tomcat-7.0.56\webapps // Obtener el 3er slash var indice = rutaOrigen.IndexOf("\\", 2); var rutaRestante = rutaOrigen.Substring(indice); var sr = new SistemaRepository(); var carpeta = sr.Obtener().FolderDML + rutaRestante; if (!Directory.Exists(carpeta)) { Directory.CreateDirectory(carpeta); return(View("Mensaje", new HomeView { Mensaje = "Se ha creado la carpeta " + rutaOrigen + " en el servidor." })); } else { return(View("Mensaje", new HomeView { Mensaje = "Ya existe la carpeta " + rutaOrigen + " en el servidor." })); } } catch (Exception ex) { return(View("Mensaje", new HomeView { Mensaje = ex.Message })); } throw new NotImplementedException(); }
public static void ProcesarArchivo(int id, HttpPostedFileBase archivo, int numeroArchivo) { SistemaRepository sr = new SistemaRepository(); if (archivo.InputStream.Length > 0) { string extension = archivo.FileName.Substring(archivo.FileName.LastIndexOf('.') + 1); if (extension == "xls" || extension == "xlsx" || extension == "xlsm") { string ruta = sr.Obtener().CopiarExcelA; archivo.SaveAs(ruta + "\\S" + id.ToString().PadLeft(6, '0') + "-" + numeroArchivo.ToString() + "." + extension); } } }
public ActionResult ActualizarSistema() { try { string primeraSolicitud = Request.Form["txtPrimeraSolicitud"]; string oracleDBUExtractConexion = Request.Form["txtOracleDBUExtractConexion"]; int estadoId = Convert.ToInt32(Request.Form["cboEstado"]); string carpetaTrabajo = Request.Form["txtCarpetaTrabajo"]; string correoCMS = Request.Form["txtCorreoCMS"]; string responderA = Request.Form["txtResponderA"]; string copiarExcelA = Request.Form["txtCopiarExcelA"]; string folderPre = Request.Form["txtFolderPre"]; string folderDML = Request.Form["txtFolderDML"]; string mensajeCrearSolicitud = Request.Form["txtMensajeCrearSolicitud"]; SistemaView sistemaView = new SistemaView(); SistemaRepository sr = new SistemaRepository(); EstadoRepository er = new EstadoRepository(); List <Estado> estados = er.Listar(); Sistema sistema = sr.Obtener(); sistema.PrimeraSolicitud = primeraSolicitud; sistema.OracleDBUExtractConexion = oracleDBUExtractConexion; sistema.Estado = new Estado { Id = estadoId }; sistema.CarpetaTrabajo = carpetaTrabajo; sistema.CorreoCMS = correoCMS; sistema.ResponderA = responderA; sistema.CopiarExcelA = copiarExcelA; sistema.FolderPre = folderPre; sistema.FolderDML = folderDML; sistema.MensajeCrearSolicitud = mensajeCrearSolicitud; sr.Actualizar(sistema); sistemaView.Sistema = sistema; sistemaView.Mensaje = "Datos Actualizados"; sistemaView.Estados = estados; return(RedirectToAction("ObtenerSistema", new { mensaje = sistemaView.Mensaje })); } catch (Exception ex) { return(View("Mensaje", new HomeView { Mensaje = ex.Message })); } }
public ActionResult RecuperarClave(string id) { try { SistemaRepository sr = new SistemaRepository(); UsuarioView uv = new UsuarioView(); UsuarioRepository ur = new UsuarioRepository(); string nombreUsuario = Request.Form["txtUsuario"]; Usuario u = ur.Obtener(nombreUsuario); if (u == null) { uv.Mensaje = "El usuario especificado no existe en el sistema."; } else { string correo = u.Correo; string token = Guid.NewGuid().ToString(); if (ur.ActualizarToken(u.Id, token)) { SmtpClient client = new SmtpClient(); string correoCMS = sr.Obtener().CorreoCMS; MailAddress maDesde = new MailAddress(correoCMS, "Configuration Management System"); MailMessage mm = new MailMessage(); mm.From = maDesde; mm.To.Add(u.Correo); mm.Subject = "Recuperación de Clave"; mm.IsBodyHtml = true; StringBuilder sb = new StringBuilder(); string url = Url.Action("ResetearClave", "Usuario", null, Request.Url.Scheme, null); sb.Append("Para recuperar su clave por favor haga click en el siguiente vínculo<br>"); sb.Append("<a href='" + url + "/" + token + "'>Recuperar clave</a>"); mm.Body = sb.ToString(); client.Send(mm); uv.Mensaje = "Se ha enviado a su correo (" + correo + ") un mensaje de recuperación de clave."; } else { uv.Mensaje = "El usuario especificado no existe en el sistema."; } } return(View("Mensaje", uv)); } catch (Exception ex) { return(View("Mensaje", ex.Message)); } }
public static void ProcesarArchivo(int id, Archivo archivo, int numeroArchivo) { SistemaRepository sr = new SistemaRepository(); if (archivo.Contenido.Length > 0) { string extension = archivo.Nombre.Substring(archivo.Nombre.LastIndexOf('.') + 1); if (extension == "xls" || extension == "xlsx" || extension == "xlsm") { string ruta = sr.Obtener().CopiarExcelA; FileStream fs = new FileStream(ruta + "\\S" + id.ToString().PadLeft(6, '0') + "-" + numeroArchivo.ToString() + "." + extension, FileMode.Create, FileAccess.Write); fs.Write(archivo.Contenido, 0, archivo.Contenido.Length); fs.Flush(); fs.Close(); } } }
public ActionResult ObtenerSistema(string mensaje) { try { SistemaView sistemaView = new SistemaView(); SistemaRepository sr = new SistemaRepository(); EstadoRepository er = new EstadoRepository(); List <Estado> estados = er.Listar(); Sistema sistema = sr.Obtener(); sistemaView.Sistema = sistema; sistemaView.Mensaje = mensaje; sistemaView.Estados = estados; return(View("ObtenerSistema", sistemaView)); } catch (Exception ex) { return(View("Mensaje", new HomeView { Mensaje = ex.Message })); } }
public ActionResult Crear(UsuarioView UsuarioView) { try { SistemaRepository sr = new SistemaRepository(); string usuarioUsuario = Request.Form["txtUsuarioUsuario"]; string correoUsuario = Request.Form["txtCorreoUsuario"]; string claveUsuario = Request.Form["txtClaveUsuario"]; string celular = Request.Form["txtCelular"]; string anexo = Request.Form["txtAnexo"]; string skype = Request.Form["txtSkype"]; bool administrador = EvaluarCheckBox("chkAdministradorUsuario"); bool operador = EvaluarCheckBox("chkOperadorUsuario"); bool lector = EvaluarCheckBox("chkLectorUsuario"); bool cm = EvaluarCheckBox("chkCMUsuario"); bool rm = EvaluarCheckBox("chkRMUsuario"); bool ejecutor = EvaluarCheckBox("chkEjecutorUsuario"); bool test = EvaluarCheckBox("chkTestUsuario"); #region Verificar is ya existe el código del Usuario UsuarioRepository pr = new UsuarioRepository(); Usuario p = pr.Obtener(usuarioUsuario.Trim()); if (p != null) { UsuarioView.Usuario.Nombre = usuarioUsuario; UsuarioView.Usuario.Correo = correoUsuario; UsuarioView.Usuario.Clave = Encriptador.EncriptarMD5(claveUsuario); UsuarioView.Usuario.Administrador = administrador; UsuarioView.Usuario.Operador = operador; UsuarioView.Usuario.Lector = lector; UsuarioView.Usuario.CM = cm; UsuarioView.Usuario.RM = rm; UsuarioView.Usuario.Ejecutor = ejecutor; UsuarioView.Usuario.Test = test; UsuarioView.Usuario.Celular = celular; UsuarioView.Usuario.Anexo = anexo; UsuarioView.Usuario.Skype = skype; UsuarioView.Mensaje = "El nombre del Usuario ya existe"; return(View("Crear", UsuarioView)); } else { p = new Usuario(); p.Nombre = usuarioUsuario; p.Correo = correoUsuario; p.Clave = Encriptador.EncriptarMD5(claveUsuario); p.Administrador = administrador; p.Operador = operador; p.Lector = lector; p.CM = cm; p.RM = rm; p.Ejecutor = ejecutor; p.Test = test; p.Celular = celular; p.Anexo = anexo; p.Skype = skype; p = pr.Actualizar(p); if (p.Id == 0) { UsuarioView.Mensaje = "Hubo un error al crear el Usuario"; return(View("Crear", UsuarioView)); } if (Request.Form["chkEnviarCorreo"] == "on") { SmtpClient client = new SmtpClient(); MailMessage mm = new MailMessage(); string correoCMS = sr.Obtener().CorreoCMS; mm.From = new MailAddress(correoCMS, "Configuration Management System"); mm.To.Add(p.Correo); mm.Subject = "Credenciales de acceso al CMS"; mm.IsBodyHtml = true; StringBuilder sb = new StringBuilder(); sb.Append("<p>Estas son sus credenciales de acceso al CMS</p>"); sb.Append("<p>Usuario: " + p.Nombre + "</p>"); sb.Append("<p>Clave: " + claveUsuario + "</p>"); string url = string.Format("{0}://{1}{2}", Request.Url.Scheme, Request.Url.Authority, Url.Content("~")); sb.Append("<p>Ruta CMS: <a href='" + url + "'>" + url + "</a></p>"); mm.Body = sb.ToString(); client.Send(mm); } } #endregion UsuarioView pp = new UsuarioView(); pp.Mensaje = "Usuario Creado"; return(View("Crear", pp)); } catch (Exception ex) { return(View("Mensaje", new UsuarioView { Mensaje = ex.Message })); } }
public static void EnviarCorreo(Solicitud[] solicitudes, string asunto, string cuerpo, bool incluirSolicitante, bool incluirAnalistaDes, bool incluirAnalistaTest, bool incluirCopiados, bool incluirRMs, bool incluirCMs, bool incluirEjecutores, bool incluirAdicional) { try { SistemaRepository sr = new SistemaRepository(); SmtpClient client = new SmtpClient(); string correoCMS = sr.Obtener().CorreoCMS; MailAddress maDesde = new MailAddress(correoCMS, "Configuration Management System"); UsuarioRepository ur = new UsuarioRepository(); MailAddressCollection mailsTo = new MailAddressCollection(); MailAddressCollection mailsCc = new MailAddressCollection(); MailAddressCollection mailsBcc = new MailAddressCollection(); if (incluirRMs) { List <Usuario> rms = ur.Listar(String.Empty, String.Empty, false, false, false, false, true, false, false); foreach (Usuario rm in rms) { if (!String.IsNullOrEmpty(rm.Correo)) { mailsBcc = IncluirCorreo(new MailAddress(rm.Correo), mailsBcc); } } } if (incluirCMs) { List <Usuario> cms = ur.Listar(String.Empty, String.Empty, false, false, false, true, false, false, false); foreach (Usuario cm in cms) { if (!String.IsNullOrEmpty(cm.Correo)) { mailsBcc = IncluirCorreo(new MailAddress(cm.Correo), mailsBcc); } } } foreach (Solicitud s in solicitudes) { if (incluirSolicitante) { if (!String.IsNullOrEmpty(s.Solicitante.Correo)) { mailsCc = IncluirCorreo(new MailAddress(s.Solicitante.Correo), mailsCc); } } if (incluirAnalistaDes) { if (!String.IsNullOrEmpty(s.AnalistaDesarrollo)) { mailsCc = IncluirCorreo(new MailAddress(s.AnalistaDesarrollo), mailsCc); } } if (incluirAnalistaTest) { Area[] areas = Util.ObtenerAreas(s); bool enviarAnalista = false; foreach (Area area in areas) { if (area.Correos.Count == 0 && area.Id > 0) { enviarAnalista = true; break; } } if (!String.IsNullOrEmpty(s.AnalistaTestProd)) { if (enviarAnalista) { mailsTo = IncluirCorreo(new MailAddress(s.AnalistaTestProd), mailsTo); } else { mailsCc = IncluirCorreo(new MailAddress(s.AnalistaTestProd), mailsCc); } } } if (incluirCopiados) { string[] copiados = s.CopiarA.Split(new char[] { ';' }); foreach (string copia in copiados) { if (!String.IsNullOrEmpty(copia)) { mailsCc = IncluirCorreo(new MailAddress(copia), mailsCc); } } } if (incluirEjecutores) { MailAddressCollection correos = ObtenerCorreoEjecutores(s); foreach (MailAddress correo in correos) { mailsTo = IncluirCorreo(correo, mailsTo); } } if (s.Ambiente.EnvioPrimeraSolicitud && Util.EsPrimerEnvio(s)) { string[] correos = sr.Obtener().PrimeraSolicitud.Split(new char[] { ';' }); foreach (string correo in correos) { if (!String.IsNullOrEmpty(correo)) { mailsBcc = IncluirCorreo(new MailAddress(correo), mailsBcc); } } } #region Se incluyen correos configurados a nivel de proyecto var pr = new ProyectoRepository(); var proyectocorreos = pr.ListarCorreo(s.Proyecto); foreach (var cor in proyectocorreos) { mailsCc = IncluirCorreo(new MailAddress(cor.Direccion), mailsCc); } #endregion } if (incluirAdicional) { if (solicitudes.Count() > 0) { Ambiente ambiente = solicitudes[0].Ambiente; AmbienteRepository ar = new AmbienteRepository(); List <Correo> correos = ar.ListarCorreos(ambiente.Id); foreach (Correo correo in correos) { if (!String.IsNullOrEmpty(correo.Direccion)) { mailsBcc = IncluirCorreo(new MailAddress(correo.Direccion), mailsBcc); } } } } MailMessage mm = new MailMessage(); mm.From = maDesde; mm.ReplyToList.Add(sr.Obtener().ResponderA); foreach (MailAddress mail in mailsTo) { mm.To.Add(mail); } foreach (MailAddress mail in mailsCc) { mm.CC.Add(mail); } foreach (MailAddress mail in mailsBcc) { mm.Bcc.Add(mail); } mm.Subject = asunto; mm.Body = cuerpo; mm.IsBodyHtml = true; if (solicitudes.Count() == 1 && solicitudes[0].Emergente) { mm.Priority = MailPriority.High; } client.Send(mm); } catch { throw; } }