private OperationResult ValidarAccesoUsuarioSistemaEmpresa(BEUsuarioValidoResponse objUsuarioValidado, string pKeySistema) { var operationResult = new OperationResult(); operationResult.isValid = false; if (string.IsNullOrEmpty(objUsuarioValidado.codEmpresaNombre) && objUsuarioValidado.codEmpleado != "EXT") { operationResult.brokenRulesCollection.Add(new BrokenRule { description = WebConstants.ValidacionDatosSEGURIDAD.FirstOrDefault(x => x.Key == 2006).Value, severity = RuleSeverity.Warning }); return(operationResult); } else if (string.IsNullOrEmpty(objUsuarioValidado.codSistemaNombre)) { operationResult.brokenRulesCollection.Add(new BrokenRule { description = WebConstants.ValidacionDatosSEGURIDAD.FirstOrDefault(x => x.Key == 2007).Value, severity = RuleSeverity.Warning }); return(operationResult); } else if (string.IsNullOrEmpty(objUsuarioValidado.codRolNombre)) { operationResult.brokenRulesCollection.Add(new BrokenRule { description = WebConstants.ValidacionDatosSEGURIDAD.FirstOrDefault(x => x.Key == 2008).Value, severity = RuleSeverity.Warning }); return(operationResult); } //Validar si esta asignado a una empresa //365A01B7-6C8E-460E-90F4-29C52D6CADD7|1|Sistema SIS|10181980325, //0E48ADC1-21B7-465B-858E-F3A3C608CEB1|2|Sistema GC|10181980327 bool blnEmpresaEsValido = false; string strEmpresa = string.Empty; string strnumRUC = string.Empty; DateTime?fecLicenciaVenc = null; int numCodigoError = 0; if (objUsuarioValidado.codEmpleado != "EXT") { //HelpLogging.Write(TraceLevel.Warning, string.Concat(GetType().Name, ".", MethodBase.GetCurrentMethod().Name), // objUsuarioValidado.codEmpresaNombre, // string.Format("Empresa:[{0}], Usuario:[{1}]", "00", objUsuarioValidado.desLogin)); string[] arrEmpresas = objUsuarioValidado.codEmpresaNombre.Split(','); foreach (string itemEmpresa in arrEmpresas) { string[] arrDatoEmpresa = itemEmpresa.Split('|'); //HelpLogging.Write(TraceLevel.Info, string.Concat(GetType().Name,".", MethodBase.GetCurrentMethod().Name), // string.Format("arrDatoEmpresa[{0}].Trim() == pKeySistema({1})", arrDatoEmpresa[0].Trim(), pKeySistema), // string.Format("Empresa:[{0}], Usuario:[{1}]", "00", objUsuarioValidado.desLogin)); if (arrDatoEmpresa[0].Trim() == pKeySistema) { //HelpLogging.Write(TraceLevel.Info, string.Concat(GetType().Name, ".", MethodBase.GetCurrentMethod().Name), // string.Format("ConvertYYYYMMDDToDate:[ {0} ] == DateTime.Now=[ {1} ]", HelpTime.ConvertYYYYMMDDToDate(arrDatoEmpresa[1].Trim()), // DateTime.Now.AddHours(GlobalSettings.GetDEFAULT_HorasFechaActualCloud())), // string.Format("Empresa:[{0}], Usuario:[{1}]", "00", objUsuarioValidado.desLogin)); if (HelpTime.ConvertYYYYMMDDToDate(arrDatoEmpresa[1].Trim()) > DateTime.Now.AddHours(GlobalSettings.GetDEFAULT_HorasFechaActualCloud())) { blnEmpresaEsValido = true; numCodigoError = 0; objUsuarioValidado.codEmpresa = Extensors.CheckInt(arrDatoEmpresa[2]); strEmpresa = arrDatoEmpresa[3].Trim(); strnumRUC = arrDatoEmpresa[4].Trim(); break; } else { numCodigoError = 2011; strEmpresa = arrDatoEmpresa[3].Trim(); fecLicenciaVenc = HelpTime.ConvertYYYYMMDDToDate(arrDatoEmpresa[1].Trim()); HelpLogging.Write(TraceLevel.Warning, string.Concat(GetType().Name, ".", MethodBase.GetCurrentMethod().Name), string.Format("numCodigoError:[ {0} ] == DateTime.Now=[ {1} ]", numCodigoError, DateTime.Now.AddHours(GlobalSettings.GetDEFAULT_HorasFechaActualCloud())), string.Format("Empresa:[{0}], Usuario:[{1}]", "00", objUsuarioValidado.desLogin)); break; } } else { numCodigoError = 2010; HelpLogging.Write(TraceLevel.Warning, string.Concat(GetType().Name, MethodBase.GetCurrentMethod().Name), string.Format("numCodigoError:[ {0} ] == DateTime.Now=[ {1} ]", numCodigoError, DateTime.Now.AddHours(GlobalSettings.GetDEFAULT_HorasFechaActualCloud())), string.Format("Empresa:[{0}], Usuario:[{1}]", "00", objUsuarioValidado.desLogin)); } } if (!blnEmpresaEsValido) { if (numCodigoError == 2011) { operationResult.brokenRulesCollection.Add(new BrokenRule { description = string.Format(WebConstants.ValidacionDatosSEGURIDAD.FirstOrDefault(x => x.Key == numCodigoError).Value, strEmpresa, fecLicenciaVenc.Value.ToShortDateString()), severity = RuleSeverity.Warning }); } else { operationResult.brokenRulesCollection.Add(new BrokenRule { description = WebConstants.ValidacionDatosSEGURIDAD.FirstOrDefault(x => x.Key == numCodigoError).Value, severity = RuleSeverity.Warning }); } return(operationResult); } objUsuarioValidado.codEmpresaNombre = strEmpresa; objUsuarioValidado.numRUC = strnumRUC; } //Validar si esta asignado al sistema //365A01B7-6C8E-460E-90F4-29C52D6CADD7|1|Sistema SIS, //0E48ADC1-21B7-465B-858E-F3A3C608CEB1|2|Sistema GC bool blnSistemaEsValido = false; string strSistema = string.Empty; string[] arrSistemas = objUsuarioValidado.codSistemaNombre.Split(','); foreach (string itemSistema in arrSistemas) { string[] strValoresSistema = itemSistema.Split('|'); if (strValoresSistema[0].Trim() == pKeySistema) { strSistema = strValoresSistema[2].Trim(); objUsuarioValidado.codSistema = strValoresSistema[1].Trim(); blnSistemaEsValido = true; break; } } if (!blnSistemaEsValido) { operationResult.brokenRulesCollection.Add(new BrokenRule { description = WebConstants.ValidacionDatosSEGURIDAD.FirstOrDefault(x => x.Key == 2009).Value, severity = RuleSeverity.Warning }); return(operationResult); } objUsuarioValidado.codSistemaNombre = strSistema; //Validar si esta asignado a un rol //365A01B7-6C8E-460E-90F4-29C52D6CADD7|1|Administrador, //0E48ADC1-21B7-465B-858E-F3A3C608CEB1|15|Administrador bool blnUsuarioEsValido = false; string strRol = string.Empty; string[] arrRolesUsuario = objUsuarioValidado.codRolNombre.Split(','); foreach (string itemRolesUsuario in arrRolesUsuario) { string[] strValoresRolesUsuario = itemRolesUsuario.Split('|'); if (strValoresRolesUsuario[0].Trim() == pKeySistema) { strRol = strValoresRolesUsuario[2].Trim(); objUsuarioValidado.codRol = strValoresRolesUsuario[1].Trim(); blnUsuarioEsValido = true; break; } } if (!blnUsuarioEsValido) { operationResult.brokenRulesCollection.Add(new BrokenRule { description = WebConstants.ValidacionDatosSEGURIDAD.FirstOrDefault(x => x.Key == 2012).Value, severity = RuleSeverity.Warning }); return(operationResult); } objUsuarioValidado.codRolNombre = strRol; operationResult.isValid = true; return(operationResult); }