コード例 #1
0
ファイル: frmDefinirSLead.cs プロジェクト: TarekMulla/cra
        private bool AsignarGrilla()
        {
            var salesLead = new ClsSalesLead();

            // Inicializa Datos NO obligatorios
            salesLead.LCLCantidad = 0;
            salesLead.LCLMedida.Id=0;
            salesLead.FCLCantidad = 0;
            salesLead.FCLMedida.Id=0;
            salesLead.AereoCantidad = 0;
            salesLead.AereoMedida.Id=0;

            // Información general
            salesLead.GlosaSalesLead = this.textSLeadReferencia.Text;
            salesLead.FechaApertura = this.DateApertura.DateTime;
            salesLead.UsuarioAsignador = Base.Usuario.UsuarioConectado.Usuario;
            salesLead.EmbarquesPorMes = (Int32)snNumEmbMes.Value;

            salesLead.ObjTipoContenedor = (clsItemParametro)this.lstTipoContenedor.SelectedItem;

            if (DateUltimoEmbarque.Text == "")
            {
                salesLead.FechaUltimoEmbarque = new DateTime(2000, 1, 1);
            }
            else
            {
                salesLead.FechaUltimoEmbarque = DateUltimoEmbarque.DateTime;
            }

            salesLead.CarrierAirline = txtCarrier.Text;
            salesLead.Pol = txtpol.Text;
            salesLead.Pod = txtPod.Text;
            salesLead.EstadoSLead = Enums.EstadosSLead.Asignado;

            //Agente
            salesLead.Agente = new PaperlessAgente();
            salesLead.Agente = (PaperlessAgente)this.cboagente.SelectedItem;

            //Asignación del Venedror
            salesLead.Asignacion = new ClsSalesLeadAsignacion();
            salesLead.Asignacion.VendedorAsignado = (clsUsuario)cboVendedores.SelectedItem;
            salesLead.Asignacion.FechaAsignacion = this.DateApertura.DateTime;

            //Datos Shipper
            salesLead.ShipperNombre = txtShipNombre.Text;
            salesLead.Shipperdireccion = txtShipDireccion.Text;
            salesLead.ShipperZipCode = txtShipZipCode.Text;
            salesLead.ShipperCiudad = txtShipCiudad.Text;
            salesLead.ShipperContacto = txtShipContacto.Text;
            salesLead.ShipperEmail = txtShipEmail.Text;
            salesLead.ShipperWeb = txtShipWeb.Text;
            salesLead.ShipperFono = txtShipTelefono.Text;
            salesLead.ShipperPais = txtShipPais.Text;

            //Datos Consignatario
            salesLead.ConsigContacto = txtConsigContacto.Text;
            salesLead.ConsigDireccion = txtConsigDireccion.Text;
            salesLead.Consigciudad = txtConsigCiudad.Text;
            salesLead.ConsigNombre = txtConsigNombre.Text;
            salesLead.ConsigTelefono = txtConsigTelefono.Text;
            salesLead.ConsigEmail = txtconsigEmail.Text;
            salesLead.GlosaCommodity = txtCommodity.Text;

            //Tipos de Producto
            foreach (clsTipoProducto i in lstProductos.CheckedItems)
                salesLead.TiposProductos.Add(i);

            //Unidades de Medida
            if (this.txtCantidadLCL.Text != "")
            {
                salesLead.LCLCantidad = Convert.ToInt64(txtCantidadLCL.Text);
                if (this.cboUMLCL.SelectedIndex > 0)
                {
                    salesLead.LCLMedida = (clsItemParametro)cboUMLCL.SelectedItem;
                }
            }
            if (this.txtCantidadFCL.Text != "")
            {
                salesLead.FCLCantidad = Convert.ToInt64(txtCantidadFCL.Text);
                if (this.cboUMFCL.SelectedIndex > 0)
                {
                    salesLead.FCLMedida = (clsItemParametro)cboUMFCL.SelectedItem;
                }
            }
            if (this.txtCantidadAereo.Text != "")
            {
                salesLead.AereoCantidad = Convert.ToInt64(txtCantidadAereo.Text);
                if (this.cboUMAereo.SelectedIndex > 0)
                {
                    salesLead.AereoMedida = (clsItemParametro)cboUMAereo.SelectedItem;
                }
            }

            //Terminos de Compra
            for (int i = 0; i <= this.lstTerminosCompra.ItemCount - 1; i++)
            {
                clsItemParametro ObjPaso = new clsItemParametro();
                ObjPaso = (clsItemParametro)lstTerminosCompra.GetItemValue(i);
                if (lstTerminosCompra.GetItemCheckState(i) == CheckState.Checked)
                {
                    salesLead.TerminosCompra.Add(ObjPaso);
                }
            }

            //incoterms
            foreach (clsItemParametro incoterm in lstIncoterms.CheckedItems)
                    salesLead.Incoterms.Add(incoterm);

            //Competencia
            if (this.gridCompetencia.DataSource != null)
            {
                salesLead.Competencias = (IList<clsMetaCompetencia>)gridCompetencia.DataSource;
            }

            //Follow UP
            if (salesLead.FollowUps.Count == 0) {
                var followup = new clsClienteFollowUp();
                followup.FechaFollowUp = DateRevision.DateTime;
                followup.Descripcion = "Primera reunión de seguimiento";
                followup.Usuario = salesLead.UsuarioAsignador;
                followup.Activo = true;
                salesLead.FollowUps.Add(followup);
            }

            var listaProspectos = (IList<ClsSalesLead>)gridAsignaciones.DataSource;
            if (listaProspectos== null)
                listaProspectos = new List<ClsSalesLead>();
            listaProspectos.Add(salesLead);
            gridAsignaciones.DataSource = listaProspectos;
            gridAsignaciones.RefreshDataSource();

            return true;
        }
