Foros del Web » Programación para mayores de 30 ;) » .NET »

[SOLUCIONADO] Libreria Analisis

Estas en el tema de Libreria Analisis en el foro de .NET en Foros del Web. Buen día a todos, Mi siguiente consulta se relaciona a la creación de una librería...la librería debe ser referenciada desde un WebService...el propósito es el ...
  #1 (permalink)  
Antiguo 07/04/2016, 14:01
Avatar de SPAWN3000  
Fecha de Ingreso: marzo-2008
Ubicación: Bogota
Mensajes: 858
Antigüedad: 16 años, 1 mes
Puntos: 15
Libreria Analisis

Buen día a todos,

Mi siguiente consulta se relaciona a la creación de una librería...la librería debe ser referenciada desde un WebService...el propósito es el siguiente.

1. La librería cuenta con la estructura de clases en las cuales se cargaran los datos del XML. EJ: Si trae los datos de persona (existe una clase llamada CLPersona)

Código:
using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.Serialization;
using LiblECTURE.Method;

namespace LibPolicyEmi
{
    public class ClProcessData : ClHeaderPolicy
    {
        List<int> ListErrors = new List<int>();
        //List<LiblECTURE.ClMensajeria> ListRespuesta = new List<LiblECTURE.ClMensajeria>();
        //public object ClsGetInstance() { return objInstance; }
        public void ClsSetConnect() {}

        #region "proceso"
        public List<int> ProcessValidation()
        {
            
            //ListMensajeria.Contains(new LiblECTURE.ClMensajeria { codError = 1, Mensaje = "" });

            #region "ValidacionesPoliza"
            if (this.FechaFinVigencia >= this.FechaInicioVigencia) ListErrors.Add(95);    //Fecha de inicio debe ser mayor a la de fin.
            if (this.TipoDocFianzas == 0) ListErrors.Add(27);        //Tipo de documento del afianzado(no puede ser 0)
            if (this.NroDocFianzas.Equals("")) ListErrors.Add(28);   //El Nro. documento de afianzado es obligatorio.
            if (this.NumeroPoliza.ToString().Equals("")) ListErrors.Add(103); //Nro. pol en blanco

            #endregion

            #region "ValidacionesPersonas"
            foreach (LiblECTURE.Persons.Person.ClPersons thePerson in this.Person)
            {
                if (thePerson.IdentificacionPersona.Equals("") || thePerson.IdentificacionPersona.ToString().Length <= 2) ListErrors.Add(2); //Obligatorio mínimo 3 núumeros
                if (thePerson.DigitoVerificacion.Equals("")) ListErrors.Add(3); //Obligatorio (default 0)
                if (thePerson.PrimerApellido.Equals("")) ListErrors.Add(4); //Obligatorio
                if (thePerson.PrimerNombre.Equals("")) ListErrors.Add(6); //Obligatorio
                if (!thePerson.Genero.Equals("M", StringComparison.InvariantCultureIgnoreCase) && !thePerson.Genero.Equals("F", StringComparison.InvariantCultureIgnoreCase)) ListErrors.Add(8); //Genero

                foreach (LiblECTURE.Persons.Person.Address.ClAddress thePersonDir in thePerson.dirperson) //Dirección
                {
                    if (thePersonDir.DireccionCompleta.Equals("")) ListErrors.Add(9);
                    if (thePersonDir.Geoper.IdPais.Equals(0)) ListErrors.Add(96);
                    if (thePersonDir.Geoper.IdDepto.Equals(0)) ListErrors.Add(97);
                    if (thePersonDir.Geoper.IdCiudad.Equals(0)) ListErrors.Add(98);
                }
                foreach (LiblECTURE.Persons.Person.Phone.ClPhone thePersonPhone in thePerson.telperson) //Teléfono
                {
                    if (thePersonPhone.NumeroTelefono.Equals("")) ListErrors.Add(13);
                }
            }
            #endregion

            #region "ValidacionRiesgo"
            foreach (LiblECTURE.Risk.ClRisk ListRisk in this.ListRisk)
            {
                foreach (LiblECTURE.Risk.Coverage.ClGroupCoverage ListRCover in ListRisk.GrupoCob)
                {

                    if (ListRCover.AcumulaSuma == true)
                    {
                        if (ListRCover.SumaAsegurada.ToString().Equals(""))
                        {
                            ListErrors.Add(44);
                        }
                        else
                        {
                            if (ListRCover.SumaAsegurada <= 0) ListErrors.Add(101);
                            if (ListRCover.PorcentajeTasa.ToString().Equals("") || ListRCover.PorcentajeTasa < 0) ListErrors.Add(42);
                            if (ListRCover.PorcentajeContrato.ToString().Equals("") || ListRCover.PorcentajeContrato < 0) ListErrors.Add(43);
                        }
                    }
                    if (ListRCover.AcumulaPrima ==true){
                        if (ListRCover.ValorPrima.ToString().Equals(""))
                        {
                            ListErrors.Add(45);
                        }
                        else
                        {
                            if (ListRCover.ValorPrima <= 0) ListErrors.Add(100);
                            if (ListRCover.ValorPrima < ListRCover.SumaAsegurada) ListErrors.Add(102);
                        }
                    }
                }
            }
            #endregion

            return ListErrors;
        }
        #endregion
    }
}

