示例#1
0
            public static ClsResultado ValidaClave(String Campo, String CampoCve, String CampoTexto, byte NumeroDeClave, String ValorDeDato, int row, ref Dictionary <String, String> Registros)
            {
                ClsResultado Resultado = new ClsResultado(true, String.Empty);

                if (!String.IsNullOrEmpty(ValorDeDato))
                {
                    using (DBKuupEntities db = new DBKuupEntities())
                    {
                        List <Claves> Claves = (from q in db.Claves where q.CVE_NUM_CLAVE == NumeroDeClave && q.CVE_NOM_CLAVE == ValorDeDato.Trim().ToUpper() select q).ToList();
                        if (Claves.Count() == 1)
                        {
                            Registros.Add(Campo, Claves.FirstOrDefault().CVE_NOM_CLAVE);
                            Registros.Add(CampoCve, Claves.FirstOrDefault().CVE_NUM_SEC_CLAVE.ToString());
                        }
                        else
                        {
                            Registros.Add(Campo, String.Empty);
                            Registros.Add(CampoCve, "0");
                            Resultado.Resultado = false;
                            Resultado.Mensaje   = "El campo " + CampoTexto + " no fue encontrado dentro de las claves";
                        }
                    }
                }
                else
                {
                    Registros.Add(Campo, String.Empty);
                    Registros.Add(CampoCve, "0");
                    Resultado.Resultado = false;
                    Resultado.Mensaje   = "El campo " + CampoTexto + " es requerido";
                }
                return(Resultado);
            }
示例#2
0
            public static ClsResultado ValidaLista(List <ClsResultado> ListaResultados)
            {
                ClsResultado resultado = new ClsResultado(true, String.Empty);

                if (ListaResultados.Exists(x => x.Resultado == false))
                {
                    resultado.Resultado = false;
                    resultado.Mensaje   = "Resultado con errores";
                    resultado.Adicional = ListaResultados.FindAll(x => x.Resultado == false).ToList();
                }
                return(resultado);
            }
示例#3
0
            public static ClsResultado ValidaCapacidad(String Campo, String Valor, Type TipoDeDato, int CapacidadNumeroEntero, int CapacidadNumeroDecimal)
            {
                ClsResultado Resultado = new ClsResultado(true, String.Empty);

                if (TipoDeDato == typeof(byte) && TipoDeDato == typeof(short))
                {
                    if (Valor.Length > CapacidadNumeroEntero)
                    {
                        Resultado.Resultado = false;
                        Resultado.Mensaje   = "La capacidad del campo " + Campo + " a registrar excede lo aceptado";
                    }
                }
                else if (TipoDeDato == typeof(decimal))
                {
                    if (Valor.Split('.')[0].Length > CapacidadNumeroEntero)
                    {
                        Resultado.Resultado = false;
                        Resultado.Mensaje   = "La capacidad del campo " + Campo + " a registrar excede lo aceptado, de parte del entero";
                    }
                    if (Valor.Split(',').Length == 2)
                    {
                        if (Valor.Split(',')[1].Length > CapacidadNumeroDecimal)
                        {
                            Resultado.Resultado = false;
                            if (!String.IsNullOrEmpty(Resultado.Mensaje))
                            {
                                Resultado.Mensaje += "La capacidad del campo " + Campo + " a registrar excede lo aceptado, de parte del decimal";
                            }
                            else
                            {
                                Resultado.Mensaje = "La capacidad del campo  " + Campo + "a registrar excede lo aceptado, de parte del decimal";
                            }
                        }
                    }
                }
                else if (TipoDeDato == typeof(String))
                {
                    if (Valor.Length > CapacidadNumeroEntero)
                    {
                        Resultado.Resultado = false;
                        Resultado.Mensaje   = "La capacidad del campo " + Campo + " a registrar excede lo aceptado";
                    }
                }
                return(Resultado);
            }
示例#4
0
            public static ClsResultado ValidaCampoNumericoYCapacidad(String Campo, String CampoTexto, bool EsRequerido, int Capacidad, int CapacidadDecimal, String ValorDeDato, Type TipoAConvertir, int row, ref Dictionary <String, String> Registros)
            {
                ClsResultado Resultado = new ClsResultado(true, String.Empty);

                if (!String.IsNullOrEmpty(ValorDeDato))
                {
                    Resultado = ValidaTipoDeDato(CampoTexto, ValorDeDato, TipoAConvertir);
                    if (Resultado.Resultado)
                    {
                        Resultado = ValidaCapacidad(CampoTexto, ValorDeDato, TipoAConvertir, Capacidad, CapacidadDecimal);
                        if (Resultado.Resultado)
                        {
                            Registros.Add(Campo, ValorDeDato);
                        }
                        else
                        {
                            Registros.Add(Campo, ValorDeDato);
                        }
                    }
                    else
                    {
                        Registros.Add(Campo, ValorDeDato);
                    }
                }
                else
                {
                    if (EsRequerido)
                    {
                        Registros.Add(Campo, "0");
                        Resultado.Resultado = false;
                        Resultado.Mensaje   = "El campo " + Campo + " es requerido";
                    }
                    else
                    {
                        Registros.Add(Campo, "0");
                    }
                }
                return(Resultado);
            }