コード例 #2
0
ファイル: clsClienteMasterADO.cs プロジェクト: TarekMulla/cra
 public static ResultadoTransaccion EliminarLogicoFollowUpClienteMaster(clsClienteFollowUp FollowUp, SqlTransaction transaction)
 {
     FollowUp.Activo = false;
     return ModificarFollowUpClienteMaster(FollowUp, transaction);
 }
コード例 #3
0
ファイル: clsClienteMasterADO.cs プロジェクト: TarekMulla/cra
        public static ResultadoTransaccion ModificarFollowUpClienteMaster(clsClienteFollowUp FollowUp, SqlTransaction transaction)
        {
            resTransaccion = new ResultadoTransaccion();
            try {
                objParams = SqlHelperParameterCache.GetSpParameterSet(BaseDatos.Conexion(), "SP_A_CLIENTES_FOLLOW_UP");
                objParams[0].Value = FollowUp.Id;
                objParams[1].Value = FollowUp.FechaFollowUp;
                if (FollowUp.TipoActividad == null)
                    objParams[2].Value = -1;
                else
                    objParams[2].Value = FollowUp.TipoActividad.Id;

                objParams[3].Value = FollowUp.Descripcion;
                objParams[4].Value = FollowUp.Activo;

                SqlCommand command = new SqlCommand("SP_A_CLIENTES_FOLLOW_UP", BaseDatos.Conexion());
                command.Transaction = transaction;
                command.Parameters.AddRange(objParams);
                command.CommandType = CommandType.StoredProcedure;
                command.ExecuteNonQuery();

                resTransaccion.Estado = Enums.EstadoTransaccion.Aceptada;

            } catch (Exception ex) {
                resTransaccion.Estado = Enums.EstadoTransaccion.Rechazada;
                resTransaccion.Descripcion = ex.Message;
                Log.EscribirLog(ex.Message);
            }
            return resTransaccion;
        }
