Beispiel #1
0
        public Mantenimiento CrearMantenimientoDeEquipo(Mantenimiento mantenimiento, int equipoId)
        {
            using (DbContextTransaction transaction = dbContext.Database.BeginTransaction())
            {
                try
                {
                    mantenimiento = Crear(mantenimiento);
                    Equipo eqiupo = EquiposRepositorio.RecuperarPorId(equipoId);

                    var mantenimientoEquipo = new Entidades.MantenimientosEquipo()
                    {
                        MantenimientoId = mantenimiento.MantenimientoId,
                        Mantenimiento   = mantenimiento,
                        EquipoId        = equipoId,
                        Equipo          = eqiupo
                    };

                    eqiupo.EnMantenimiento = true;

                    EquiposRepositorio.Actualizar(eqiupo);

                    mantenimientoEquipo = ManteniminetosEquipoRepositorio.Crear(mantenimientoEquipo);

                    transaction.Commit();

                    return(mantenimiento);
                }catch (Exception exc)
                {
                    transaction.Rollback();
                    throw exc;
                }
            }
        }
Beispiel #2
0
        public async Task <Mantenimiento> CrearMantenimientoDeEquipoAsync(Mantenimiento mantenimiento, Equipo equipo)
        {
            using (DbContextTransaction transaction = dbContext.Database.BeginTransaction())
            {
                try
                {
                    mantenimiento = await CrearAsync(mantenimiento);

                    var mantenimientoEquipo = new Entidades.MantenimientosEquipo()
                    {
                        MantenimientoId = mantenimiento.MantenimientoId,
                        Mantenimiento   = mantenimiento,
                        EquipoId        = equipo.EquipoId,
                        Equipo          = equipo
                    };

                    //Se pone el equipo en mantenimiento
                    equipo.EnMantenimiento = true;

                    await EquiposRepositorio.ActualizarAsync(equipo);

                    mantenimientoEquipo = await ManteniminetosEquipoRepositorio.CrearAsync(mantenimientoEquipo);

                    transaction.Commit();

                    return(mantenimiento);
                }
                catch (Exception e)
                {
                    transaction.Rollback();
                    throw e;
                }
            }
        }