/// <summary> /// Compare object with another /// </summary> /// <param name="other">Object to compare</param> /// <returns>Indicates if objects are equals</returns> public bool Equals(LogOnObject other) { if (other == null) { return(false); } if (this.Result != other.Result) { return(false); } return(this.Result == other.Result); }
private static void TraceLogin(LogOnObject result, string email, string clientAddress) { /* CREATE PROCEDURE AspadLand_Trace_Insert * @CentroId uniqueidentifier, * @Type int, * @Busqueda nvarchar(50), * @ColectivoId uniqueidentifier, * @PresupuestoId uniqueidentifier */ using (var cmdT = new SqlCommand("AspadLand_Trace_Insert")) { using (var cnnT = new SqlConnection(ConfigurationManager.ConnectionStrings["cns"].ConnectionString)) { cmdT.Connection = cnnT; cmdT.CommandType = CommandType.StoredProcedure; cmdT.Parameters.Add(DataParameter.Input("@CentroId", result.Id)); cmdT.Parameters.Add(DataParameter.Input("@Type", result.Id == string.Empty ? 8 : 7)); cmdT.Parameters.Add(DataParameter.Input("@Busqueda", email)); cmdT.Parameters.Add(DataParameter.InputNull("@ColectivoId")); cmdT.Parameters.Add(DataParameter.InputNull("@PresupuestoId")); try { cmdT.Connection.Open(); cmdT.ExecuteNonQuery(); } finally { if (cmdT.Connection.State != ConnectionState.Closed) { cmdT.Connection.Close(); } } } } if (string.IsNullOrEmpty(clientAddress)) { clientAddress = "no-ip"; } }
/// <summary>Log on application</summary> /// <param name="email">User email</param> /// <param name="password">User password</param> /// <param name="clientAddress">IP address from log on action</param> /// <returns>Result of action</returns> public static ActionResult ApplicationAccess(string email, string password, string clientAddress) { if (string.IsNullOrEmpty(email) || string.IsNullOrEmpty(password)) { return(ActionResult.NoAction); } var res = ActionResult.NoAction; var result = new LogOnObject { Id = string.Empty, UserName = string.Empty, Result = LogOnResult.NoUser, MustResetPassword = false }; var binding = HttpContext.Current.Session["SForceConnection"] as SforceService; var query = string.Format( CultureInfo.InvariantCulture, @"SELECT Id, name,nIF__c,usuario_ASPADLand__c,Password_ASPADLand__c FROM Account WHERE usuario_ASPADLand__c = '{0}'", email); var bindingResult = binding.query(query); var login = false; if (bindingResult != null) { foreach (var r in bindingResult.records) { Account ac = r as Account; if (ac.Password_ASPADLand__c.Equals(password)) { var actosCentro = Acto.ByCentro(ac.Usuario_ASPADLand__c); var actos = Acto.All; foreach (var acto in actos) { foreach (var actoCentro in actosCentro) { if (actosCentro.Any(a => a.Id.Equals(acto.Id, StringComparison.OrdinalIgnoreCase))) { acto.Ofertado = true; break; } } } login = true; result.Result = LogOnResult.Ok; result.Id = ac.Id; result.UserName = ac.Name; HttpContext.Current.Session["User"] = ApplicationUser.GetById(ac.Id); HttpContext.Current.Session["Actos"] = actosCentro; HttpContext.Current.Session["Colectivos"] = Colectivo.All; HttpContext.Current.Session["ColectivosASPAD"] = Colectivo.AllASPAD; break; } } } if (!login) { result.Result = LogOnResult.Fail; // weke: LogOnFailed(result.Id); } // weke: TraceLogin(result, email, clientAddress); res.SetSuccess(result); return(res); }