Пример #1
0
        public void onbaseinboxconfirmacion(confirmarODTRequest odt)
        {
            BD_ONBASE_INBOX_CONFIRMACION confirma = new BD_ONBASE_INBOX_CONFIRMACION();

            confirma.AFILIACION       = odt.Afiliacion;
            confirma.CANAL            = odt.Canal;
            confirma.COLONIA          = odt.Colonia;
            confirma.CONECTIVIDAD     = odt.Conectividad;
            confirma.CONTACTO1        = odt.Contacto1;
            confirma.CONTACTO2        = odt.Contacto2;
            confirma.CONTACTOCOMERCIO = odt.ContactoComercio;
            confirma.CP                  = odt.Cp;
            confirma.DESCRIPCION         = odt.Descripcion;
            confirma.DIASATENCION        = odt.DiasAtencion;
            confirma.EJECUTIVOKA         = odt.EjecutivoKA;
            confirma.EJECUTIVOSUCURSAL   = odt.EjecutivoSucursal;
            confirma.EMAILEJECUTIVOKA    = odt.EmailEjecutivoKA;
            confirma.EMAILSERV           = odt.EmailServ;
            confirma.ESTADO              = odt.Estado;
            confirma.FOLIOTELECARGA      = odt.FolioTelecarga;
            confirma.HORARIOATENCION     = odt.HorarioAtencion;
            confirma.IDCAJA              = odt.IdCaja;
            confirma.MCC                 = odt.Mcc;
            confirma.MODELOTPV           = odt.ModeloTPV;
            confirma.POBLACION           = odt.Poblacion;
            confirma.PREODT              = odt.PreOdt;
            confirma.PRODUCTO            = odt.Producto;
            confirma.PROVEEDOR           = odt.Proveedor;
            confirma.PROYECTO            = odt.Proyecto;
            confirma.REFERENCIAUBICACION = odt.ReferenciaUbicacion;
            confirma.SUCURSAL            = odt.Sucursal;
            confirma.SINTOMA             = odt.Sintoma;
            confirma.TELEFONO            = odt.Telefono;
            confirma.TELEJECUTIVO        = odt.TelEjecutivo;
            confirma.TELSUCURSAL         = odt.TelSucursal;
            confirma.TIPOAB              = odt.TipoAB;
            contex_.BD_ONBASE_INBOX_CONFIRMACION.InsertOnSubmit(confirma);
            contex_.SubmitChanges();
        }
