public Operacion GrabarPickingFalsoEncabezado(PickingEncabezado pickingEncabezado) { BaseDeDatosServicio.BeginTransaction(); try { var id = ""; DbParameter[] parameters = { new OAParameter { ParameterName = "@CLASSIFICATION_PICKING", Value = pickingEncabezado.CLASSIFICATION_PICKING } , new OAParameter { ParameterName = "@CODE_CLIENT ", Value = pickingEncabezado.CODE_CLIENT } , new OAParameter { ParameterName = "@REFERENCE", Value = pickingEncabezado.REFERENCE } , new OAParameter { ParameterName = "@STATUS", Value = pickingEncabezado.STATUS } , new OAParameter { ParameterName = "@ERP_REFERENCE", Value = pickingEncabezado.ERP_REFERENCE } , new OAParameter { ParameterName = "@COMMENTS", Value = pickingEncabezado.COMMENTS } }; var op = BaseDeDatosServicio.ExecuteQuery <Operacion>("SWIFT_SP_INSERT_FAKE_PICKING_HEADER", CommandType.StoredProcedure, false, parameters)[0]; if (op.Resultado == ResultadoOperacionTipo.Exito) { id = op.DbData; foreach (var detalles in pickingEncabezado.Detalles) { DbParameter[] parametersDetails = { new OAParameter { ParameterName = "@PICKING_HEADER", Value = id } , new OAParameter { ParameterName = "@CODE_SKU", Value = detalles.CODE_SKU } , new OAParameter { ParameterName = "@DESCRIPTION_SKU", Value = detalles.DESCRIPTION_SKU } , new OAParameter { ParameterName = "@QUANTITY", Value = detalles.QUANTITY } }; op = BaseDeDatosServicio.ExecuteQuery <Operacion>("SWIFT_SP_INSERT_FAKE_PICKING_DETAIL", CommandType.StoredProcedure, false, parametersDetails)[0]; if (op.Resultado == ResultadoOperacionTipo.Error) { BaseDeDatosServicio.Rollback(); return(op); } } } else { BaseDeDatosServicio.Rollback(); return(op); } BaseDeDatosServicio.Commit(); op.DbData = id; return(op); } catch (DbException e) { BaseDeDatosServicio.Rollback(); return(new Operacion { Codigo = e.ErrorCode, Mensaje = e.HumanReadMessage(), Resultado = Tipos.ResultadoOperacionTipo.Error }); } catch (Exception ex) { BaseDeDatosServicio.Rollback(); return(new Operacion { Codigo = -1, Mensaje = ex.Message, Resultado = Tipos.ResultadoOperacionTipo.Error }); } }
private void _vista_UsuarioDeseaCargarInformacion(object sender, EventArgs e) { try { var manifiestoArgumento = (ManifiestoArgumento)e; var manifiestoDetalle = new List <ManifiestoDetalle>(); var clientes = _vista.CargaManifiestoExcel.Select(x => new { Codigo = x.CodigoCliente, GPS = x.GPSCliente, Nombre = x.NombreCliente, Documento = x.NumeroDocumento, Direccion = x.DireccionCliente }).Distinct().ToList(); foreach (var cliente in clientes) { var operacion = ClienteServicio.AgregarClienteDeFuenteExterna(new Cliente { CODE_CUSTOMER = cliente.Codigo, NAME_CUSTOMER = cliente.Nombre, GPS = cliente.GPS, LOGIN = manifiestoArgumento.Login, ADRESS_CUSTOMER = cliente.Direccion }); if (operacion.Resultado == ResultadoOperacionTipo.Error) { _vista.EstablecerError(operacion.Mensaje, sender); return; } PickingEncabezado picking = new PickingEncabezado { CLASSIFICATION_PICKING = null, CODE_CLIENT = cliente.Codigo, REFERENCE = cliente.Documento, ERP_REFERENCE = cliente.Documento, CODE_USER = manifiestoArgumento.Login, STATUS = "CLOSED", COMMENTS = "Picking generado por manifiesto cargado de excel " + cliente.Documento, SCHEDULE_FOR = DateTime.Now.Date, Detalles = _vista.CargaManifiestoExcel.Where(y => y.CodigoCliente == cliente.Codigo && y.NumeroDocumento == cliente.Documento && y.DireccionCliente == cliente.Direccion && y.NombreCliente == cliente.Nombre && y.GPSCliente == cliente.GPS).Select(z => new PickingDetalle { CODE_SKU = z.CodigoSKU, DESCRIPTION_SKU = z.NombreSKU, COMMENTS = "Picking generado por manifiesto cargado de excel " + cliente.Documento + ". " + z.Comentario, DISPATCH = (float)z.Cantidad, SCANNED = (float)z.Cantidad, QUANTITY = (float)z.Cantidad }).ToList() }; Operacion op = PickingServicio.GrabarPickingFalsoEncabezado(picking); manifiestoDetalle.Add(new ManifiestoDetalle { CODE_CUSTOMER = cliente.Codigo, CODE_PICKING = op.DbData, TYPE = "Picking", LAST_UPDATE_BY = manifiestoArgumento.Login, DOC_SAP_PICKING = cliente.Documento, REFERENCE = cliente.Documento, EXPECTED_GPS = cliente.GPS }); } ManifiestoEncabezado manifiesto = new ManifiestoEncabezado { CODE_MANIFEST_HEADER = manifiestoArgumento.Piloto + manifiestoArgumento.Ruta + manifiestoArgumento.Ruta, CODE_DRIVER = manifiestoArgumento.Piloto, CODE_ROUTE = manifiestoArgumento.Ruta, CODE_VEHICLE = manifiestoArgumento.Vehiculo, COMMENTS = manifiestoArgumento.Comentario, MANIFEST_SOURCE = "LOAD_DATA_EXCEL", STATUS = "PENDING", LAST_UPDATE_BY = manifiestoArgumento.Login, }; manifiestoArgumento.ManifiestoEncabezado = manifiesto; manifiestoArgumento.DetallesManifiesto = manifiestoDetalle; ManifiestoServicio.GrabarCargaManifiestoHeader(manifiestoArgumento); _vista.CargaManifiestoExcel = new List <CargaManifiesto>(); } catch (Exception ex) { _vista.EstablecerError(ex.Message, sender); } }