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); } }
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); } }
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)); }