public static IList<PaperlessTipoCliente> ListarTiposCliente(Enums.Estado activo) { PaperlessTipoCliente tipo = null; IList<PaperlessTipoCliente> tipos = new List<PaperlessTipoCliente>(); try { //Abrir Conexion conn = BaseDatos.NuevaConexion(); objParams = SqlHelperParameterCache.GetSpParameterSet(conn, "SP_L_PAPERLESS_TIPO_CLIENTE"); objParams[0].Value = activo; SqlCommand command = new SqlCommand("SP_L_PAPERLESS_TIPO_CLIENTE", conn); command.Parameters.AddRange(objParams); command.CommandType = CommandType.StoredProcedure; dreader = command.ExecuteReader(); while (dreader.Read()) { tipo = new PaperlessTipoCliente(); tipo.Id = Convert.ToInt64(dreader["Id"]); tipo.Nombre = dreader["Descripcion"].ToString(); tipo.Activo = Convert.ToBoolean(dreader["Activo"]); tipos.Add(tipo); } } catch (Exception ex) { Base.Log.Log.EscribirLog(ex.Message); } finally { conn.Close(); } return tipos; }
private PaperlessTipoCliente ObtieneTipodeCliente(PaperlessUsuario1HousesBL house) { clsCuenta cuenta = new clsCuenta(); PaperlessTipoCliente ptc = new PaperlessTipoCliente(); if (house.Cliente != null) { var transaccion = LogicaNegocios.Clientes.clsCuentas.BuscarCuentaPorId(house.Cliente.Id); if (transaccion != null) { cuenta = (clsCuenta)transaccion.ObjetoTransaccion; if (cuenta != null && cuenta.ClienteMaster.ClienteMasterTipoCliente != null) { if (cuenta.ClienteMaster.ClienteMasterTipoCliente.Count.Equals(0) || cuenta.ClienteMaster.ClienteMasterTipoCliente.Count > 1) { house.TipoCliente = null; } else { ptc.Nombre = cuenta.ClienteMaster.ClienteMasterTipoCliente[0].Nombre; ptc.Id = cuenta.ClienteMaster.ClienteMasterTipoCliente[0].Id; house.TipoCliente = ptc; } } } } return house.TipoCliente; }
private void gridView5_CellValueChanged(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e) { DevExpress.XtraGrid.Views.Base.ColumnView columna = sender as DevExpress.XtraGrid.Views.Base.ColumnView; string nomcliente = ""; Int64 IdCliente = 0; clsCuenta cuenta = new clsCuenta(); clsClienteMaster clienteselecccionado = new clsClienteMaster(false); if (e.Column.FieldName == "Cliente.NombreFantasia") { nomcliente = columna.EditingValue.ToString(); //Console.WriteLine("nomCliente--->"+nomcliente); if (nomcliente.Trim() != "") { ddlP1Cliente.SelectedIndex = 0; for (int i = 0; i < ddlP1Cliente.Properties.Items.Count; i++) { if (ddlP1Cliente.Properties.Items[i].ToString().Trim() == nomcliente.Trim()) { ddlP1Cliente.SelectedIndex = i; break; } } //Console.WriteLine("index seleccionado--->" + ddlP1Cliente.SelectedIndex); if (ddlP1Cliente.SelectedIndex == 0) { clienteselecccionado = new clsClienteMaster(true) { NombreFantasia = columna.EditingValue.ToString(), NombreCompañia = columna.EditingValue.ToString(), Tipo = Enums.TipoPersona.CuentaPaperless, EstadoCuenta = Enums.Estado.Habilitado }; PaperlessAsignacionActual.DataUsuario1.Paso1HousesBL[e.RowHandle].TipoCliente = null; } else { clienteselecccionado = (clsClienteMaster)this.ddlP1Cliente.SelectedItem; if (clienteselecccionado.Id != 0) { PaperlessTipoCliente ptc = new PaperlessTipoCliente(); var transaccion = LogicaNegocios.Clientes.clsCuentas.BuscarCuentaPorId(clienteselecccionado.Id); if (transaccion != null) { cuenta = (clsCuenta)transaccion.ObjetoTransaccion; if (cuenta != null && cuenta.ClienteMaster.ClienteMasterTipoCliente != null) { if (cuenta.ClienteMaster.ClienteMasterTipoCliente.Count.Equals(0) || cuenta.ClienteMaster.ClienteMasterTipoCliente.Count > 1) { PaperlessAsignacionActual.DataUsuario1.Paso1HousesBL[e.RowHandle].TipoCliente = null; } else { ptc.Nombre = cuenta.ClienteMaster.ClienteMasterTipoCliente[0].Nombre; ptc.Id = cuenta.ClienteMaster.ClienteMasterTipoCliente[0].Id; PaperlessAsignacionActual.DataUsuario1.Paso1HousesBL[e.RowHandle].TipoCliente = ptc; } } else { PaperlessAsignacionActual.DataUsuario1.Paso1HousesBL[e.RowHandle].TipoCliente = null; } } } if (clienteselecccionado.NombreFantasia.Length.Equals(0)) clienteselecccionado.NombreFantasia = clienteselecccionado.NombreCompañia; } } PaperlessAsignacionActual.DataUsuario1.Paso1HousesBL[e.RowHandle].Cliente = clienteselecccionado; } if (e.Column.FieldName == "TipoCliente.Nombre") { PaperlessAsignacionActual.DataUsuario1.Paso1HousesBL[e.RowHandle].TipoCliente = (PaperlessTipoCliente)columna.EditingValue; } }
private PaperlessUsuario1HousesBL IntegracionNetShip(PaperlessUsuario1HousesBL house, int i, string storeProcedureName) { try { Int32 regVarios = Convert.ToInt32(System.Configuration.ConfigurationSettings.AppSettings.Get("regVarios")); if (netShips == null || netShips.Equals(0)) netShips = LogicaNegocios.Integracion.Integracion.ObtenerHousesBlDesdeNetShip(PaperlessAsignacionActual.NumMaster, storeProcedureName); //clsClienteMaster clienteNuevo = null; //-debe enviar un mensaje cuando la cantidad de hoses BL sea distinta if (_mensajemostrado != true) if (Convert.ToInt32(txtP1CantHouses.Text) != netShips.Count) { MessageBox.Show(@"La cantidad de Hbls :" + txtP1CantHouses.Text + @" ingresadas es distinta a la de NetShip :" + netShips.Count, @"Paperless", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);//@" ,Favor modifique el valor de la asignacion para no ver este mensaje" GuardaRegLogCarga(PaperlessAsignacionActual.Id32, txtP1CantHouses.Text, netShips.Count.ToString(), @"Existe una diferencia entre los valores de hbls", (Int32)PaperlessTipoErrorLog.PaperlessTipoError.DifValoresBls); reglasAplicadas++; _mensajemostrado = true; } if (netShips.Count > 0) { try { house.HouseBL = netShips[i - 1].HouseBl;//-Número BL var rut = netShips[i - 1].Rut; //-Rut del Cliente. var shippingInstruction = netShips[i - 1].ShippingInstruction; if (shippingInstruction != null) house.ShippingInstruction = shippingInstruction; var port = netShips[i - 1].Puerto; if (port != null) house.Puerto = port; if (rut != null && !string.IsNullOrEmpty(rut)) { var cliente = netShips[i - 1].Cliente; //-Si el Rut existe el sistema debe buscar en la base de datos y cargarlo con la información //que existe en el sistema para que este cliente se muestre en la pantalla de ingreso de Bls house.Cliente = LogicaNegocios.Clientes.clsClientesMaster.ObtenerClienteMasterPorRut(rut); #region si el rut no existe debe crear un nuevo cliente, pero de tipo paperless con la información que actualmente está enviando NetShip if (cliente != null && house.Cliente == null && !string.IsNullOrEmpty(cliente)) { house.Cliente = CargaClientePaperlessNuevo(cliente, rut); GuardaRegLogCarga(PaperlessAsignacionActual.Id32, "", rut, " Se creo el Cliente " + house.Cliente.Id32 + " con Rut :" + rut, (Int32)PaperlessTipoErrorLog.PaperlessTipoError.RutNoExiste); reglasAplicadas++; } #endregion } else//-colocar el "varios" cuando el cliente no esté creado en el sistema,-si no viene rut , registro debe ser varios. { house.Cliente = LogicaNegocios.Clientes.clsClientesMaster.ObtenerClienteMasterPorId(regVarios); GuardaRegLogCarga(PaperlessAsignacionActual.Id32, "", "", "No viene Rut desde NetShip", (Int32)PaperlessTipoErrorLog.PaperlessTipoError.RegVarios); reglasAplicadas++; } house.Ruteado = netShips[i - 1].Ruteado;//-Indicar si es Ruteado o no var consolidada = netShips[i - 1].Consolidada; if (consolidada != null) txtP1NumConsolidado.Text = consolidada;//- Número Consolidado else { GuardaRegLogCarga(PaperlessAsignacionActual.Id32, "", "", "No viene Numero de Consolidada", (Int32)PaperlessTipoErrorLog.PaperlessTipoError.SinNumeroConsolidada); reglasAplicadas++; } #region-va a prevalecer el tipo de cliente que tenga paperless, al momento de la carga. PaperlessTipoCliente ptc = ObtieneTipodeCliente(house);//-Tipo de Cliente #region Agrega Tipo Cliente de la integracion si desde el ClienteMaster retorna null if (ptc == null) { ptc = new PaperlessTipoCliente(); if (netShips[i - 1].TipoCliente.Equals("Directo")) { ptc.Nombre = "Directo"; ptc.Id = 2; } else { ptc.Nombre = "Embarcador"; ptc.Id = 1; } } GuardaRegLogCarga(PaperlessAsignacionActual.Id32, "", ptc.Nombre, " Tipo de Cliente NetShip", (Int32)PaperlessTipoErrorLog.PaperlessTipoError.DobleDefinicionPpValorNetShip); reglasConError++; house.TipoCliente = ptc; #endregion #endregion } catch (Exception ex) { Log.EscribirLog(ex.Message); } } else { GuardaRegLogCarga(PaperlessAsignacionActual.Id32, PaperlessAsignacionActual.NumMaster, "", "No se encontro Numero Master", (Int32)PaperlessTipoErrorLog.PaperlessTipoError.SinNumeroMaster); reglasAplicadas++; } } catch (Exception ex) { Base.Log.Log.EscribirLog(ex.Message); } return house; }