Пример #1
0
        public async Task <EquipoTransporte> RegisterEquipoTransporte(EquipoTransporte eq, Guid OrdenReciboId)
        {
            using (var transaction = _context.Database.BeginTransaction())
            {
                var max = await _context.EquipoTransporte.MaxAsync(x => x.Codigo);

                if (max == null)
                {
                    max = "EQ00000001";
                }
                max       = "EQ" + (Convert.ToInt64(max.Substring(2, 8)) + 1).ToString().PadLeft(8, '0');
                eq.Codigo = max;

                eq.FechaRegistro = DateTime.Now;
                eq.PropietarioId = eq.PropietarioId;

                // var userDb = await _context.EquipoTransporte.SingleOrDefaultAsync(x=>x.Id == user.Id);
                await _context.AddAsync <EquipoTransporte>(eq);

                await _context.SaveChangesAsync();

                // var ordenDb = await _context.OrdenesRecibo.SingleOrDefaultAsync(x=>x.Id == OrdenReciboId);
                // ordenDb.EquipoTransporteId = eq.Id;
                // await _context.SaveChangesAsync();
                transaction.Commit();
                // transaction.Dispose();


                return(eq);
            }
        }
Пример #2
0
        public async Task <EquipoTransporte> RegisterEquipoTransporte(EquipoTransporte eq, List <long> ids)
        {
            using (var transaction = _context.Database.BeginTransaction())
            {
                var max = await _context.EquipoTransporte.MaxAsync(x => x.Codigo);

                if (max == null)
                {
                    max = "EQ00000001";
                }
                max       = "EQ" + (Convert.ToInt64(max.Substring(2, 8)) + 1).ToString().PadLeft(8, '0');
                eq.Codigo = max;

                eq.FechaRegistro = DateTime.Now;
                eq.PropietarioId = eq.PropietarioId;

                await _context.AddAsync <EquipoTransporte>(eq);

                await _context.SaveChangesAsync();

                if (ids != null)
                {
                    foreach (var id in ids)
                    {
                        var ordentransporteDb = await _context.OrdenTransporte.Where(x => x.id == id).SingleOrDefaultAsync();

                        ordentransporteDb.equipo_transporte_id = eq.Id;
                        await _context.SaveChangesAsync();
                    }
                }

                transaction.Commit();
                return(eq);
            }
        }
Пример #3
0
        public async Task <IActionResult> RegisterEquipoTransporte(EquipoTransporteForRegisterDto equipotrans)
        {
            List <long> ids = new List <long>();

            String[] prm = equipotrans.OrdenTransporteId.Split(',');

            foreach (var item in prm)
            {
                ids.Add(long.Parse(item));
            }


            var param = new EquipoTransporte();

            var vehiculo = await _repoVehiculo.Get(x => x.Placa == equipotrans.Placa);

            if (vehiculo == null)
            {
                new ArgumentException("No existe el vehículo");
            }

            var carreta = await _repoVehiculo.Get(x => x.Placa == equipotrans.Carreta);

            var proveedor = await _repoProveedor.Get(x => x.Ruc == equipotrans.Ruc);

            if (proveedor == null)
            {
                new ArgumentException("No existe el proveedor");
            }


            var chofer = await _repoChofer.Get(x => x.Dni == equipotrans.Dni);

            if (proveedor == null)
            {
                new ArgumentException("No existe el conductor");
            }


            param.ProveedorId = proveedor.Id;
            param.VehiculoId  = vehiculo.Id;
            param.ChoferId    = chofer.Id.Value;
            param.EstadoId    = (int)Constantes.EstadoEquipoTransporte.EnProceso;
            //param.PropietarioId = equipotrans.PropietarioId;
            if (carreta != null)
            {
                param.CarretaId = carreta.Id;
            }
            try
            {
                var createdEquipoTransporte = await _repoOrdenRecibo.RegisterEquipoTransporte(param, ids);

                return(Ok(createdEquipoTransporte));
            }
            catch (System.Exception)
            {
                throw;
            }
        }
        public async Task <IActionResult> RegisterEquipoTransporte(EquipoTransporteForRegisterDto equipotrans)
        {
            var param = new EquipoTransporte();

            var vehiculo = await _repoVehiculo.Get(x => x.Placa == equipotrans.Placa);

            //Insertar nuevo
            if (vehiculo == null)
            {
                vehiculo         = new Vehiculo();
                vehiculo.TipoId  = equipotrans.tipoVehiculo;
                vehiculo.MarcaId = equipotrans.marcaVehiculo;
                vehiculo.Placa   = equipotrans.Placa;
                vehiculo         = await _repoVehiculo.AddAsync(vehiculo);
            }



            var proveedor = await _repoProveedor.Get(x => x.Ruc == equipotrans.Ruc);

            if (proveedor == null)
            {
                proveedor             = new Proveedor();
                proveedor.RazonSocial = equipotrans.RazonSocial;
                proveedor.Ruc         = equipotrans.Ruc;
                proveedor             = await _repoProveedor.AddAsync(proveedor);
            }


            var chofer = await _repoChofer.Get(x => x.Dni == equipotrans.Dni);

            if (chofer == null)
            {
                chofer                = new Chofer();
                chofer.Brevete        = equipotrans.Brevete;
                chofer.Dni            = equipotrans.Dni;
                chofer.NombreCompleto = equipotrans.NombreCompleto;
                chofer                = await _repoChofer.AddAsync(chofer);
            }
            param.ProveedorId   = proveedor.Id;
            param.VehiculoId    = vehiculo.Id;
            param.ChoferId      = chofer.Id;
            param.EstadoId      = (int)Constantes.EstadoEquipoTransporte.EnProceso;
            param.PropietarioId = equipotrans.PropietarioId;

            var createdEquipoTransporte = await _repoOrdenRecibo.RegisterEquipoTransporte(param, equipotrans.OrdenReciboId);

            return(Ok(createdEquipoTransporte));
        }