コード例 #1
0
        private void LlenaCampos(Trabajos Trabajo) // Funcion encargada de llenar los campos con los datos de un objeto
        {
            Contexto contexto = new Contexto();

            TrabajoIdNumericUpDown.Value      = Trabajo.TrabajoId;
            FechaCreacionDateTimePicker.Value = Trabajo.FechaInicio;
            ClienteComboBox.SelectedValue     = Trabajo.ClienteId;
            TipoTrabajoComboBox.SelectedValue = Trabajo.TipoTrabajoId;
            DescripcionTrabajoTextBox.Text    = Trabajo.Descripcion;
            DireccionTextBox.Text             = Trabajo.Direccion;
            PrecioNumericUpDown.Value         = Convert.ToDecimal(Trabajo.Precio);
            EncargadoComboBox.SelectedValue   = Trabajo.EmpleadoId;
            AjusteNumericUpDown.Value         = Convert.ToDecimal(Trabajo.Ajuste);
            this.Detalle = Trabajo.Detalle;
            CargaGrid();
            CobradoTextBox.Text              = Convert.ToString(Trabajo.Cobrado);
            BalanceTextBox.Text              = Convert.ToString(Trabajo.Balance);
            AjustePagadoTextBox.Text         = Convert.ToString(Trabajo.AjustePagado);
            AjustePendienteTextBox.Text      = Convert.ToString(Trabajo.AjustePendiente);
            GastosTextBox.Text               = Convert.ToString(Trabajo.Materiales);
            GananciaBrutaTextBox.Text        = Convert.ToString(Trabajo.GananciaBruta);
            GananciaNetaTextBox.Text         = Convert.ToString(Trabajo.GananciaNeta);
            EstadoToolStripStatusLabel.Text  = Trabajo.Estado;
            PorToolStripStatusLabel.Text     = "por";
            UsuarioToolStripStatusLabel.Text = Trabajo.Usuario;
        }
コード例 #2
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,ProyectoId,Nombre,AgenteId,Descripcion")] Trabajos trabajos)
        {
            if (id != trabajos.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(trabajos);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!TrabajosExists(trabajos.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(IndexUsuario), new { id = trabajos.ProyectoId }));
            }
            var Id = Int32.Parse(HttpContext.User.Claims.FirstOrDefault(x => x.Type == ClaimTypes.UserData)?.Value);

            ViewData["usuario_id"] = Id;
            ViewData["readonly"]   = false;
            ViewData["AgenteId"]   = new SelectList(_context.Usuarios, "Id", "FullName", trabajos.AgenteId);
            ViewData["ProyectoId"] = new SelectList(_context.Proyectos, "Id", "Nombre", trabajos.ProyectoId);
            return(View("Views/Programador/Trabajos/Edit.cshtml", trabajos));
        }
コード例 #3
0
        private Trabajos LlenaClase() // Funcion encargada de llenar el objeto
        {
            Trabajos Trabajo = new Trabajos();

            Trabajo.TrabajoId       = Convert.ToInt32(TrabajoIdNumericUpDown.Value);
            Trabajo.FechaInicio     = FechaCreacionDateTimePicker.Value;
            Trabajo.ClienteId       = Convert.ToInt32(ClienteComboBox.SelectedValue);
            Trabajo.TipoTrabajoId   = Convert.ToInt32(TipoTrabajoComboBox.SelectedValue);
            Trabajo.Descripcion     = DescripcionTrabajoTextBox.Text;
            Trabajo.Direccion       = DireccionTextBox.Text;
            Trabajo.Precio          = Convert.ToDecimal(PrecioNumericUpDown.Value);
            Trabajo.EmpleadoId      = Convert.ToInt32(EncargadoComboBox.SelectedValue);
            Trabajo.Ajuste          = Convert.ToDecimal(AjusteNumericUpDown.Value);
            Trabajo.Detalle         = this.Detalle;
            Trabajo.Cobrado         = Convert.ToDecimal(CobradoTextBox.Text);
            Trabajo.Balance         = Convert.ToDecimal(BalanceTextBox.Text);
            Trabajo.AjustePagado    = Convert.ToDecimal(AjustePagadoTextBox.Text);
            Trabajo.AjustePendiente = Convert.ToDecimal(AjustePendienteTextBox.Text);
            Trabajo.Materiales      = Convert.ToDecimal(GastosTextBox.Text);
            Trabajo.GananciaNeta    = Convert.ToDecimal(GananciaNetaTextBox.Text);
            Trabajo.GananciaBruta   = Convert.ToDecimal(GananciaBrutaTextBox.Text);
            Trabajo.Estado          = (TrabajoIdNumericUpDown.Value != 0) ? "Modificado" : "Registrado";
            Trabajo.Usuario         = nombreUsuario;
            return(Trabajo);
        }