コード例 #4
0
ファイル: clsClienteMasterADO.cs プロジェクト: TarekMulla/cra
        private static IList<clsClienteFollowUp> ObtenerfollowUp(IDataReader dataReader)
        {
            var retorno = new List<clsClienteFollowUp>();
            while (dataReader.Read()) {
                var followup = new clsClienteFollowUp();
                followup.Id = Convert.ToInt64(dataReader["Id"]);
                followup.FechaFollowUp = Convert.ToDateTime(dataReader["FechaFollowUp"]);

                if (dataReader["IdActividad"] is DBNull) {
                    followup.TipoActividad = new clsTipoActividad();
                } else {
                    followup.TipoActividad.Id = Convert.ToInt64(dataReader["IdActividad"]);
                    followup.TipoActividad.Nombre = dataReader["Actividad"].ToString();
                    followup.TipoActividad.Alias = dataReader["Alias"].ToString();
                }

                followup.Descripcion = dataReader["Descripcion"].ToString();
                followup.FechaCreacion = Convert.ToDateTime(dataReader["FechaCreacion"]);
                followup.Usuario.Nombre = dataReader["Nombres"].ToString();
                followup.Usuario.ApellidoPaterno = dataReader["ApellidoPaterno"].ToString();
                followup.Usuario.ApellidoMaterno = dataReader["ApellidoMaterno"].ToString();

                if (!String.IsNullOrEmpty(dataReader["IdLlamadaTelefonica"].ToString()))
                    followup.IdLlamadaTelefonica = Convert.ToInt64(dataReader["IdLlamadaTelefonica"].ToString());

                if (!String.IsNullOrEmpty(dataReader["IdInformeVisita"].ToString()))
                    followup.IdInformeVisita = Convert.ToInt64(dataReader["IdInformeVisita"].ToString());

                if (!String.IsNullOrEmpty(dataReader["idtarget"].ToString()))
                    followup.IdTarget = Convert.ToInt64(dataReader["idtarget"].ToString());

                if (!String.IsNullOrEmpty(dataReader["activo"].ToString()))
                    followup.Activo = Convert.ToBoolean(dataReader["activo"].ToString());

                try {
                    if (!String.IsNullOrEmpty(dataReader["idSLead"].ToString()))
                        followup.IdSalesLead = Convert.ToInt64(dataReader["idSLead"].ToString());
                } catch (Exception e) {
                    Console.Write(e.Message);
                }

                try {
                    if (!String.IsNullOrEmpty(dataReader["idCotizacion"].ToString()))
                        followup.IdCotizacion = Convert.ToInt64(dataReader["idCotizacion"].ToString());
                } catch (Exception e) {
                    Console.Write(e.Message);
                }

                retorno.Add(followup);
            }
            return retorno;
        }
コード例 #5
0
ファイル: clsClienteMasterADO.cs プロジェクト: TarekMulla/cra
        public static ResultadoTransaccion AgregarFollowUpClienteMaster(clsClienteFollowUp followUp, SqlTransaction transaction)
        {
            resTransaccion = new ResultadoTransaccion();
            try {
                objParams = SqlHelperParameterCache.GetSpParameterSet(BaseDatos.Conexion(), "SP_N_CLIENTES_FOLLOW_UP");
                objParams[0].Value = followUp.IdInformeVisita ?? -1;
                objParams[1].Value = followUp.IdLlamadaTelefonica ?? -1;
                objParams[2].Value = followUp.FechaFollowUp;
                if (followUp.TipoActividad == null)
                    objParams[3].Value = -1;
                else
                    objParams[3].Value = followUp.TipoActividad.Id;

                objParams[4].Value = followUp.Cliente.Id;
                objParams[5].Value = followUp.Descripcion;
                objParams[6].Value = DateTime.Now;
                objParams[7].Value = followUp.Usuario.Id;
                objParams[8].Value = followUp.IdTarget ?? -1;
                objParams[9].Value = followUp.Activo;
                objParams[10].Value = followUp.IdSalesLead ?? -1;
                objParams[11].Value = followUp.IdCotizacion ?? -1;
                objParams[12].Direction = ParameterDirection.Output;

                SqlCommand command = new SqlCommand("SP_N_CLIENTES_FOLLOW_UP", BaseDatos.Conexion());
                command.Transaction = transaction;
                command.Parameters.AddRange(objParams);
                command.CommandType = CommandType.StoredProcedure;
                //command.ExecuteNonQuery();

                    command.ExecuteScalar();

                followUp.Id = Convert.ToInt16(objParams[12].Value);
                followUp.Id32 = Convert.ToInt32(objParams[12].Value);

                resTransaccion.Estado = Enums.EstadoTransaccion.Aceptada;

            } catch (Exception ex) {
                resTransaccion.Estado = Enums.EstadoTransaccion.Rechazada;
                resTransaccion.Descripcion = ex.Message;
                Log.EscribirLog(ex.Message);
            }
            return resTransaccion;
        }
