예제 #1
0
 // este método se ejecutará de manera asíncrona.
 public string LaunchEmpresa(out int threadId)
 {
     threadId = Thread.CurrentThread.ManagedThreadId;
     // abrir conexiones 
     PortalProContext ctx = new PortalProContext();
     string strConnect = ConfigurationManager.ConnectionStrings["PortalProTestConnection"].ConnectionString;
     SqlConnection con = new SqlConnection(strConnect);
     con.Open();
     string sql = "SELECT COUNT(*) FROM [PortalProTest].[dbo].[Cau_PortalPro_VEmpresas]";
     SqlCommand cmd = new SqlCommand(sql, con);
     int totreg = (int)cmd.ExecuteScalar();
     int numreg = 0;
     sql = @"SELECT  
                 [IDEMPRESA]
                 ,[NOMBRE]
             FROM [PortalProTest].[dbo].[Cau_PortalPro_VEmpresas]";
     cmd = new SqlCommand(sql, con);
     SqlDataReader dr = cmd.ExecuteReader();
     while (dr.Read())
     {
         numreg++;
         string codax = dr.GetString(0);
         // Buscamos si esa empresa existe
         Empresa emp2 = (from e2 in ctx.Empresas
                         where e2.CodAx == codax
                         select e2).FirstOrDefault<Empresa>();
         if (emp2 == null)
         {
             emp2 = new Empresa();
             ctx.Add(emp2);
         }
         emp2.CodAx = codax;
         emp2.Nombre = dr.GetString(1);
         ctx.SaveChanges();
         // Actualizar los registros de proceso
         Progresos progreso = (from p in ctx.Progresos
                               where p.ProgresoId == 1
                               select p).FirstOrDefault<Progresos>();
         if (progreso != null)
         {
             progreso.NumReg = numreg;
             progreso.TotReg = totreg;
             ctx.SaveChanges();
         }
     }
     dr.Close();
     ctx.Dispose();
     con.Close();
     con.Dispose();
     return "";
 }
예제 #2
0
 /// <summary>
 /// Crear un nuevo Empresas
 /// </summary>
 /// <param name="empresa">Objeto a crear, el atributo EmpresaId lo genera la aplicación y es devuelto en el objeto incluido en la respuesta.</param>
 /// <param name="tk"> Tique de autorzación (se debe obtener con la accion Login)</param>
 /// <returns></returns>
 public virtual Empresa Post(Empresa empresa, string tk)
 {
     using (PortalProContext ctx = new PortalProContext())
     {
         // comprobar el tique
         if (!CntWebApiSeguridad.CheckTicket(tk,ctx))
         {
             throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.Unauthorized, "Se necesita tique de autorización (Empresas)"));
         }
         // comprobar las precondiciones
         if (empresa == null)
         {
             throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.BadRequest));
         }
         // dar de alta el objeto en la base de datos y devolverlo en el mensaje
         ctx.Add(empresa);
         ctx.SaveChanges();
         return empresa;
     }
 }
예제 #3
0
 /// <summary>
 /// Modificar una empresa. En el cuerpo del mensaje se envía en el formato adecuado el objeto con los datos modificados
 /// </summary>
 /// <param name="id"> Identificador único de la empresa </param>
 /// <param name="empresa">Grupo de usuario con los valores que se desean en sus atributos</param>
 /// <param name="tk"> Tique de autorización (Ver 'Login')</param>
 /// <returns></returns>
 public virtual Empresa Put(int id, Empresa empresa, string tk)
 {
     using (PortalProContext ctx = new PortalProContext())
     {
         // comprobar el tique
         if (!CntWebApiSeguridad.CheckTicket(tk, ctx))
         {
             throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.Unauthorized, "Se necesita tique de autorización (Empresas)"));
         }
         // comprobar los formatos
         if (empresa == null || id != empresa.EmpresaId)
         {
             throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.BadRequest));
         }
         // primero buscamos si un grupo con ese id existe
         Empresa gu = (from g in ctx.Empresas
                            where g.EmpresaId == id
                            select g).FirstOrDefault<Empresa>();
         // existe?
         if (gu == null)
         {
             throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.NotFound, "No hay un grupo con el id proporcionado (Empresas)"));
         }
         // modificar el objeto
         ctx.AttachCopy<Empresa>(empresa);
         ctx.SaveChanges();
         return empresa;
     }
 }