コード例 #4
0
        public bool Modificar(Trabajos trabajos)
        {
            bool     paso = false;
            Contexto db   = new Contexto();

            var anterior = Buscar(trabajos.IdTrabajo);

            foreach (var item in trabajos.Detalles)
            {
                if (item.Id == 0)
                {
                    db.Entry(item).State = EntityState.Added;
                }
            }

            foreach (var item in anterior.Detalles)
            {
                if (!trabajos.Detalles.Any(A => A.Id == item.Id))
                {
                    db.Entry(item).State = EntityState.Deleted;
                }
            }

            db.Entry(trabajos).State = EntityState.Modified;
            paso = db.SaveChanges() > 0;


            return(paso);
        }
コード例 #5
0
        //metodo asincrónico
        public async Task <MensajeRespuesta> AgregarTrabajoAsync(Trabajos trabajo)
        {
            MensajeRespuesta respuesta = new MensajeRespuesta();

            try
            {
                //codigo
                using (var db = new TrabajosConexion())
                {
                    db.Entry(trabajo).State = EntityState.Added;

                    Console.WriteLine("1. Agregando nuevo trabajo asincrónico.");

                    await(db.SaveChangesAsync());

                    Console.WriteLine("2. Trabajo asincrónico agregado correctamente.");
                }
            }
            catch (Exception ex)
            {
                respuesta = new MensajeRespuesta($"{ex.Message} - {ex.InnerException}");
            }

            return(respuesta);
        }
コード例 #6
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,ProyectoId,AgenteId,Nombre,Descripcion")] Trabajos trabajos)
        {
            if (id != trabajos.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(trabajos);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!TrabajosExists(trabajos.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index), new { id = trabajos.ProyectoId }));
            }
            ViewData["proyecto_id"] = trabajos.ProyectoId;
            ViewData["AgenteId"]    = new SelectList(_context.Usuarios, "Id", "FullName", trabajos.AgenteId);
            return(View("Views/Administrador/Trabajos/Edit.cshtml", trabajos));
        }
コード例 #7
0
        private bool ExisteEnLaBaseDeDatos() //Funcion que valida si existe en la base de datos
        {
            RepositorioBase <Trabajos> Repositorio = new RepositorioBase <Trabajos>();
            Trabajos Trabajo = Repositorio.Buscar((int)TrabajoIdNumericUpDown.Value);

            return(Trabajo != null);
        }
