Beispiel #1
0
        public static Persona Discapacidad_Guardar(Anses.ArgentaC.Negocio.CertificadosWS.Certificados certificados, Persona _persona)
        {
            try
            {
                if (log.IsInfoEnabled)
                {
                    log.DebugFormat("Selecciono certificado de entre todos los certificados de invalidez ({0})", _persona.Cuil.ToString());
                }

                CertificadosWS.Certificado cert = new CertificadosWS.Certificado();
                cert = SeleccionarCertificado(certificados);
                if (cert != null)
                {
                    //actualizo los datos del beneficiario con los datos del certificado de discapacidad
                    if (cert.permanente == "S")
                    {
                        _persona.BeneficiosRelacionados.Find(x => x.Cuil == cert.cuil).EsDiscapacitadoPermanente = true;
                        _persona.BeneficiosRelacionados.Find(x => x.Cuil == cert.cuil).FechaVtoDiscapacidad      = DateTime.MaxValue;
                    }
                    else
                    {
                        _persona.BeneficiosRelacionados.Find(x => x.Cuil == cert.cuil).EsDiscapacitadoPermanente = false;
                        _persona.BeneficiosRelacionados.Find(x => x.Cuil == cert.cuil).FechaVtoDiscapacidad      = cert.fechaVtoCud;
                    }
                    if (log.IsInfoEnabled)
                    {
                        log.DebugFormat("El certificado de invalidez del cuil {0} tiene ID = {1} ; fechaVto = {2} ; esPermanente = {3}", cert.cuil.ToString(), cert.idCud, cert.fechaVtoCud.ToString(), cert.permanente);
                    }
                }
                else
                {
                    log.DebugFormat("El método SeleccionarCertificado no ha devuelto ningun certificado valido");
                }
                return(_persona);
            }
            catch (Exception err)
            {
                log.Error(string.Format("{0} - Error:{1}->{2}", System.Reflection.MethodBase.GetCurrentMethod().Name, err.Source, err.Message));
                return(null);
            }
        }
Beispiel #2
0
        public static Anses.ArgentaC.Negocio.CertificadosWS.Certificado SeleccionarCertificado(Anses.ArgentaC.Negocio.CertificadosWS.Certificados certificados)
        {
            try
            {
                //si hay un solo certificado que no esta dado de baja y aun no vencio, no miro el idcud, de lo contrario hay que seleccionar de la lista el que corresponda
                if (certificados.certificado.Count() == 1)
                {
                    if (!(certificados.certificado.First().fechaBaja < DateTime.Now) && !(certificados.certificado.First().fechaVtoCud < DateTime.Now))
                    {
                        return(certificados.certificado.First());
                    }
                }
                //List<Anses.ArgentaC.Negocio.CertificadosWS.Certificado> unCertificado = new List<CertificadosWS.Certificado>;
                var unCertificado = from unCert in certificados.certificado
                                    where unCert.fechaBaja.ToString() == "01/01/1900 12:00:00 a.m." && !string.IsNullOrEmpty(unCert.idCud)
                                    group unCert by unCert.cuil into x
                                    select x.OrderByDescending(t => t.fechaEmisionCud).FirstOrDefault();

                if (unCertificado.Any())
                {
                    return(unCertificado.First());
                }
                else
                {
                    return(null);
                }
            }
            catch (Exception err)
            {
                log.Error(string.Format("{0} - Error:{1}->{2}", System.Reflection.MethodBase.GetCurrentMethod().Name, err.Source, err.Message));
                return(null);
            }
        }