public EDEmpresas ObtenerLogoEmpresa(string nitempresa) { EDEmpresas logoempresa = new EDEmpresas(); //var EditFres = null; using (SG_SSTContext context = new SG_SSTContext()) { using (var Transaction = context.Database.BeginTransaction()) { RegistraLog registraLog = new RegistraLog(); try { logoempresa = (from e in context.Tbl_Empresa where e.Nit_Empresa == nitempresa select new EDEmpresas { NombreArchivo = e.Logo_Empresa, }).FirstOrDefault(); } catch (Exception ex) { registraLog.RegistrarError(typeof(EmpresaManager), string.Format("Error al obtener la información {0}: {1}", DateTime.Now, ex.StackTrace), ex); Transaction.Rollback(); return(null); } } return(logoempresa); } }
/// <summary> /// Metodo para cargar el Logo de la Empresa. /// </summary> /// <param name="archivo"></param> /// <param name="idEmpresa"></param> /// <returns></returns> public ActionResult AgregarAdjunto(HttpPostedFileBase archivo, int idEmpresa) { var usuarioActual = ObtenerUsuarioEnSesion(System.Web.HttpContext.Current); if (usuarioActual == null) { ViewBag.mensaje = "Debe Registrarse para Ingresar a este Modulo."; return(RedirectToAction("Login", "Home")); } if (ModelState.IsValid) { if (archivo != null) { var Logo = new EDEmpresas() { NombreArchivo = idEmpresa + "_Logo_" + archivo.FileName, Id_Empresa = idEmpresa, }; if (archivo != null && Path.GetExtension(archivo.FileName).ToLower() == ".jpg" || Path.GetExtension(archivo.FileName).ToLower() == ".png") { ServiceClient.EliminarParametros(); var resultlogo = ServiceClient.RealizarPeticionesPostJsonRestFul <EDEmpresas>(urlServicioEmpresas, GuardarLogoEmpresa, Logo); if (resultlogo != null) { var img = Path.Combine(Server.MapPath(logoEmpresa), usuarioActual.IdEmpresa + "_Logo_" + archivo.FileName); Image imgRe = RedimensionarImagen(archivo.InputStream); imgRe.Save(img); return(Json(new { Data = resultlogo, Mensaje = "OK" }, JsonRequestBehavior.AllowGet)); } else { return(Json(new { Data = string.Empty, Mensaje = "ERROR" }, JsonRequestBehavior.AllowGet)); } } else { return(Json(new { Data = string.Empty, Mensaje = "ERRORTIPO" }, JsonRequestBehavior.AllowGet)); } } else { return(Json(new { Data = string.Empty, Mensaje = "ERRORVACIO" }, JsonRequestBehavior.AllowGet)); } } else { return(Json(new { Data = string.Empty, Mensaje = "ERROR" }, JsonRequestBehavior.AllowGet)); } }
public EDEmpresas GuardarEmpresaYSusRelaciones(EDEmpresas empresas) { EDEmpresas mp = em.GuardarEmpresaYSusRelaciones(empresas); if (mp.Id_Empresa > 0) { return(mp); } else { return(null); } //return em.GuardarEmpresa(empresas); }
public EDEmpresas ValidarExitenciaEmpresa(string tipoDoc, string numDoc) { EDEmpresas empresa = null; using (SG_SSTContext context = new SG_SSTContext()) { empresa = context.Tbl_Empresa.Where(emp => emp.Tipo_Documento.Equals(tipoDoc) && emp.Nit_Empresa.Equals(numDoc)).Select(emp => new EDEmpresas() { Id_Empresa = emp.Pk_Id_Empresa, Tipo_Documento = emp.Tipo_Documento, Razon_Social = emp.Razon_Social }).FirstOrDefault(); if (empresa != null) { return(empresa); } } return(empresa); }
public EDEmpresas GuardarLogoEmpresa(EDEmpresas logo) { var Logo = logo.Id_Empresa; using (SG_SSTContext context = new SG_SSTContext()) { using (var Transaction = context.Database.BeginTransaction()) { RegistraLog registraLog = new RegistraLog(); try { Empresa edit = new Empresa(); edit = (from ar in context.Tbl_Empresa where ar.Pk_Id_Empresa == Logo select ar).FirstOrDefault(); if (edit != null & edit.Logo_Empresa != null) { edit.Logo_Empresa = logo.NombreArchivo; context.Entry(edit).State = EntityState.Modified; } else { edit.Logo_Empresa = logo.NombreArchivo; //context.Tbl_Empresa.Add(edit.Logo_Empresa); } context.SaveChanges(); Transaction.Commit(); return(logo); } catch (Exception ex) { registraLog.RegistrarError(typeof(EmpresaManager), string.Format("Error al registrar la Modificacion de la Condicion Insegura {0}: {1}", DateTime.Now, ex.StackTrace), ex); Transaction.Rollback(); return(null); } } } }
public HttpResponseMessage GuardarLogoEmpresa(EDEmpresas logo) { try { var logica = new LNEmpresa(); var result = logica.GuardarLogoEmpresa(logo); if (result != null) { var response = Request.CreateResponse <EDEmpresas>(HttpStatusCode.Created, result); return(response); } else { var response = Request.CreateResponse(HttpStatusCode.ExpectationFailed); return(response); } } catch (Exception ex) { var response = Request.CreateResponse(HttpStatusCode.InternalServerError); return(response); } }
public HttpResponseMessage GrabarEmpresa(EDEmpresas empresa) { try { LNEmpresa logicas = new LNEmpresa(); var resultado = logicas.GuardarEmpresaYSusRelaciones(empresa); if (resultado != null) { var response = Request.CreateResponse <EDEmpresas>(HttpStatusCode.Created, resultado); return(response); } else { var response = Request.CreateResponse(HttpStatusCode.ExpectationFailed); return(response); } } catch (Exception ex) { var response = Request.CreateResponse(HttpStatusCode.InternalServerError); return(response); } }
public static EDEmpresas ObtenerEmpresasSiarp(string tid, string nid) { var datos = string.Empty; EDEmpresas resultado = null; var cliente = new RestSharp.RestClient(ConfigurationManager.AppSettings["Url"]); var request = new RestRequest(ConfigurationManager.AppSettings["consultaEmpresa"], RestSharp.Method.GET); request.RequestFormat = DataFormat.Xml; request.Parameters.Clear(); request.AddParameter("tpDoc", tid); request.AddParameter("doc", nid); request.AddParameter("color", "orange"); request.AddHeader("Content-Type", "application/json"); request.AddHeader("Accept", "application/json"); //se omite la validación de certificado de SSL ServicePointManager.ServerCertificateValidationCallback = delegate { return(true); }; IRestResponse <List <EmpresaSiarpDTO> > response = cliente.Execute <List <EmpresaSiarpDTO> >(request); var result = response.Content; var empresas = Newtonsoft.Json.JsonConvert.DeserializeObject <List <EmpresaSiarpDTO> >(result); if (empresas != null && empresas.Count > 0) { var respuesta = empresas.Find(e => e.estado.ToUpper().Equals("ACTIVA")); if (respuesta == null) { return(null); } int _fax = 0; int _telefono = 0; if (respuesta.faxEmpresa == null || string.IsNullOrEmpty(respuesta.faxEmpresa)) { _fax = 0; } else if (respuesta.faxEmpresa.Length > 7) { _fax = Convert.ToInt32(respuesta.faxEmpresa.Substring(0, 6)); } else { _fax = Convert.ToInt32(respuesta.faxEmpresa); } if (respuesta.telefonoEmpresa == null || string.IsNullOrEmpty(respuesta.telefonoEmpresa)) { _telefono = 0; } else if (respuesta.telefonoEmpresa.Length > 7) { _telefono = Convert.ToInt32(respuesta.telefonoEmpresa.Substring(0, 6)); } else { _telefono = Convert.ToInt32(respuesta.telefonoEmpresa); } if (respuesta.idDepartamento.Length == 1) { respuesta.idDepartamento = string.Format("0{0}", respuesta.idDepartamento); } if (respuesta.idMunicipio.Length == 1) { respuesta.idMunicipio = string.Format("00{0}", respuesta.idMunicipio); } else if (respuesta.idMunicipio.Length == 2) { respuesta.idMunicipio = string.Format("0{0}", respuesta.idMunicipio); } resultado = new EDEmpresas() { Razon_Social = string.IsNullOrEmpty(respuesta.razonSocial) ? "" : respuesta.razonSocial, Nit_Empresa = string.IsNullOrEmpty(respuesta.idEmpresa) ? "" : respuesta.idEmpresa, Codigo_Actividad = string.IsNullOrEmpty(respuesta.actividadEconomica) ? 0 : Convert.ToInt32(respuesta.actividadEconomica), Tipo_Documento = respuesta.tipoDoc, Telefono = _telefono, Fax = _fax, Identificacion_Representante = string.IsNullOrEmpty(respuesta.idRepresentanteLegal) ? 0 : int.Parse(respuesta.idRepresentanteLegal), IdSeccional = string.IsNullOrEmpty(respuesta.idSeccional) ? 0 : Convert.ToInt32(respuesta.idSeccional), IdSectorEconomico = string.IsNullOrEmpty(respuesta.idSectorEconomico) ? 0 : int.Parse(respuesta.idSectorEconomico), Riesgo = string.IsNullOrEmpty(respuesta.riesgo) ? 0 : Convert.ToInt32(respuesta.riesgo), Fecha_Vigencia_Actual = string.IsNullOrEmpty(respuesta.fecAfiliaEfectiva) ? "" : respuesta.fecAfiliaEfectiva, Flg_Estado = string.IsNullOrEmpty(respuesta.estado) ? "" : respuesta.estado, Zona = respuesta.zona, SitioWeb = string.IsNullOrEmpty(respuesta.paginaWeb) ? string.Empty : respuesta.paginaWeb, Total_Empleados = string.IsNullOrEmpty(respuesta.numeroDeTrabajadores) ? 0 : Convert.ToInt32(respuesta.numeroDeTrabajadores), Direccion = string.IsNullOrEmpty(respuesta.direccionEmpresa) ? "" : respuesta.direccionEmpresa, Descripcion_Actividad = string.IsNullOrEmpty(respuesta.nomActEconomico) ? "" : respuesta.nomActEconomico, Email = string.IsNullOrEmpty(respuesta.emailEmpresa) ? "" : respuesta.emailEmpresa, Departamento = new EDDepartamento() { Codigo_Departamento = respuesta.idDepartamento, Nombre_Departamento = respuesta.departamento }, Municipio = new EDMunicipio() { CodigoMunicipio = respuesta.idMunicipio, NombreMunicipio = respuesta.municipio } }; } return(resultado); }
public ActionResult Create(GrabarEmpresaModel GbrEmpresa, Sede sede, SedeMunicipio sedeMunicipio) { var usuarioActual = ObtenerUsuarioEnSesion(System.Web.HttpContext.Current); if (usuarioActual == null) { ViewBag.Mensaje = "Debe estar autenticado para continuar."; return(RedirectToAction("Login", "Home")); } if (ModelState.IsValid) { var empresas = db.Tbl_Empresa.Where(e => e.Pk_Id_Empresa == usuarioActual.IdEmpresa & e.Nit_Empresa.Equals(GbrEmpresa.Nit_Empresa)).FirstOrDefault(); if (empresas != null) { ViewBag.mensaje1 = "La Empresa ya se encuentra registrada"; } else { var empresaEvaluar = new EDEmpresas() { Razon_Social = GbrEmpresa.Razon_Social, Nit_Empresa = GbrEmpresa.Nit_Empresa, Codigo_Actividad = Convert.ToInt32(GbrEmpresa.Codigo_Actividad), Tipo_Documento = GbrEmpresa.Tipo_Documento, Telefono = GbrEmpresa.Telefono, Fax = GbrEmpresa.Fax, Identificacion_Representante = GbrEmpresa.Identificacion_Representante, IdSeccional = GbrEmpresa.Id_Seccional, IdSectorEconomico = GbrEmpresa.Id_SectorEconomico, Riesgo = GbrEmpresa.Riesgo, Fecha_Vigencia_Actual = GbrEmpresa.Fecha_Vigencia_Actual, Flg_Estado = GbrEmpresa.Flg_Estado, Zona = GbrEmpresa.Zona, SitioWeb = GbrEmpresa.Sitio_Web, Total_Empleados = GbrEmpresa.Total_Empleados, Direccion = GbrEmpresa.Direccion, Descripcion_Actividad = GbrEmpresa.Descripcion_Actividad, Email = GbrEmpresa.Email, }; ServiceClient.EliminarParametros(); var result = ServiceClient.RealizarPeticionesPostJsonRestFul <EDEmpresas>(urlServicioEmpresas, CapacidadGuardarEmpresa, empresaEvaluar); if (result != null) { using (SG_SSTContext datos = new SG_SSTContext()) { var empresa = new EDEmpresas(); sede.SedeMunicipios = new List <SedeMunicipio>(); sede.SedeMunicipios.Add(sedeMunicipio); sede.Nombre_Sede = "Principal"; bool respuestaGuardado = rolPorResponsabilidadServicio.CrearRolYResponsabilidadesPreestablecidos(result.Id_Empresa); ViewBag.respuestaGuardado = respuestaGuardado; var busca = datos.Tbl_Empresa.Where(e => e.Pk_Id_Empresa > 0 & e.Pk_Id_Empresa == usuarioActual.IdEmpresa); ViewBag.mensaje = "Empresa " + GbrEmpresa.Razon_Social + " Almacenada Correctamente."; return(View("Index", busca.ToList())); } } else { using (SG_SSTContext datos = new SG_SSTContext()) { var busca = datos.Tbl_Empresa.Where(e => e.Pk_Id_Empresa > 0 & e.Pk_Id_Empresa == usuarioActual.IdEmpresa); ViewBag.mensaje1 = "El Registro no se pudo Realizar."; return(View("Index", busca.ToList())); } } } } else { using (SG_SSTContext datos = new SG_SSTContext()) { var busca = datos.Tbl_Empresa.Where(e => e.Pk_Id_Empresa > 0 & e.Pk_Id_Empresa == usuarioActual.IdEmpresa); ViewBag.mensaje1 = "Alerta: Se presento un error en la transacción."; return(View("Index", busca.ToList())); } } return(View("Index")); }
//public EDEmpresas modificarEmpresa(int Pk_Id_Empresa) //{ // return em.modificarEmpresa(Pk_Id_Empresa); //} public EDEmpresas GuardarLogoEmpresa(EDEmpresas logo) { return(em.GuardarLogoEmpresa(logo)); }
/// <summary> /// Registra la información de una nueva empresa, sus roles, sede principal, /// responsabilidades y rendición de cuentas /// </summary> /// <param name="empresa"></param> /// <returns></returns> public EDEmpresas GuardarEmpresaYSusRelaciones(EDEmpresas empresa) { using (SG_SSTContext context = new SG_SSTContext()) { using (var Transaction = context.Database.BeginTransaction()) { try { //se registra en base de datos la nueva empresa Empresa empre = new Empresa() { Pk_Id_Empresa = empresa.Id_Empresa, Nit_Empresa = empresa.Nit_Empresa, Tipo_Documento = empresa.Tipo_Documento, Identificacion_Representante = empresa.Identificacion_Representante, Razon_Social = empresa.Razon_Social, Direccion = empresa.Direccion, Telefono = empresa.Telefono, Fax = empresa.Fax, Riesgo = empresa.Riesgo, Total_Empleados = empresa.Total_Empleados, ID_Seccional = empresa.IdSeccional, ID_Sector_Economico = empresa.IdSectorEconomico, Email = empresa.Email == null ? "" : empresa.Email.ToLower(), Sitio_Web = empresa.SitioWeb, Codigo_Actividad = empresa.Codigo_Actividad, Fecha_Vigencia_Actual = empresa.Fecha_Vigencia_Actual, Flg_Estado = empresa.Flg_Estado, Zona = empresa.Zona, Descripcion_Actividad = empresa.Descripcion_Actividad }; context.Tbl_Empresa.Add(empre); context.SaveChanges(); //se obtienen los roles base asociados a la empresa. var listaRoles = context.Tbl_RolesBase.Select(r => r).ToList(); //var nombreParametro = Enumeraciones.EnumAdministracionUsuarios.ParametrosSistemaPorNombre.RolesBaseEmpresa; //var rolesEmpresa = context.Tbl_ParametrosSistema.Where(ps => ps.NombreParametro.Equals(nombreParametro)).Select(ps => ps.Valor).FirstOrDefault(); //se obtienen los roles base que deben estar asociados a una nueva empresa //var roles = (from rol in context.Tbl_Rol // join rc in context.Tbl_Responsabilidades_Por_Rol on rol.Pk_Id_Rol equals rc.Fk_Id_Rol // join rcr in context.Tbl_Rendicion_Cuenta_Por_Rol on rol.Pk_Id_Rol equals rcr.Fk_Id_Rol // group rol by new { rol.Descripcion } into grpRol // select new // { // NombreRol = grpRol.Key.Descripcion, // }).ToList(); if (listaRoles != null && listaRoles.Count > 0) { //para cada rol base obtenido se registran las responsabilidades //y las rendiciones de cuentas asociadas a cada rol foreach (var rol in listaRoles) { //var rolRespoRenCuent = context.Tbl_Rol.Where(r => r.Descripcion.Equals(rol)).FirstOrDefault(); //se obtiene el listado de responsabilidades asociadas a cada rol var responsRol = (from rsp in context.Tbl_ResponsabilidadesBase join rspr in context.Tbl_Roles_Por_ResponsabilidadesBase on rsp.Pk_Id_ResponsabilidadesBase equals rspr.Fk_Id_ResponsabilidadesBase where rspr.Fk_Id_RolesBase == rol.Pk_Id_RolesBase select rsp).ToList(); //se obtiene el listado de rendición de cuentas asociadas a cada rol var rendCuentasRol = (from rc in context.Tbl_RendicionDeCuentasBase join rcr in context.Tbl_Roles_Por_RendicionDeCuentasBase on rc.Pk_Id_RendicionDeCuentasBase equals rcr.Fk_Id_RendicionDeCuentasBase where rcr.Fk_Id_RolesBase == rol.Pk_Id_RolesBase select rc).ToList(); var nuevoRol = new Rol() { Descripcion = rol.Descripcion, Fk_Id_Empresa = empre.Pk_Id_Empresa }; context.Tbl_Rol.Add(nuevoRol); context.SaveChanges(); List <Responsabilidades> respons = new List <Responsabilidades>(); foreach (var rpr in responsRol) { var resp = new Responsabilidades(); resp.ResponsabilidadesPorRoles = new List <ResponsabilidadesPorRol>(); ResponsabilidadesPorRol rxrol = new ResponsabilidadesPorRol(); resp.Descripcion = rpr.Descripcion; rxrol.Rol = nuevoRol; resp.ResponsabilidadesPorRoles.Add(rxrol); respons.Add(resp); } context.Tbl_Responsabilidades.AddRange(respons); List <RendicionDeCuentas> rendic = new List <RendicionDeCuentas>(); foreach (var rcpr in rendCuentasRol) { RendicionDeCuentas rend = new RendicionDeCuentas(); rend.RendicionDeCuentasPorRoles = new List <RendicionDeCuentasPorRol>(); RendicionDeCuentasPorRol rdxrol = new RendicionDeCuentasPorRol(); rend.Descripcion = rcpr.Descripcion; rdxrol.Rol = nuevoRol; rend.RendicionDeCuentasPorRoles.Add(rdxrol); rendic.Add(rend); } context.Tbl_RendicionDeCuentas.AddRange(rendic); } context.SaveChanges(); } //se registra en base de datos la nueva sede principal Sede nuevaSede = new Sede() { Fk_Id_Empresa = empre.Pk_Id_Empresa, Nombre_Sede = "Principal", Direccion_Sede = empre.Direccion, Sector = "Urbano" }; context.Tbl_Sede.Add(nuevaSede); context.SaveChanges(); //se consulta y se guarda la relación de la sede principal con el municipio var codMunicipio = empresa.Municipio.CodigoMunicipio; var codDepartamento = empresa.Departamento.Codigo_Departamento; var idMunicipio = (from m in context.Tbl_Municipio join d in context.Tbl_Departamento on m.Fk_Nombre_Departamento equals d.Pk_Id_Departamento where m.Codigo_Municipio.Equals(codMunicipio) && d.Codigo_Departamento.Equals(codDepartamento) select m.Pk_Id_Municipio).FirstOrDefault(); SedeMunicipio nuevaSedeMun = new SedeMunicipio() { Fk_id_Sede = nuevaSede.Pk_Id_Sede, Fk_Id_Municipio = idMunicipio }; context.Tbl_SedeMunicipio.Add(nuevaSedeMun); //se guarda la relación de la cede con su centro de trabajo //(Actividad económica) CentroTrabajo nuevoCentTrab = new CentroTrabajo { Fk_Id_Sede = nuevaSede.Pk_Id_Sede, ID_Centro = 1, Numero_Trabajadores = 0, Codigo_Actividad = empre.Codigo_Actividad, Descripcion_Actividad = empre.Descripcion_Actividad }; context.Tbl_Centro_de_Trabajo.Add(nuevoCentTrab); context.SaveChanges(); Transaction.Commit(); empresa.Id_Empresa = empre.Pk_Id_Empresa; } catch (Exception e) { Transaction.Rollback(); return(empresa); } } } return(empresa); }