コード例 #8
0
        public async Task <ActionResult> DeleteConfirmed(int id)
        {
            Trabajos trabajos = await db.Trabajos.FindAsync(id);

            db.Trabajos.Remove(trabajos);
            await db.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
コード例 #9
0
        public async Task <ActionResult> Edit([Bind(Include = "JobID,Category,Location,Company,Position,Description")] Trabajos trabajos)
        {
            if (ModelState.IsValid)
            {
                db.Entry(trabajos).State = EntityState.Modified;
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            return(View(trabajos));
        }
コード例 #10
0
        public Trabajos Buscar(int Id)
        {
            Contexto db      = new Contexto();
            Trabajos trabajo = new Trabajos();


            trabajo = db.trabajos.Where(A => A.IdTrabajo == Id)
                      .Include(A => A.Detalles).FirstOrDefault();


            return(trabajo);
        }
コード例 #11
0
        public async Task <ActionResult> Create([Bind(Include = "JobID,Category,Location,Company,Position,Description")] Trabajos trabajos)
        {
            if (ModelState.IsValid)
            {
                //ViewBag.MyCategory = new SelectList(dbc.Categories, "CatID", "Categoria");
                db.Trabajos.Add(trabajos);
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            return(View(trabajos));
        }
コード例 #12
0
        // GET: Trabajos/Edit/5
        public async Task <ActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Trabajos trabajos = await db.Trabajos.FindAsync(id);

            if (trabajos == null)
            {
                return(HttpNotFound());
            }
            return(View(trabajos));
        }
コード例 #13
0
        public async Task <IActionResult> Create([Bind("Id,ProyectoId,AgenteId,Nombre,Descripcion")] Trabajos trabajos)
        {
            if (ModelState.IsValid)
            {
                _context.Add(trabajos);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index), new { id = trabajos.ProyectoId }));
            }
            ViewData["error"]       = false;
            ViewData["proyecto_id"] = trabajos.ProyectoId;
            ViewData["AgenteId"]    = new SelectList(_context.Usuarios, "Id", "FullName", trabajos.AgenteId);
            return(View("Views/Administrador/Trabajos/Create.cshtml", trabajos));
        }
コード例 #14
0
        public bool Insertar(Trabajos trabajos)
        {
            bool     paso = false;
            Contexto db   = new Contexto();

            try
            {
                db.trabajos.Add(trabajos);
                paso = db.SaveChanges() > 0;
            }
            catch (Exception) { throw; }

            return(paso);
        }
コード例 #15
0
        //metodo asincronico
        public async Task <Trabajos> ObtenerTrabajoAsync(int trabajoId)
        {
            Trabajos trabajo = null;

            using (var db = new TrabajosConexion())
            {
                Console.WriteLine("1. obteniendo trabajo asincrónico...");

                trabajo = await(db.Trabajos.FirstOrDefaultAsync(x => x.Id == trabajoId));

                Console.WriteLine("2. trabajo asincrónico obtenido.");
            }

            return(trabajo);
        }
コード例 #16
0
        public Trabajos ObtenerTrabajo(int trabajoId)
        {
            Trabajos trabajo = null;

            using (var db = new TrabajosConexion())
            {
                //db.Database.Log = Console.WriteLine;

                Console.WriteLine("1. obteniendo trabajo...");

                trabajo = db.Trabajos.FirstOrDefault(x => x.Id == trabajoId);

                Console.WriteLine("2. trabajo obtenido.");
            }

            return(trabajo);
        }
コード例 #17
0
        public bool Eliminar(int Id)
        {
            bool     paso = false;
            Contexto db   = new Contexto();



            Trabajos trabajo = db.trabajos.Find(Id);

            if (trabajo != null)
            {
                db.Entry(trabajo).State = EntityState.Deleted;
                paso = db.SaveChanges() > 0;
            }

            return(paso);
        }
コード例 #18
0
        public async Task <IActionResult> Create([Bind("Id,ProyectoId,Nombre,AgenteId,Descripcion")] Trabajos trabajos)
        {
            if (ModelState.IsValid)
            {
                _context.Add(trabajos);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(IndexUsuario), new { id = trabajos.ProyectoId }));
            }

            var Id = Int32.Parse(HttpContext.User.Claims.FirstOrDefault(x => x.Type == ClaimTypes.UserData)?.Value);

            ViewData["error"]       = false;
            ViewData["proyecto_id"] = trabajos.ProyectoId;
            ViewData["usuario_id"]  = Id;
            return(View("Views/Programador/Trabajos/Create.cshtml", trabajos));
        }
