public async Task <bool> EditarProyecto(EntidadProyecto proyecto)
        {
            bool editado;
            Dictionary <string, object> parametros = new Dictionary <string, object>
            {
                { "@id", proyecto.Id },
                { "@nombre", proyecto.Nombre },
                { "@descripcion", proyecto.Descripcion }
            };

            string query = @"   UPDATE [plataforma_iot].[dbo].[Proyecto]
                                SET [nombre] = @nombre, [descripcion] = @descripcion
                                WHERE [id] = @id";

            try
            {
                using (SqlConnection conn = new SqlConnection(cadenaConexion))
                {
                    await conn.ExecuteAsync(query, parametros);

                    editado = true;
                }
            }
            catch (Exception ex)
            {
                log.Error($"ERR. REPOSITORIO PROYECTO (EditarProyecto) - {ex.Message}");
                editado = false;
            }
            return(editado);
        }
        /*Este método se encarga de la inserción de un proyecto, recibe como parámetro una entidad de proyecto y una entidad de cliente. Retorna un resultado de éxito en caso
         * de realizar una inserción correcta, o un mensaje error en caso de una inserción incorrecta*/
        public String[] insertarProyecto(EntidadProyecto proyectoNuevo, EntidadCliente cliente)
        {
            String[] resultado = new String[1];
            try {
                int idProy;  //se llama al dataSet de proyectos para insertar el proyecto nuevo
                this.adapProyecto.InsertProyecto(proyectoNuevo.Nombre, proyectoNuevo.Objetivos, proyectoNuevo.Estado, proyectoNuevo.FechaIni, proyectoNuevo.FechaFin, proyectoNuevo.FechaAsig, proyectoNuevo.Lider);
                idProy = Int32.Parse(this.adapProyecto.getIdProyecto(proyectoNuevo.Nombre).ToString());
                this.adapClient.InsertarCliente(idProy, cliente.Nombre, cliente.Telefono, cliente.Celular, cliente.Oficina, cliente.Correo);
                resultado[0] = "Exito";
            }
            catch (SqlException e) {
                int n = e.Number;
                if (n == 2627)
                {
                    resultado[0] = "Error";
                }
                else
                {
                    resultado[0] = "Error";
                }
            }



            return(resultado);
        }
        public async Task <bool> InsertaProyecto(EntidadProyecto proyecto, string idUsuario)
        {
            bool insertado;
            Dictionary <string, object> parametros = new Dictionary <string, object>
            {
                { "@nombre", proyecto.Nombre },
                { "@descripcion", proyecto.Descripcion },
                { "@idusuario", idUsuario }
            };

            string query = @"BEGIN TRAN
                             DECLARE @idproyecto int = -1
                             INSERT INTO [plataforma_iot].[dbo].[Proyecto] ([nombre],[descripcion]) VALUES (@nombre, @descripcion)
                             SELECT @idproyecto = SCOPE_IDENTITY()
                             INSERT INTO [plataforma_iot].[dbo].[Usuario_en_Proyecto] ([id_usuario],[id_proyecto]) VALUES (@idusuario, @idproyecto)
                             COMMIT TRAN";

            try
            {
                using (SqlConnection conn = new SqlConnection(cadenaConexion))
                {
                    await conn.ExecuteAsync(query, parametros);

                    insertado = true;
                }
            }
            catch (Exception ex)
            {
                log.Error($"ERR. REPOSITORIO PROYECTO (InsertaProyecto) - {ex.Message}");
                insertado = false;
            }
            return(insertado);
        }
예제 #4
0
 public static void ActualizarProyecto(EntidadProyecto oProyecto)
 {
     using (var db = new AplicacionVentasContext())
     {
         db.Proyectos.Update(oProyecto);
         db.SaveChanges();
     }
 }
예제 #5
0
 public static void CrearProyecto(EntidadProyecto oProyecto)
 {
     using (var db = new AplicacionVentasContext())
     {
         db.Proyectos.Add(oProyecto);
         db.SaveChanges();
     }
 }
예제 #6
0
 protected void ActivarEditar(EntidadProyecto p)
 {
     ProyectoEditar = new ModeloProyecto()
     {
         Id          = p.Id,
         Nombre      = p.Nombre,
         Descripcion = p.Descripcion
     };
 }
        /*Este método se encarga de la modificación de un proyecto, recibe como parámetro los nuevos datos que tendrá el proyecto así como una entidad de proyecto con los datos viejos.
         * Retorna un resultado de éxito en caso de realizar una modificación correcta, o un mensaje error en caso de una modificación incorrecta*/
        public string[] modificarProyecto(String nombre, String objetivos, String estado, String fechaIni, String fechaFin, String fechaAsig, String lider, EntidadProyecto proyectoViejo)
        {
            Object[] datos = new Object[7];
            datos[0] = nombre;
            datos[1] = objetivos;
            datos[2] = estado;
            datos[3] = fechaIni;
            datos[4] = fechaFin;
            datos[5] = fechaAsig;
            datos[6] = lider;
            EntidadProyecto proyectoNuevo = new EntidadProyecto(datos);  //se encapsulan los datos del proyecto a modificar

            return(controladoraBDProyecto.modificarProyecto(proyectoNuevo, proyectoViejo.Nombre));
        }