コード例 #6
0
ファイル: frmSleadFollowUp.cs プロジェクト: TarekMulla/cra
 private void AgregarFollowUpGrilla(clsClienteFollowUp followup)
 {
     var list = ObtieneFollowUpsDesdeGrilla();
     list.Add(followup);
     gridFollowUp.DataSource = list;
 }
コード例 #7
0
ファイル: frmSleadFollowUp.cs プロジェクト: TarekMulla/cra
 private void sButtonAgregarTrafico_Click(object sender, EventArgs e)
 {
     if (ValidarFollowup()) {
         var followup = new clsClienteFollowUp
         {
             FechaFollowUp = dtFechaFollowUp.DateTime,
             Descripcion = txtDescripcionFollowUp.Text,
             TipoActividad =
                 (clsTipoActividad)cboActividadFollowUp.SelectedItem
         };
         AgregarFollowUpGrilla(followup);
         LimpiaFormFollowUp();
     }
 }
コード例 #8
0
ファイル: frmDefinirMeta.cs プロジェクト: TarekMulla/cra
        private Boolean AsignarProspectoGrilla()
        {
            clsMeta ObjMeta = new clsMeta();
            string Vendedor = "";
            long IdCliente = 0;
            string NombreProspecto = "";
            string TipoOportunidad = "";
            string Vendedor_paso = "";
            long IdCliente_paso = 0;
            string NombreProspecto_paso = "";
            string TipoOportunidad_paso = "";
            //ObjRegistroAsignacion.ObjMeta = new clsMeta();

            // Prospecto de nueva Cuenta
            if (this.rbCuenta.Checked == true)
            {
                ObjMeta.TipoOportunidad = "C";
                ObjMeta.GlosaClienteTarget = this.txtTarget.Text;
                // Se pone cero para indicar que en este caso no se requiere un valor
                // para el cliente master
                ObjMeta.ObjClienteMaster = new clsClienteMaster(true);
                ObjMeta.ObjClienteMaster.Id = -1;
                NombreProspecto_paso = ObjMeta.GlosaClienteTarget;
            }
            // Prospecto de nuevo Trafico
            else
            {
                ObjMeta.TipoOportunidad = "T";
                ObjMeta.GlosaClienteTarget = "";
                ObjMeta.ObjClienteMaster = (clsClienteMaster)CboCliente.SelectedItem;
                IdCliente_paso = ObjMeta.ObjClienteMaster.Id;
            }
            ObjMeta.TipoTarget = "P";
            ObjMeta.EstadoMeta = Enums.EstadosMetas.Propuesta;
            ObjMeta.UsuarioAsignador = ProyectoCraft.Base.Usuario.UsuarioConectado.Usuario;

            TipoOportunidad_paso = ObjMeta.TipoOportunidad;
            ObjMeta.ObjTipoProducto = new List<clsTipoProducto>();
            // AgregaProductosMeta
            foreach (clsTipoProducto i in lstProductos.CheckedItems)
            {
                ObjMeta.ObjTipoProducto.Add(i);
            }
            // AgregaProdutosTrafico
            ObjMeta.ObjMetaGlosasTrafico = (IList<clsMetaGlosasTrafico>)gridTraficos.DataSource;
            // AgregaCompetencia
            ObjMeta.ObjMetaCompetencia = (IList<clsMetaCompetencia>)gridCompetencia.DataSource;

            // AgregaVendedorAsignado
            ObjMeta.ObjMetaAsignacion = new clsMetaAsignacion();
            //            ObjRegistroAsignacion.ObjMeta.ObjMetaAsignacion.ObjVendedorAsignado = new clsUsuario();
            ObjMeta.ObjMetaAsignacion.ObjVendedorAsignado = (clsUsuario)cboVendedores.SelectedItem;
            Vendedor_paso = ObjMeta.ObjMetaAsignacion.ObjVendedorAsignado.NombreUsuario;

            // Fecha Asignacion
            ObjMeta.ObjMetaAsignacion.FechaAsignacion = DateTime.Today;

            // Agregar Commodity
            ObjMeta.GlosaCommodity = this.txtCommodity.Text;

            // Agregar Fecha Apertura
            ObjMeta.FechaApertura = this.DateApertura.DateTime;

            // Agregar Fecha de revisión de avance del prospecto
            //ObjMeta.FechaRevision = this.DateRevision.DateTime;
            if (ObjMeta.FollowUps == null) {
                ObjMeta.FollowUps = new List<clsClienteFollowUp>();
                if (ObjMeta.FollowUps.Count==0) {
                    var followup = new clsClienteFollowUp();
                    followup.FechaFollowUp = this.DateRevision.DateTime;
                    followup.Descripcion = "Primera reunión de seguimiento";
                    followup.Usuario = ObjMeta.UsuarioAsignador;
                    followup.Activo = true;
                    followup.Cliente = ObjMeta.ObjClienteMaster;
                    ObjMeta.FollowUps.Add(followup);
                }
            }

            // Agregar Tipo Contenedor
            ObjMeta.ObjTipoContenedor = (clsItemParametro)this.lstTipoContenedor.SelectedItem;

            // Prioridad
            ObjMeta.Prioridad = (clsItemParametro)this.cboPrioridad.SelectedItem;

            // Shipper
            ObjMeta.Shipper = this.txtShipper.Text;

            //Obtener el source actual de la grilla
            if (gridAsignaciones.DataSource != null)
            {
                IList<clsMeta> ListaProspectos = (IList<clsMeta>)gridAsignaciones.DataSource;
                foreach (clsMeta Prospecto in ListaProspectos)
                {
                    TipoOportunidad = Prospecto.TipoOportunidad;
                    if (TipoOportunidad == "C")
                    {
                        NombreProspecto = Prospecto.GlosaClienteTarget;
                    }
                    else
                    {
                        IdCliente = Prospecto.ObjClienteMaster.Id;
                    }
                    Vendedor = Prospecto.ObjMetaAsignacion.ObjVendedorAsignado.NombreUsuario;
                    if (Vendedor_paso == Vendedor && ((IdCliente == IdCliente_paso) || (NombreProspecto == NombreProspecto_paso)) && (TipoOportunidad == TipoOportunidad_paso))
                    {
                        return false;
                    }
                    else
                    {
                        ListaProspectos.Add(ObjMeta);
                    }
                    // Agrego el prospecto a la lista de prospectos asignados en la sesion
                    // ListaProspectos.Add(ObjRegistroAsignacion);
                    gridAsignaciones.DataSource = ListaProspectos;
                    gridAsignaciones.RefreshDataSource();
                }
            }
            else
            {
                IList<clsMeta> ListaProspectos = new List<clsMeta>();
                ListaProspectos.Add(ObjMeta);
                gridAsignaciones.DataSource = ListaProspectos;
            }
            return true;
        }