示例#5
0
            public static ClsResultado ValidaCampoStringCapacidad(String Campo, String CampoTexto, bool EsRequerido, int Capacidad, String ValorDeDato, int row, ref Dictionary <String, String> Registros)
            {
                ClsResultado Resultado = new ClsResultado(true, String.Empty);

                if (String.IsNullOrEmpty(ValorDeDato) && EsRequerido)
                {
                    Resultado.Resultado = false;
                    Resultado.Mensaje   = "El campo " + CampoTexto + " es requerido";
                    Registros.Add(Campo, String.Empty);
                    return(Resultado);
                }
                else if (string.IsNullOrEmpty(ValorDeDato) && !EsRequerido)
                {
                    Registros.Add(Campo, String.Empty);
                }
                else if (!String.IsNullOrEmpty(ValorDeDato))
                {
                    Resultado = ClsAdicional.ClsValida.ValidaCapacidad(CampoTexto, ValorDeDato, typeof(String), Capacidad, 0);
                    Registros.Add(Campo, ValorDeDato);
                }
                return(Resultado);
            }
示例#6
0
            public static ClsResultado ValidaTipoDeDato(String Campo, String Valor, Type TipoAConvertir)
            {
                ClsResultado Resultrado = new ClsResultado(true, String.Empty);

                if (typeof(short) == TipoAConvertir)
                {
                    short outval = 0;
                    if (!short.TryParse(Valor, out outval))
                    {
                        Resultrado.Resultado = false;
                        Resultrado.Mensaje   = "El tipo de dato no es aceptado para este campo " + Campo;
                        return(Resultrado);
                    }
                }
                if (typeof(byte) == TipoAConvertir)
                {
                    byte outval = 0;
                    if (!byte.TryParse(Valor, out outval))
                    {
                        Resultrado.Resultado = false;
                        Resultrado.Mensaje   = "El tipo de dato no es aceptado para este campo " + Campo;
                        return(Resultrado);
                    }
                }
                if (typeof(decimal) == TipoAConvertir)
                {
                    decimal outval = 0;
                    if (!decimal.TryParse(Valor, out outval))
                    {
                        Resultrado.Resultado = false;
                        Resultrado.Mensaje   = "El tipo de dato no es aceptado para este campo " + Campo;
                        return(Resultrado);
                    }
                }
                return(Resultrado);
            }
示例#7
0
            public static ClsResultado ImportarCSVConvierteAEntidad(String ruta, Func <List <List <String> >,
                                                                                       List <Dictionary <String, String> >, ClsResultado> DelegadoValidaCamposParaImportacion,
                                                                    Func <Dictionary <String, String>, List <Object> > DelegadoConvierteListaAEntidad,
                                                                    ref IEnumerable <Object> ListaDeEntidad)
            {
                ClsResultado          Resultado    = new ClsResultado(true, String.Empty);
                List <ClsResultado>   lstResultado = new List <ClsResultado>();
                List <List <String> > Info         = new List <List <String> >();
                List <List <String> > Info2        = new List <List <String> >();
                List <List <String> > Info3        = new List <List <String> >();
                List <List <String> > InfoTemp     = new List <List <String> >();

                try
                {
                    Info3 = ImportarCSV(ruta);
                    if (Info3.Count > 1)
                    {
                        Info3.RemoveAt(0);
                    }
                    else
                    {
                        Resultado.Resultado = false;
                        Resultado.Mensaje   = "Los datos del archivo no pudieron ser validados debido a que vienen vacios, verifique";
                    }
                }
                catch (Exception e)
                {
                    Resultado.Resultado = false;
                    Resultado.Mensaje   = e.Message;
                }
                Info.Add(Info3.FirstOrDefault());
                Info2.Add(Info3.FirstOrDefault());
                int RegistrosDescatados = 0;

                try
                {
                    bool          Encontrado = false;
                    List <Object> lista      = new List <Object>();
                    foreach (var elem1 in Info3)
                    {
                        Encontrado = false;
                        foreach (var elem2 in Info2)
                        {
                            if (ComparaLista(elem1, elem2))
                            {
                                Encontrado = true;
                                break;
                            }
                        }
                        bool FilaConContenido = false;
                        foreach (var celda in elem1)
                        {
                            if (!String.IsNullOrEmpty(celda))
                            {
                                FilaConContenido = true;
                                break;
                            }
                        }
                        if (!FilaConContenido)
                        {
                            break;
                        }
                        if (!Encontrado)
                        {
                            Info.Add(elem1);
                            Info2 = new List <List <String> >();
                            Info2.AddRange(Info);
                        }
                        RegistrosDescatados = Info3.Count() - Info.Count();
                        List <Dictionary <String, String> > lstInfo = new List <Dictionary <String, String> >();
                        InfoTemp = new List <List <String> >();
                        InfoTemp.Add(elem1);
                        Resultado = DelegadoValidaCamposParaImportacion(InfoTemp, lstInfo);
                        if (lstInfo.FirstOrDefault().ContainsKey("Secuencial"))
                        {
                            lstInfo.FirstOrDefault()["Secuencial"] = Info2.Count().ToString();
                        }
                        lstResultado.Add(Resultado);
                        if (lstInfo.Count() > 0)
                        {
                            foreach (var item in lstInfo)
                            {
                                lista.AddRange(DelegadoConvierteListaAEntidad(item));
                            }
                        }
                        else
                        {
                            Resultado.Resultado = false;
                            Resultado.Mensaje   = "Informacion a validar no es valida para ser capturada";
                        }
                    }
                    if (lista.Count > 0)
                    {
                        ListaDeEntidad = lista;
                    }
                    if (lstResultado.Exists(x => x.Resultado == false))
                    {
                        Resultado = ClsResultado.ValidaLista(lstResultado);
                    }
                    else
                    {
                        Resultado.Mensaje = "Archivo listo para cargar";
                    }
                    return(Resultado);
                }
                catch (Exception e)
                {
                }
                return(new ClsResultado());
            }
