예제 #1
0
        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;
        }
예제 #2
0
 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;
 }
예제 #3
0
        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;
            }
        }
예제 #4
0
        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;
        }