Exemplo n.º 1
0
        public async Task <IActionResult> registarCarga(CargaForRegister cargaForRegister)
        {
            var resp = await _repoSeguimiento.CargaRegister(cargaForRegister);

            return(Ok(resp));
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 4
0
        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;
            // }
        }