コード例 #19
0
        public bool Guardar(Trabajos trabajos)
        {
            bool     paso = false;
            Contexto db   = new Contexto();

            if (trabajos.IdTrabajo == 0)
            {
                Insertar(trabajos);
            }
            else if (Buscar(trabajos.IdTrabajo) == null)
            {
                paso = false;
            }
            else
            {
                Modificar(trabajos);
            }
            return(paso);
        }
コード例 #20
0
        //--------------------------------------------------------------------------------------------------------

        //Botones -------------------------------------------------------------------------------------------------
        private void BuscarButton_Click(object sender, EventArgs e) //Boton buscar
        {
            MyErrorProvider.Clear();
            int      id;
            Trabajos Trabajo = new Trabajos();

            int.TryParse(TrabajoIdNumericUpDown.Text, out id);
            Trabajo = BLL.TrabajosBLL.Buscar(id);
            if (Trabajo != null)
            {
                LlenaCampos(Trabajo);
                EliminarButton.Enabled = true;
            }
            else
            {
                MessageBox.Show("Trabajo no encontrado!");
                TrabajoIdNumericUpDown.Focus();
            }
        }
コード例 #21
0
        public static Trabajos ObtenerTrabajos(string Equipo)
        {
            Trabajos colEntidad = new Trabajos();

            string qSelect = "Select * from Trabajos (nolock) where Equipo = @Equipo order by Id desc";

            try {
                using (SqlCommand cmd = new SqlCommand(qSelect, Configuracion.ConexionBBDD)) {
                    cmd.Parameters.Add("Equipo", SqlDbType.VarChar).Value = Equipo;
                    DataTable dt = new DataTable();
                    dt.Load(cmd.ExecuteReader());
                    foreach (DataRow dr in dt.Rows)
                    {
                        colEntidad.Add(ObtenerEntidadTrabajo(dr));
                    }
                }
            } catch (Exception ex) {
                Console.WriteLine(ex.Message);
            }

            return(colEntidad);
        }
コード例 #22
0
        public MensajeRespuesta AgregarTrabajo(Trabajos trabajo)
        {
            MensajeRespuesta respuesta = new MensajeRespuesta();

            try
            {
                //codigo
                using (var db = new TrabajosConexion())
                {
                    db.Entry(trabajo).State = EntityState.Added;

                    Console.WriteLine("1. Agregando nuevo trabajo.");

                    db.SaveChanges();

                    Console.WriteLine("2. Trabajo agregado correctamente.");
                }
            } catch (Exception ex)
            {
                respuesta = new MensajeRespuesta(ex.Message);
            }

            return(respuesta);
        }
コード例 #23
0
ファイル: Program.cs プロジェクト: cjflores8995/DatabaseFirst
        static void Main(string[] args)
        {
            using (var db = new TrabajosConexion())
            {
                db.Database.Log = Console.WriteLine;

                using (DbContextTransaction transaction = db.Database.BeginTransaction())
                {
                    try
                    {
                        //codigo
                        Trabajos trabajo1 = new Trabajos
                        {
                            Titulo             = "trabajo 1, continua en trabajo 2",
                            Ubicacion          = "Ciudad de méxico",
                            Salario            = 1870,
                            Descripcion        = "este trabajo se ingresa en primer lugar",
                            TipoContratoId     = 2,
                            CategoriaTrabajoId = 12,
                            FechaRegistro      = DateTime.Now,
                            FechaModificacion  = DateTime.Now,
                            Estado             = true
                        };

                        db.Entry(trabajo1).State = EntityState.Added;
                        db.SaveChanges();

                        Trabajos trabajo2 = new Trabajos
                        {
                            Titulo             = "trabajo 2, continua el trabajo 3",
                            Ubicacion          = "Ciudad de méxico",
                            Salario            = 1870,
                            Descripcion        = "este trabajo se ingresa en segundo lugar.",
                            TipoContratoId     = 2,
                            CategoriaTrabajoId = 12,
                            FechaRegistro      = DateTime.Now,
                            FechaModificacion  = DateTime.Now,
                            Estado             = true
                        };

                        db.Entry(trabajo2).State = EntityState.Added;
                        db.SaveChanges();

                        Trabajos trabajo3 = new Trabajos
                        {
                            Titulo             = "trabajo 3, finaliza el proceso",
                            Ubicacion          = "Ciudad de méxico",
                            Salario            = 1870,
                            Descripcion        = "este trabajo se ingresa en tercer lugar.",
                            TipoContratoId     = 2,
                            CategoriaTrabajoId = 12,
                            FechaRegistro      = DateTime.Now,
                            FechaModificacion  = DateTime.Now,
                            Estado             = true
                        };

                        db.Entry(trabajo3).State = EntityState.Added;
                        db.SaveChanges();

                        transaction.Commit();
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                        Console.WriteLine(ex.Message);
                    }
                }
            }

            Console.ReadKey();
        }