예제 #8
0
        public async Task <bool> Editar(EntidadProyecto proyecto)
        {
            bool editado;

            try
            {
                editado = await repositorioProyecto.EditarProyecto(proyecto);
            }
            catch (Exception ex)
            {
                editado = false;
                log.Error($"ERR. SERVICIO PROYECTO (Editar) - {ex.Message}");
            }
            return(editado);
        }
예제 #9
0
        public async Task Mostrar(EntidadProyecto proyecto)
        {
            nombreProyecto = proyecto.Nombre;
            var estacionesBase = await servicioEstacionBase.ListaEstacionesBase(proyecto.Id);

            listaEstacionesBase = new List <Tuple <int, EntidadEstacionBase> >();
            foreach (var estacion in estacionesBase)
            {
                var sensores = await servicioEstacionBase.ObtenerSensores(estacion.Id);

                listaEstacionesBase.Add(new Tuple <int, EntidadEstacionBase>(sensores.Count(), estacion));
            }

            this.mostrar = true;
            this.StateHasChanged();
        }
예제 #10
0
        public async Task <bool> Crear(EntidadProyecto proyecto, string idUsuario)
        {
            bool creado;

            try
            {
                creado = await repositorioProyecto.InsertaProyecto(proyecto, idUsuario);
            }
            catch (Exception ex)
            {
                //log.Warning($"Problema al obtener los proyectos del usuario {idUsuario}. No tiene ningún proyecto asociado.");
                creado = false;
                log.Error($"ERR. SERVICIO PROYECTO (Crear) - {ex.Message}");
            }

            return(creado);
        }
        /*Este método se encarga de la consulta de un proyecto, recibe como parámetro el nombre del proyecto a consultar. Retorna la entidad del proyecto
         * que se consultó que contiene todos los datos del proyecto consultado*/
        public EntidadProyecto consultarProyecto(String nombre)
        {
            EntidadProyecto proyecto = null;            //para encapsular los datos consultados.

            Object[]  datosConsultados = new Object[7]; //para guardar los datos obtenidos de la consulta temporalmente
            DataTable filaProyecto     = controladoraBDProyecto.consultarProyecto(nombre);

            if (filaProyecto.Rows.Count == 1)   //se recorre el dataTable de proyectos tomando los datos de los proyectos
            {
                for (int i = 1; i < 8; i++)
                {
                    datosConsultados[i - 1] = filaProyecto.Rows[0][i].ToString();
                }
                proyecto = new EntidadProyecto(datosConsultados); //se encapsulan los datos del proyecto
            }
            return(proyecto);
        }
        /*
         * Metodo que se activa cuando se cancelan los cambios tanto en agregar como en modificar.
         */
        protected void btnCancelar_Click(object sender, EventArgs e)
        {
            if (modo == 1) //En agregar, limpia los campos.
            {
                limpiarCampos();
                this.gridUsuariosAsignados.Visible = false;
            }


            if (modo == 2) //En modificar, todo vuelve a su estado inicial de consulta.
            {
                entidadConsultada       = controladora.consultarProyecto(gridProyecto.SelectedRow.Cells[0].Text.ToString());
                textNombre.Value        = entidadConsultada.Nombre.ToString();
                textObjetivo.Value      = entidadConsultada.Objetivos.ToString();
                textFechaA.Value        = entidadConsultada.FechaAsig.ToString();
                textFechaF.Value        = entidadConsultada.FechaFin.ToString();
                textFechaI.Value        = entidadConsultada.FechaIni.ToString();
                cmbEstado.SelectedValue = entidadConsultada.Estado.ToString();


                idProy = controladora.getIdProyecto(entidadConsultada.Nombre.ToString());

                clienteConsultado             = controladora.consultarCliente(idProy);
                textRepresentante.Value       = clienteConsultado.Nombre.ToString();
                textTelRepresentante.Value    = clienteConsultado.Telefono.ToString();
                textTelSecundario.Value       = clienteConsultado.Celular.ToString();
                TextOficina.Value             = clienteConsultado.Oficina.ToString();
                textEmailRepresentante.Value  = clienteConsultado.Correo.ToString();
                btnModificarProyecto.Disabled = true;
                gridProyecto.DataBind();
                this.gridUsuariosAsignados.Visible = true;
                llenarGridUsuarios();
                llenarUsuariosAsignados();
            }

            habilitarCampos(false);
            modo = 0; //Se devuelve a modo consulta luego de cancelar.
            botonAceptar.Disabled       = true;
            botonCancelar.Disabled      = true;
            this.gridProyecto.Enabled   = true;
            btnAgregarProyecto.Disabled = false;
        }
        /*Este método se encarga de la inserción de un proyecto, recibe como parámetro los datos que va a tener el proyecto, además de los datos del cliente. Retorna un resultado de éxito en caso
         * de realizar una inserción correcta, o un mensaje error en caso de una inserción incorrecta*/
        public String[] insertarProyecto(String nombre, String objetivo, String estado, String fechaInic, String fechaFin, String fechaAsig, String lider, String nombreCliente, String telefono, String telefono1, String oficina, String correoCliente)
        {
            Object[] datos = new Object[7];  //Se crea un objeto con los datos del proyecto
            datos[0] = nombre;
            datos[1] = objetivo;
            datos[2] = estado;
            datos[3] = fechaInic;
            datos[4] = fechaFin;
            datos[5] = fechaAsig;
            datos[6] = lider;
            Object[] datosCliente = new Object[5]; //Se crea un objeto con los datos del cliente
            datosCliente[0] = nombreCliente;
            datosCliente[1] = telefono;
            datosCliente[2] = telefono1;
            datosCliente[3] = oficina;
            datosCliente[4] = correoCliente;
            EntidadProyecto proyecto = new EntidadProyecto(datos);       //Se encapsulan los datos del proyecto
            EntidadCliente  cliente  = new EntidadCliente(datosCliente); //Se encapsulan los datos del cliente

            return(controladoraBDProyecto.insertarProyecto(proyecto, cliente));
        }
        /*
         * Evento que se activa al consultar un proyecto.
         */
        protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
        {
            String estado;

            try
            {
                entidadConsultada       = controladora.consultarProyecto(gridProyecto.SelectedRow.Cells[0].Text.ToString());
                textNombre.Value        = entidadConsultada.Nombre.ToString();
                textObjetivo.Value      = entidadConsultada.Objetivos.ToString();
                textFechaA.Value        = entidadConsultada.FechaAsig.ToString();
                textFechaF.Value        = entidadConsultada.FechaFin.ToString();
                textFechaI.Value        = entidadConsultada.FechaIni.ToString();
                cmbEstado.SelectedValue = entidadConsultada.Estado.ToString();
                estado = cmbEstado.SelectedValue;
                if (estado == "Finalizado")
                {
                    btnEliminarProyecto.Disabled = true;
                }
                else
                {
                    btnEliminarProyecto.Disabled = false;
                }
                idProy = controladora.getIdProyecto(entidadConsultada.Nombre.ToString()); //ID Estático

                clienteConsultado             = controladora.consultarCliente(idProy);
                textRepresentante.Value       = clienteConsultado.Nombre.ToString();
                textTelRepresentante.Value    = clienteConsultado.Telefono.ToString();
                textTelSecundario.Value       = clienteConsultado.Celular.ToString();
                TextOficina.Value             = clienteConsultado.Oficina.ToString();
                textEmailRepresentante.Value  = clienteConsultado.Correo.ToString();
                btnModificarProyecto.Disabled = false;

                this.gridUsuariosAsignados.Visible = true;
                gridProyecto.DataBind();
                llenarUsuariosAsignados();
                llenarGridUsuarios();
            }
            catch (Exception o) {
            }
        }
 /*Este método se encarga de la modificación de un proyecto, recibe como parámetro una entidad de proyecto conmlos datos nuevos así como el nombre "viejo" del proyecto.
  * Retorna un resultado de éxito en caso de realizar una modificación correcta, o un mensaje error en caso de una modificación incorrecta*/
 public String[] modificarProyecto(EntidadProyecto proyectoNuevo, String nombreviejo)
 {
     String[] resultado = new String[1];
     try
     {   //se llama al dataSet de proyectos para modificar el proyecto
         this.adapProyecto.actualizarProyecto(proyectoNuevo.Nombre, proyectoNuevo.Objetivos, proyectoNuevo.Estado, proyectoNuevo.FechaIni, proyectoNuevo.FechaFin, proyectoNuevo.FechaAsig, proyectoNuevo.Lider, nombreviejo);
         resultado[0] = "Exito";
     }
     catch (SqlException e)
     {
         int n = e.Number;
         if (n == 2627)
         {
             resultado[0] = "Error";
         }
         else
         {
             resultado[0] = "Error";
         }
     }
     return(resultado);
 }
예제 #16
0
        protected async Task EditarProyecto()
        {
            var proyecto = new EntidadProyecto()
            {
                Id          = ProyectoEditar.Id,
                Nombre      = ProyectoEditar.Nombre,
                Descripcion = ProyectoEditar.Descripcion
            };


            bool resultado = await servicioProyecto.Editar(proyecto);

            if (resultado)
            {
                mensajeEditar = "Los cambios se han guardado con éxito.";
            }
            else
            {
                mensajeEditar = "No se ha podido editar el proyecto.";
            }

            this.editado = true;
            this.StateHasChanged();
        }