示例#8
0
            public ClsResultado EnviarCorreo(Dictionary <String, String> Imagenes = null)
            {
                ClsResultado Resultado = new ClsResultado(true, String.Empty);

                try
                {
                    List <Parametro> parametros = new List <Parametro>();
                    using (DBKuupEntities db = new DBKuupEntities()) {
                        parametros = (from q in db.Parametro where q.PAR_CVE_TIPO == 4 select q).ToList();
                    }
                    SmtpClient  smtpClient = new SmtpClient();
                    MailMessage mail       = new MailMessage();
                    if ((parametros.Where(x => x.PAR_NOM_PARAMETRO == "EsHost").Select(y => y.PAR_VALOR_PARAMETRO).FirstOrDefault() != "SI"))
                    {
                        smtpClient.UseDefaultCredentials = false;
                        smtpClient.Credentials           = new NetworkCredential(MoCifrado.Descifrado(parametros.Where(x => x.PAR_NOM_PARAMETRO == "Usuario").Select(y => y.PAR_VALOR_PARAMETRO).FirstOrDefault()), MoCifrado.Descifrado(parametros.Where(x => x.PAR_NOM_PARAMETRO == "Password").Select(y => y.PAR_VALOR_PARAMETRO).FirstOrDefault()));
                        smtpClient.Port = Convert <int>(MoCifrado.Descifrado(parametros.Where(x => x.PAR_NOM_PARAMETRO == "Port").Select(y => y.PAR_VALOR_PARAMETRO).FirstOrDefault()));
                        smtpClient.Host = MoCifrado.Descifrado(parametros.Where(x => x.PAR_NOM_PARAMETRO == "Host").Select(y => y.PAR_VALOR_PARAMETRO).FirstOrDefault());
                    }
                    else
                    {
                        smtpClient.Host = "relay-hosting.secureserver.net";
                        smtpClient.Port = 25;
                    }
                    mail.From = new MailAddress(MoCifrado.Descifrado(parametros.Where(x => x.PAR_NOM_PARAMETRO == "Form").Select(y => y.PAR_VALOR_PARAMETRO).FirstOrDefault()));

                    foreach (var item in Para.Split(';'))
                    {
                        if (!String.IsNullOrEmpty(item))
                        {
                            mail.To.Add(item);
                        }
                    }
                    mail.Subject    = Asunto;
                    mail.IsBodyHtml = Mensaje.Contains("html");
                    if (Imagenes != null)
                    {
                        AlternateView alternateView = AlternateView.CreateAlternateViewFromString(Mensaje, null, MediaTypeNames.Text.Html);
                        foreach (var imagen in Imagenes)
                        {
                            LinkedResource pic1 = new LinkedResource(imagen.Value, MediaTypeNames.Image.Jpeg);
                            pic1.ContentId = imagen.Key;
                            alternateView.LinkedResources.Add(pic1);
                        }
                        mail.AlternateViews.Add(alternateView);
                    }
                    else
                    {
                        mail.Body = Mensaje;
                    }

                    smtpClient.Send(mail);
                }
                catch (SmtpException exm)
                {
                    Resultado.Resultado = false;
                    Resultado.Mensaje   = "Tipo: " + exm.GetType().ToString() + " Mensaje: " + exm.Message;
                    return(Resultado);
                }
                catch (Exception ex)
                {
                    Resultado.Resultado = false;
                    Resultado.Mensaje   = "Tipo: " + ex.GetType().ToString() + " Mensaje: " + ex.Message;
                    return(Resultado);
                }
                return(Resultado);
            }