コード例 #24
0
        static void Main(string[] args)
        {
            Trabajos trabajo = new Trabajos {
                Titulo             = "Trabajo con registros sincrónicos",
                Ubicacion          = "Ciudad de méxico",
                Salario            = 1870,
                Descripcion        = "Se necesita de un programador que sepa manejar metodos sincrónicos.",
                TipoContratoId     = 2,
                CategoriaTrabajoId = 12,
                FechaRegistro      = DateTime.Now,
                FechaModificacion  = DateTime.Now,
                Estado             = true
            };

            var trabajoAsincronico = new TrabajoRepositorio().AgregarTrabajoAsync(trabajo);

            Console.WriteLine("3. este código se ejecuta despues de obtener un trabajo.");

            Console.WriteLine("4. este código se ejecuta a continuación.");

            Console.WriteLine("5. este código se ejecuta al final.");

            Console.WriteLine($"Estado: {trabajoAsincronico.Result.OK}, Mensaje: {trabajoAsincronico.Result.Mensaje}");


            //var agregarTrabajo = new TrabajoRepositorio().AgregarTrabajo(trabajo);

            //Console.WriteLine("3. este código se ejecuta despues de obtener un trabajo.");

            //Console.WriteLine("4. este código se ejecuta a continuación.");

            //Console.WriteLine("5. este código se ejecuta al final.");

            //Console.WriteLine($"ID: {trabajo.Id}, TÍTULO: {trabajo.Titulo}");

            //Console.WriteLine($"ESTADO: {agregarTrabajo.OK}, MENSAJE: {agregarTrabajo.Mensaje}");


            //var trabajo = new TrabajoRepositorio().ObtenerTrabajo(1);

            //Console.WriteLine("3. este código se ejecuta despues de obtener un trabajo.");

            //Console.WriteLine("4. este código se ejecuta a continuación.");

            //Console.WriteLine("5. este código se ejecuta al final.");

            //Console.WriteLine($"ID: {trabajo.Id}, TÍTULO: {trabajo.Titulo}");

            //ejecutar
            //var trabajo = new TrabajoRepositorio().ObtenerTrabajoAsync(1);

            //Console.WriteLine("3. este código se ejecuta despues de obtener un trabajo.");

            //Console.WriteLine("4. este código se ejecuta a continuación.");

            //Console.WriteLine("5. este código se ejecuta al final.");

            //Console.WriteLine($"ID: {trabajo.Result.Id}, TÍTULO: {trabajo.Result.Titulo}");


            Console.ReadKey();
        }
コード例 #25
0
 private void Window_Loaded(object sender, RoutedEventArgs e)
 {
     oTrabajos = TrabajoGestor.ObtenerTrabajos(Configuracion.NombreEquipo);
     lvTrabajos.ItemsSource = oTrabajos;
     TrabajoSeleccionado    = null;
 }