--Una idea de una de las clases...
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using LiblECTURE.Persons.Person;
using LiblECTURE.Risk;

namespace LiblECTURE.Method
{
    public class ClHeaderPolicy
    {
        #region "Datos Basicos"
        public short sucursal { get; set; }
        public short RamoComercial { get; set; }
        public int NumeroPoliza { get; set; }
        public int PuntoVenta { get; set; }
        public short TipoOperacion { get; set; }
        public short TipoMovimiento { get; set; }
        public DateTime FechaEmision { get; set; }
        public DateTime FechaInicioVigencia { get; set; }
        public DateTime FechaFinVigencia { get; set; }
        public Boolean AplicaIVA { get; set; }
        public short TipoPoliza { get; set; }
        public int Tomador { get; set; }
        public string Usuario { get; set; }
        public int GiroNegocio { get; set; }
        public decimal impValorContrato { get; set; }
        public int TipoDocFianzas { get; set; }
        public string NroDocFianzas { get; set; }
        public decimal PorcentajeIva { get; set; }
        public decimal ImporteIva { get; set; }
        public decimal ImporteGastos { get; set; }
        public String TextoObjeto { get; set; }
        public String TextoAclaratorio { get; set; }
        public String NombreTercero { get; set; }
        public String NroJuzgado { get; set; }
        public short CodigoArticulo { get; set; }
        public String NroRadicado { get; set; }
        public int Intermediario { get; set; }
        public short TipoIntermediario { get; set; }
        public short MonedaEmision { get; set; }
        public decimal Cambio { get; set; }
        public short TipoNegocio { get; set; }
        public short Operacion { get; set; }
        public int Afianzado { get; set; }
        public List<ClPersons> Person { get; set; }
        public List<ClRisk> ListRisk { get; set; }
        //public ClPersons Person { get; set; }
        #endregion
    }
}
Por tanto desde el WebService se instancia mi Clase, se accede a CLPersona y se cargan los datos desde el XML.


2. La forma de procesar mi librería podría ser la siguiente? necesito acceder al resto de clases...pero no tengo muy claro la manera correcta de definirla.
En este punto me genera error.


obj.Person.Add (
new ClPersons() { TipoIdentificacion = 1, DigitoVerificacion = 3 }
);

Código:
--intento de consumirla (Me genera el siguiente mensaje de error: Referencia a objeto no establecida como instancia de un objeto.)
/*
Al hacer eso genera error.
            obj.Person.Add (
                            new ClPersons() { TipoIdentificacion = 1, DigitoVerificacion = 3 }
                            );
*/

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using LibPolicyEmi;
using LiblECTURE.Persons.Person;

namespace ValidarLib
{
    public partial class Form1 : Form
    {

        public Form1()
        {
            InitializeComponent();
        }

        private void CmdTest_Click(object sender, EventArgs e)
        {
            List<int> result; 
            List<ClPersons> Objo = new List<ClPersons>();

            LibPolicyEmi.ClProcessData obj = new LibPolicyEmi.ClProcessData();
            obj.NumeroPoliza = 123;
            obj.NroRadicado = "34";

            obj.Person.Add (
                            new ClPersons() { TipoIdentificacion = 1, DigitoVerificacion = 3 }
                            );
            /*
            obj.Person.Add(
                new ClPersons()
                {
                    TipoIdentificacion = 1,
                    DigitoVerificacion = 3
                }
             );
             * */

            foreach (ClPersons theGalaxy in obj.Person)
            {
                Console.WriteLine(theGalaxy.DigitoVerificacion);
                Console.WriteLine(theGalaxy.TipoIdentificacion);
            }
            //ListMensajeria.Contains(new LiblECTURE.ClMensajeria { codError = 1, Mensaje = "" });
           
            /*obj.Person.Contains(
                new ClPersons() { TipoIdentificacion = 1, DigitoVerificacion = 3 }
                );
             * /
            
             * 
             */

            result = obj.ProcessValidation();
        }
    }
}
De antemano muchas gracias....

Última edición por SPAWN3000; 08/04/2016 a las 08:18

Etiquetas: c#
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:05.