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); }
public string addServicio(addODTRequest odt) { var mensaje = ""; var val = ""; if (odt == null) { throw new ArgumentNullException("ODT"); } try { Inserts insert = new Inserts(); insert.onbaseinbox(odt); if (odt.FolioTelecarga == "0" || odt.FolioTelecarga == "") { Regex reg = new Regex("[^a-zA-Z0-9 ]"); string[] desc = odt.Producto.Split('-'); var idsegmento = (from aa in contex_.BD_NEGOCIOS where aa.NO_AFILIACION == odt.Afiliacion && aa.ID_CLIENTE == 4 select aa.ID_SEGMENTO).FirstOrDefault(); var idservicio = (from a in contex_.C_SERVICIOS where a.DESC_SERVICIO == reg.Replace(odt.TipoServicio.Normalize(NormalizationForm.FormD), "") && a.ID_CLIENTE == 4 && a.STATUS == "ACTIVO" select a.ID_SERVICIO).FirstOrDefault(); var idfalla = (from b in contex_.C_FALLAS where b.DESC_FALLA == reg.Replace(odt.SubtipoServicio.Normalize(NormalizationForm.FormD), "") && b.ID_CLIENTE == 4 && b.STATUS == "ACTIVO" select b.ID_FALLA).FirstOrDefault(); var idproveedor = (from c in contex_.C_PROVEEDORES_USUARIOS where c.DESC_PROVEEDOR_USUARIO == odt.Proveedor select c.ID_PROVEEDOR_USUARIO).FirstOrDefault(); var idarunico = (from d in contex_.BD_CARGAS join e in contex_.C_CLIENTES on d.ID_CLIENTE equals e.ID_CLIENTE where e.ID_CLIENTE == 4 select new { isarunico = e.IS_AR_UNICO == null ? 0 : e.IS_AR_UNICO }).FirstOrDefault(); var idproducto = (from e in contex_.C_PRODUCTOS_NEGOCIOS where e.DESC_PRODUCTO_NEGOCIO == odt.Producto select e.ID_PRODUCTO_NEGOCIO).SingleOrDefault(); if (idsegmento == null) { idsegmento = 0; } if (odt.ArOdt == "") { mensaje = "El campo de ODT no puede estar vacio"; insert.logws(odt.ArOdt, "ERROR", mensaje); return(mensaje); } if (odt.Descripcion == "") { mensaje = "El campo descripcion no puede estar vacio"; insert.logws(odt.ArOdt, "ERROR", mensaje); return(mensaje); } if (odt.Observacion == "") { mensaje = "El campo observacion no puede estar vacio"; insert.logws(odt.ArOdt, "ERROR", mensaje); return(mensaje); } if (odt.Comercio == "") { mensaje = "El campo comercio no puede estar vacio"; insert.logws(odt.ArOdt, "ERROR", mensaje); return(mensaje); } if (odt.Domicilio == "") { mensaje = "El campo domicilio no puede estar vacio"; insert.logws(odt.ArOdt, "ERROR", mensaje); return(mensaje); } if (odt.Colonia == "") { mensaje = "El campo colonia no puede estar vacio"; insert.logws(odt.ArOdt, "ERROR", mensaje); return(mensaje); } if (odt.Poblacion == "") { mensaje = "El campo poblacion no puede estar vacio"; insert.logws(odt.ArOdt, "ERROR", mensaje); return(mensaje); } if (odt.Estado == "") { mensaje = "El campo estado no puede estar vacio"; insert.logws(odt.ArOdt, "ERROR", mensaje); return(mensaje); } if (odt.Cp == "") { mensaje = "El campo CP no puede estar vacio"; insert.logws(odt.ArOdt, "ERROR", mensaje); return(mensaje); } if (odt.RazonSocial == "") { mensaje = "El campo Razon Social no puede estar vacio"; insert.logws(odt.ArOdt, "ERROR", mensaje); return(mensaje); } if (odt.Rfc == "") { mensaje = "El campo RFC no puede estar vacio"; insert.logws(odt.ArOdt, "ERROR", mensaje); return(mensaje); } if (odt.Proveedor == "") { mensaje = "El campo proveedor no puede estar vacio"; insert.logws(odt.ArOdt, "ERROR", mensaje); return(mensaje); } if (odt.FechaEnvio == "") { mensaje = "El campo Fecha Envio no puede estar vacio"; insert.logws(odt.ArOdt, "ERROR", mensaje); return(mensaje); } //se descomentan lineas para uso de idamex y afiliacion /* if(odt.AfilAmex.Length < 10 || odt.AfilAmex.Length > 10) * { * mensaje = "El campo Afiliacion Amex debe contener 10 numeros con opcion de completar con 7 caracteres de texto"; * insert.logws(odt.ArOdt, "ERROR", mensaje); * return mensaje; * } * if (odt.IdAmex.Length < 8 || odt.IdAmex.Length > 8) * { * mensaje = "El campo Afiliacion Amex debe contener 10 numeros con opcion de completar con 7 caracteres de texto"; * insert.logws(odt.ArOdt, "ERROR", mensaje); * return mensaje; * } */ // if (odt.Producto == "") { mensaje = "El campo Producto no puede estar vacio"; insert.logws(odt.ArOdt, "ERROR", mensaje); return(mensaje); } if (odt.Proyecto == "") { mensaje = "El campo proyecto no puede estar vacio"; insert.logws(odt.ArOdt, "ERROR", mensaje); return(mensaje); } if (odt.EjecutivoKA == "") { mensaje = "El campo EjecutivoKA no puede estar vacio"; insert.logws(odt.ArOdt, "ERROR", mensaje); return(mensaje); } if (odt.EmailEjecutivoKA == "") { mensaje = "El campo EmailEjecutivoKA no puede estar vacio"; insert.logws(odt.ArOdt, "ERROR", mensaje); return(mensaje); } if (odt.EjecutivoSucursal == "") { mensaje = "El campo EjecutivoSucursal no puede estar vacio"; insert.logws(odt.ArOdt, "ERROR", mensaje); return(mensaje); } if (odt.Sucursal == "") { mensaje = "El campo Sucursal no puede estar vacio"; insert.logws(odt.ArOdt, "ERROR", mensaje); return(mensaje); } if (odt.EmailEjecutivo == "") { mensaje = "El campo EmailEjecutivo no puede estar vacio"; insert.logws(odt.ArOdt, "ERROR", mensaje); return(mensaje); } if (odt.TelEjecutivo == "") { mensaje = "El campo TelEjecutivo no puede estar vacio"; insert.logws(odt.ArOdt, "ERROR", mensaje); return(mensaje); } if (odt.TelSucursal == "") { mensaje = "El campo TelSucursal no puede estar vacio"; insert.logws(odt.ArOdt, "ERROR", mensaje); return(mensaje); } if (odt.ContactoComercio == "") { mensaje = "El campo ContactoComercio no puede estar vacio"; insert.logws(odt.ArOdt, "ERROR", mensaje); return(mensaje); } if (odt.Contacto1 == "") { mensaje = "El campo Contacto1 no puede estar vacio"; insert.logws(odt.ArOdt, "ERROR", mensaje); return(mensaje); } if (odt.Contacto2 == "") { mensaje = "El campo Contacto2 no puede estar vacio"; insert.logws(odt.ArOdt, "ERROR", mensaje); return(mensaje); } /*Se agrega campo 27/02/2020*/ if (odt.TipoServicio.Normalize(NormalizationForm.FormD) == "BOARDING DIGITAL" && (odt.SubtipoServicio.Normalize(NormalizationForm.FormD) == "CONTRATO DE RECUPERACION DE FIRMA")) { if (odt.Canal == "") { mensaje = "El campo Canal no puede estar vacio"; insert.logws(odt.ArOdt, "ERROR", mensaje); return(mensaje); } //Se agrega nueva validacion 03/03/2020 C_CANALES canal = contex_.C_CANALES.Where(x => x.DESC_CANAL == odt.Canal.TrimEnd()).FirstOrDefault(); if (canal == null) { mensaje = "El campo Canal no es valido"; insert.logws(odt.ArOdt, "ERROR", mensaje); return(mensaje); } //Fin } if (odt.TipoServicio.Normalize(NormalizationForm.FormD) == "INSTALACION DE BOARDING DIGITAL" && (odt.SubtipoServicio.Normalize(NormalizationForm.FormD) == "INSTALACION BD")) { if (odt.Canal == "") { mensaje = "El campo Canal no puede estar vacio"; insert.logws(odt.ArOdt, "ERROR", mensaje); return(mensaje); } //Se agrega nueva validacion 03/03/2020 C_CANALES canal = contex_.C_CANALES.Where(x => x.DESC_CANAL == odt.Canal.TrimEnd()).FirstOrDefault(); if (canal == null) { mensaje = "El campo Canal no es valido"; insert.logws(odt.ArOdt, "ERROR", mensaje); return(mensaje); } //Fin } /*Fin*/ /* if (odt.ModeloTPV == "") * { * mensaje = "El campo ModeloTPV no puede estar vacio"; * insert.logws(odt.ArOdt, "ERROR", mensaje); * return mensaje; * } */ if (odt.Carga == "") { mensaje = "El campo Carga no puede estar vacio"; insert.logws(odt.ArOdt, "ERROR", mensaje); return(mensaje); } if (idservicio == 0) { mensaje = "El servicio ingresado no existe"; insert.logws(odt.ArOdt, "ERROR", mensaje); return(mensaje); } if (idfalla == 0) { mensaje = "El subtipo de servicio ingresado no existe"; insert.logws(odt.ArOdt, "ERROR", mensaje); return(mensaje); } if (idproveedor == 0) { mensaje = "El proveedor ingresado no existe"; insert.logws(odt.ArOdt, "ERROR", mensaje); return(mensaje); } if (idproducto == 0) { mensaje = "El producto ingresado no existe"; insert.logws(odt.ArOdt, "ERROR", mensaje); return(mensaje); } if (idarunico.isarunico == 1) { var totalar = (from f in contex_.BD_AR where f.NO_AR == odt.ArOdt select f.ID_AR).Count(); if (totalar >= 1) { mensaje = "ODT Repetido"; insert.logws(odt.ArOdt, "ERROR", mensaje); return(mensaje); } else { Updates updates = new Updates(); Procedures procedures = new Procedures(); var idcarga = insert.carga(odt); int idar = insert.ar(odt, idcarga, idservicio, idfalla, idproveedor, idsegmento, idproducto); updates.carga(idcarga); procedures.ingresarServicio(idcarga); updates.arStatus(idar, 32); updates.arStatusText(idar, "Interfaz"); insert.bitacoraAr(idar, 1, 32, "Solicitud de servicio esperando confirmacion."); mensaje = "PREODT ASIGNADA " + odt.ArOdt; val = "EXITO"; } } } else { mensaje = "El campo FolioTelecarga no puede contener datos."; insert.logws(odt.ArOdt, "ERROR", mensaje); return(mensaje); } } catch (Exception ex) { mensaje = ex.StackTrace; val = "ERROR"; } Inserts inserts = new Inserts(); inserts.logws(odt.ArOdt, val, mensaje); return(mensaje); }