public async Task <IActionResult> registarCarga(CargaForRegister cargaForRegister) { var resp = await _repoSeguimiento.CargaRegister(cargaForRegister); return(Ok(resp)); }
public async Task <IActionResult> RegisterCarga(CargaForRegister model) { var resp = await _repo_OrdenSalida.RegisterCarga(model); return(Ok(resp)); }
public async Task <long> RegisterCarga(CargaForRegister cargaForRegister) { cargaForRegister.ids = cargaForRegister.ids.Substring(1, cargaForRegister.ids.Length - 1); string[] prm = cargaForRegister.ids.Split(','); Carga dominio; CargaDetalle cargasDetalle; OrdenSalida ordenSalida; OrdenSalidaDetalle ordenSalidaDetalle; List <OrdenSalida> ordenesSalida; List <OrdenSalidaDetalle> ordenesSalidaDetalle; using (var transaction = _context.Database.BeginTransaction()) { ordenesSalidaDetalle = new List <OrdenSalidaDetalle>(); ordenesSalida = new List <OrdenSalida>(); #region Obtener Listado de Ordenes // var parametros = new DynamicParameters(); // parametros.Add("Id", dbType: DbType.Int64, direction: ParameterDirection.Input, value: Convert.ToInt64(prm[0])); // var result = new AuxOrden(); // using (IDbConnection conn = Connection) // { // var multiquery = await conn.QueryMultipleAsync // ( // commandType: CommandType.StoredProcedure, // sql: "Despacho.pa_obtener_ordensalida", // param: parametros // ); // result = multiquery.Read<AuxOrden>().LastOrDefault(); // if (result != null) // { // var detalleOrdenRecibo = multiquery.Read<AuxOrdenDetalle>().ToList(); // result.Detalles = detalleOrdenRecibo; // } // } #endregion dominio = new Carga(); dominio.EquipoTransporteId = null; dominio.EstadoId = (Int16)Constantes.EstadoCarga.Pendiente; dominio.FechaConfirmacion = null; dominio.FechaRegistro = DateTime.Now; dominio.FechaSalida = null; dominio.ManifiestoId = null; dominio.NumCarga = ""; dominio.Observacion = ""; dominio.UsuarioAsignado = 1; dominio.UsuarioRegistro = 1; foreach (var item in prm) { ordenSalida = await _context.OrdenSalida.Where(x => x.Id == Convert.ToInt64(item)).SingleOrDefaultAsync(); dominio.PropietarioId = ordenSalida.PropietarioId; dominio.ClienteId = ordenSalida.ClienteId; dominio.DireccionId = ordenSalida.DireccionId; ordenesSalida.Add(ordenSalida); ordenesSalidaDetalle.AddRange(await _context.OrdenSalidaDetalle.Where(x => x.OrdenSalidaId == ordenSalida.Id).ToListAsync()); } try { await _context.Carga.AddAsync(dominio); await _context.SaveChangesAsync(); dominio.NumCarga = dominio.Id.ToString().PadLeft(7, '0'); ordenesSalida.ForEach(x => { x.CargaId = dominio.Id; x.EstadoId = (Int16)Constantes.EstadoOrdenSalida.Planificado; }); foreach (var item in ordenesSalidaDetalle) { cargasDetalle = new CargaDetalle(); cargasDetalle.EstadoId = (Int16)Constantes.EstadoCarga.Pendiente; cargasDetalle.HuellaId = item.HuellaId; cargasDetalle.LineaId = item.Id; cargasDetalle.Lote = item.Lote; cargasDetalle.Metodo = "FIFO"; cargasDetalle.ProductoId = item.ProductoId; cargasDetalle.UnidadMedidaId = item.UnidadMedidaId; cargasDetalle.CargaId = dominio.Id; cargasDetalle.Cantidad = item.Cantidad; await _context.CargaDetalle.AddAsync(cargasDetalle); } await _context.SaveChangesAsync(); } catch (System.Exception) { transaction.Rollback(); throw; } transaction.Commit(); } return(dominio.Id); }
public async Task <long> CargaRegister(CargaForRegister parameters) { Carga carga; string query = ""; using (var transaction = _context.Database.BeginTransaction()) { try { carga = new Carga(); carga.carganumero = ""; carga.fechahoraregistro = DateTime.Now; carga.idagencia = parameters.idagencia; carga.idusuarioregistro = parameters.idusuarioregistro; carga.idvehiculo = parameters.idvehiculo; carga.peso = parameters.peso; carga.volumen = parameters.volumen; carga.bultos = parameters.bultos; carga.idestado = 11; await _context.Cargas.AddAsync(carga); await _context.SaveChangesAsync(); transaction.Commit(); query = string.Format("update seguimiento.ordenservicio set cargaid = {0} , estadoid = {1} , idtiposervicio = {2}, idagencia = {3}, fechaplanificacion = '{4}' where id in ({5})", carga.id.ToString(), "5", parameters.idtiposervicio.ToString(), (parameters.idagencia.HasValue ? parameters.idagencia.ToString() : "null"), DateTime.Now.ToString("M/d/yyyy HH:mm:ss"), parameters.ids); using (var conn = new ConnectionFactory(_config).GetOpenConnection()) { var parametros = new DynamicParameters(); var result = await conn.QueryAsync <OrdenesServicioResult>(query , parametros , commandType : CommandType.Text); } } catch (System.Exception ex) { throw ex; } return(1); } // using (var conn = new ConnectionFactory(_config).GetOpenConnection()) // { // var parametros = new DynamicParameters(); // query = string.Format("update seguimiento.ordenservicio set idcarga = {0} , idestado = {1} , idtipooperacion = {2}, idagencia = {3}, fechaplanificacion = '{4}' where id in ({4})", // carga.id.ToString(), // "5", // parameters.idtiposervicio.ToString(), // (parameters.idagencia.HasValue ? parameters.idagencia.ToString() : "null"), // DateTime.Now, // parameters.ids); // var result = await // conn.QueryAsync<OrdenesServicioResult>(query // ,parametros // ,commandType:CommandType.Text); // return 1; // } }