예제 #1
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> MatchTransporteOrdenIngreso(EquipoTransporteForRegisterDto equipotrans)
        {
            //var param = _mapper.Map<EquipoTransporteForRegisterDto, EquipoTransporte>(equipotrans);
            //Buscar Placa
            var createdEquipoTransporte = await _repoOrdenRecibo.matchTransporteOrdenIngreso(equipotrans);

            return(Ok(createdEquipoTransporte));
        }
        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));
        }
예제 #4
0
        public async Task <Guid> matchTransporteOrdenIngreso(EquipoTransporteForRegisterDto eq)
        {
            using (var transaction = _context.Database.BeginTransaction())
            {
                var ordenDb = await _context.OrdenesRecibo.SingleOrDefaultAsync(x => x.Id == eq.OrdenReciboId);

                ordenDb.EquipoTransporteId = eq.Id;
                ordenDb.EstadoId           = (int)Constantes.EstadoOrdenIngreso.Asignado;
                await _context.SaveChangesAsync();


                transaction.Commit();
                // transaction.Dispose();


                return(eq.OrdenReciboId);
            }
        }