Пример #2
0
        public string confirmarOdt(confirmarODTRequest request)
        {
            var mensaje = "";
            var val     = "";
            var estado  = "";

            if (request == null)
            {
                throw new ArgumentNullException("Request");
            }
            try
            {
                Updates    update     = new Updates();
                Inserts    insert     = new Inserts();
                Procedures procedures = new Procedures();

                insert.onbaseinboxconfirmacion(request);

                var      idproveedor    = (from a in contex_.C_PROVEEDORES_USUARIOS where a.DESC_PROVEEDOR_USUARIO == request.Proveedor select a.ID_PROVEEDOR_USUARIO).FirstOrDefault();
                var      descProveedor  = (from a in contex_.C_PROVEEDORES_USUARIOS where a.ID_PROVEEDOR_USUARIO == idproveedor select a.DESC_PROVEEDOR_USUARIO).FirstOrDefault();
                var      sepomex        = (from f in contex_.SEPOMEX join g in contex_.SEPOMEX_ESTADOS on f.d_estado equals g.ID_ESTADO where f.d_CP == request.Cp.TrimEnd() select g.ESTADO).FirstOrDefault();
                var      idconectividad = (from b in contex_.C_CONECTIVIDAD where b.DESC_CONECTIVIDAD.Trim().Equals(request.Conectividad.Trim()) && b.ID_CLIENTE == 4 && b.STATUS == "ACTIVO" select b.ID_CONECTIVIDAD).FirstOrDefault();
                var      existCP        = (from a in contex_.BD_TIPO_PLAZA_CLIENTE_CP where a.CP == request.Cp select a).FirstOrDefault();
                string[] tipoabArray    = { "A", "b", "a", "B" };
                int?     idtipoEquipo   = null;
                //DateTime FECHA_INICIO = new DateTime();
                if (tipoabArray.Any(request.TipoAB.Contains))
                {
                    idtipoEquipo = (from c in contex_.C_TIPO_A_B where c.DESC_TIPO_A_B == request.TipoAB.ToUpper() || c.DESC_TIPO_A_B == request.TipoAB.ToLower() select c.ID_TIPO_A_B).FirstOrDefault();
                }


                if (sepomex == null || sepomex == "")
                {
                    mensaje = "El codigo postal no existe en la base de sepomex";
                    insert.logws(request.PreOdt, "ERROR", mensaje);
                    return(mensaje);
                }

                if (existCP == null)
                {
                    mensaje = "NO SE ENCUENTRA ZONA POR CODIGO POSTAL";
                    insert.logws(request.PreOdt, "ERROR", mensaje);
                    return(mensaje);
                }

                if (sepomex.ToUpper() != RemoveAccentsWithNormalization(request.Estado.ToString().ToUpper()))
                {
                    var existeEstado = (from A in contex_.BD_EQUIVALENCIA_ESTADO where A.DESC_ESTADO == RemoveAccentsWithNormalization(request.Estado.ToUpper()) select A.DESC_ESTADO_EQUIVALENCIA).FirstOrDefault();
                    if (sepomex != existeEstado)
                    {
                        mensaje = "ERROR EN DATOS DEMOGRAFICOS";
                        insert.logws(request.PreOdt, "ERROR", mensaje);
                        return(mensaje);
                    }
                    estado = existeEstado;

                    /*
                     * request.Estado = existeEstado;*/
                }
                else
                {
                    estado = null;
                }

                var status = new int?[] { 3, 6, 7, 8 };

                var arstatus = (from a in contex_.BD_AR where a.NO_AR == request.PreOdt && status.Contains(a.ID_STATUS_AR) select a).FirstOrDefault();

                var ar = (from a in contex_.BD_AR where a.NO_AR == request.PreOdt && a.ID_STATUS_AR == 32 select a).FirstOrDefault();

                if (ar == null && arstatus != null)
                {
                    mensaje = "La Odt ya existe en el sistema";
                    insert.logws(request.PreOdt, "ERROR", mensaje);
                    return(mensaje);
                }

                if (ar == null)
                {
                    mensaje = "La PreOdt no existe en el sistema";
                    insert.logws(request.PreOdt, "ERROR", mensaje);
                    return(mensaje);
                }
                if (request.Afiliacion == "" || request.Afiliacion == "0")
                {
                    mensaje = "El campo afiliacion no debe venir vacio o en cero";
                    insert.logws(request.PreOdt, "ERROR", mensaje);
                    return(mensaje);
                }
                if (request.Colonia == "")
                {
                    mensaje = "El campo de Colinia no puede venir vacio";
                    insert.logws(request.PreOdt, "ERROR", mensaje);
                    return(mensaje);
                }
                if (request.Poblacion == "")
                {
                    mensaje = "El campo de poblacion no puede estar vacio";
                    insert.logws(request.PreOdt, "ERROR", mensaje);
                    return(mensaje);
                }
                if (request.Estado == "")
                {
                    mensaje = "El campo de Estado no puede estar vacio";
                    insert.logws(request.PreOdt, "ERROR", mensaje);
                    return(mensaje);
                }
                if (request.Cp.Length > 5 || request.Cp.Length < 4)
                {
                    mensaje = "El campo CP debe tener minimo 4 digitos maximo 5";
                    insert.logws(request.PreOdt, "ERROR", mensaje);
                    return(mensaje);
                }
                if (request.Proveedor == "")
                {
                    mensaje = "El campo de proveedor no puede estar vacio";
                    insert.logws(request.PreOdt, "ERROR", mensaje);
                    return(mensaje);
                }

                /*
                 * if (request.Producto == "")
                 * {
                 *  mensaje = "El campo de producto no puede estar vacio";
                 *  insert.logws(request.PreOdt, "ERROR", mensaje);
                 *  return mensaje;
                 * }*/
                if (request.EjecutivoKA == "")
                {
                    mensaje = "El campo de EjecutivoKA no puede estar vacio";
                    insert.logws(request.PreOdt, "ERROR", mensaje);
                    return(mensaje);
                }
                if (request.EmailEjecutivoKA == "")
                {
                    mensaje = "El campo de EmailEjecutivoKA no puede estar vacio";
                    insert.logws(request.PreOdt, "ERROR", mensaje);
                    return(mensaje);
                }
                if (request.EjecutivoSucursal == "")
                {
                    mensaje = "El campo de EjecutivoSucursal no puede estar vacio";
                    insert.logws(request.PreOdt, "ERROR", mensaje);
                    return(mensaje);
                }
                if (request.Sucursal == "")
                {
                    mensaje = "El campo de Sucursal no puede estar vacio";
                    insert.logws(request.PreOdt, "ERROR", mensaje);
                    return(mensaje);
                }
                if (request.TelEjecutivo == "")
                {
                    mensaje = "El campo de TelEjecutivo no puede estar vacio";
                    insert.logws(request.PreOdt, "ERROR", mensaje);
                    return(mensaje);
                }
                if (request.TelSucursal == "")
                {
                    mensaje = "El campo de TelSucursal no puede estar vacio";
                    insert.logws(request.PreOdt, "ERROR", mensaje);
                    return(mensaje);
                }
                if (request.ContactoComercio == "")
                {
                    mensaje = "El campo de ContactoComercio no puede estar vacio";
                    insert.logws(request.PreOdt, "ERROR", mensaje);
                    return(mensaje);
                }
                if (request.Descripcion == "")
                {
                    mensaje = "El campo de Descripcion no puede estar vacio";
                    insert.logws(request.PreOdt, "ERROR", mensaje);
                    return(mensaje);
                }
                if (request.Telefono == "")
                {
                    mensaje = "El campo de Telefono no puede estar vacio";
                    insert.logws(request.PreOdt, "ERROR", mensaje);
                    return(mensaje);
                }
                if (request.Proyecto == "")
                {
                    mensaje = "El campo de Proyecto no puede estar vacio";
                    insert.logws(request.PreOdt, "ERROR", mensaje);
                    return(mensaje);
                }
                if (idproveedor == 0)
                {
                    return(mensaje = "El proveedor ingresado no existe");
                }

                //nuevas validaciones para campos nuevos de afiliacionAmex y idAmex

                if (request.AfilAmex.Length > 17)
                {
                    mensaje = "El campo Afiliacion Amex debe contener 17 numeros con opcion de completar con 7 caracteres de texto";
                    insert.logws(request.PreOdt, "ERROR", mensaje);
                    return(mensaje);
                }
                if (request.IdAmex.Length > 17)
                {
                    mensaje = "El campo Id Amex debe contener 17 numeros con opcion de completar con 7 caracteres de texto";
                    insert.logws(request.PreOdt, "ERROR", mensaje);
                    return(mensaje);
                }

                //


                ar.NO_AR         = request.PreOdt;
                ar.NO_AFILIACION = request.Afiliacion;
                ar.COLONIA       = request.Colonia;
                //ar.SINTOMA = request.Descripcion;
                ar.BITACORA  = request.Descripcion;
                ar.TELEFONO  = request.Telefono;
                ar.COLONIA   = request.Colonia;
                ar.POBLACION = request.Poblacion;
                if (estado != null)
                {
                    ar.ESTADO = estado;
                }
                else
                {
                    ar.ESTADO = request.Estado;
                }
                ar.CP                  = request.Cp.Trim();
                ar.CAJA                = request.IdCaja;
                ar.ID_PROVEEDOR        = idproveedor;
                ar.ID_TECNICO          = null;
                ar.CODIGO_INTERVENCION = request.TelSucursal;
                ar.OTORGANTE_TAS       = request.Contacto1;
                ar.TELEFONO_COMERCIO   = request.Contacto2;
                ar.MOTIVO_RETIPIFICADO = request.EmailServ;
                ar.MOTIVO_COBRO        = request.ReferenciaUbicacion;
                ar.DESC_EQUIPO         = request.ModeloTPV;
                ar.FEC_INICIO          = DateTime.Now;
                ar.FEC_ALTA            = DateTime.Now;
                if (idtipoEquipo != null)
                {
                    ar.ID_TIPO_EQUIPO = idtipoEquipo;
                }
                if (idconectividad != 0)
                {
                    ar.ID_CONECTIVIDAD = idconectividad;
                }
                if (request.Proyecto.ToUpper().Equals("SI") || request.Proyecto.ToUpper().Equals("SÍ"))
                {
                    ar.ID_PROYECTO = 1;
                }
                else
                {
                    ar.ID_PROYECTO = 0;
                }
                if (request.Producto != "")
                {
                    var idproducto = (from e in contex_.C_PRODUCTOS_NEGOCIOS where e.DESC_PRODUCTO_NEGOCIO == request.Producto select e.ID_PRODUCTO_NEGOCIO).SingleOrDefault();
                    ar.ID_PRODUCTO = idproducto;
                }
                if (request.FolioTelecarga != "")
                {
                    ar.FOLIO_TELECARGA = request.FolioTelecarga;
                    ar.EQUIPO          = request.FolioTelecarga;
                }
                //ingresar variables nuevas
                var AfilAmexV = request.AfilAmex;
                var IdAmex    = request.IdAmex;
                //
                ar.OTORGANTE_SOPORTE_CLIENTE = request.EjecutivoSucursal;
                ar.SINTOMA = request.Sintoma;
                ar.STATUS  = "PROCESADO";
                contex_.SubmitChanges();
                var idar = ar.ID_AR;
                insert.terminalAmex(idar, IdAmex, AfilAmexV);
                procedures.actualizarOdt(idar);
                update.arStatus(idar, 3);
                insert.bitacoraAr(idar, 32, 3, "Solicitud de servicio Asignada");

                mensaje = "ODT REGISTRADA:" + ar.NO_AR;
                val     = "EXITO CONFIRMACION";
            }
            catch (Exception ex)
            {
                mensaje = ex.Message;
                val     = "ERROR CONFIRMACION";
            }
            Inserts inserts = new Inserts();

            inserts.logws(request.PreOdt, val, mensaje);
            return(mensaje);
        }