public async Task <IHttpActionResult> CheckPin(CambioPinModel model) { try { var session = await GetSession(); var persona = await _logicPersone.GetPersona(session); var currentPin = await _logicPersone.GetPin(persona); if (currentPin == null) { return(BadRequest("Pin non impostato")); } if (currentPin.RichiediModificaPIN) { return(BadRequest("E' richiesto il reset del pin")); } if (currentPin.PIN_Decrypt != model.vecchio_pin) { return(BadRequest("Il vecchio PIN non è corretto!!!")); } return(Ok("OK")); } catch (Exception e) { Log.Error("CheckPin", e); return(ErrorHandler(e)); } }
public async Task <IHttpActionResult> FirmaEmendamento(ComandiAzioneModel firmaModel) { try { if (firmaModel.ListaEmendamenti.Count > Convert.ToInt16(AppSettingsConfiguration.LimiteFirmaMassivo)) { return(BadRequest( $"Non è possibile firmare contemporaneamente più di {AppSettingsConfiguration.LimiteFirmaMassivo} emendamenti")); } var session = await GetSession(); var persona = await _logicPersone.GetPersona(session); var firmaUfficio = persona.CurrentRole == RuoliIntEnum.Amministratore_PEM || persona.CurrentRole == RuoliIntEnum.Segreteria_Assemblea; if (firmaUfficio) { if (firmaModel.Pin != AppSettingsConfiguration.MasterPIN) { return(BadRequest("Pin inserito non valido")); } return(Ok(await _logicEm.FirmaEmendamento(firmaModel, persona, null, true))); } var pinInDb = await _logicPersone.GetPin(persona); if (pinInDb == null) { return(BadRequest("Pin non impostato")); } if (pinInDb.RichiediModificaPIN) { return(BadRequest("E' richiesto il reset del pin")); } if (firmaModel.Pin != pinInDb.PIN_Decrypt) { return(BadRequest("Pin inserito non valido")); } return(Ok(await _logicEm.FirmaEmendamento(firmaModel, persona, pinInDb))); } catch (Exception e) { Log.Error("FirmaEmendamento", e); return(ErrorHandler(e)); } }
public async Task <IHttpActionResult> CambioPin(CambioPinModel model) { try { if (model.conferma_pin != model.nuovo_pin) { return(BadRequest("Il nuovo PIN non combacia con quello di conferma!!!")); } var session = await GetSession(); var persona = await _logicPersone.GetPersona(session); var currentPin = await _logicPersone.GetPin(persona); if (currentPin == null) { return(BadRequest("Pin non impostato")); } if (currentPin.RichiediModificaPIN) { return(BadRequest("E' richiesto il reset del pin")); } if (currentPin.PIN_Decrypt != model.vecchio_pin) { return(BadRequest("Il vecchio PIN non è corretto!!!")); } int valuePin; var checkTry = int.TryParse(model.nuovo_pin, out valuePin); if (!checkTry) { return(BadRequest("Il pin deve contenere solo cifre numeriche")); } if (model.nuovo_pin.Length != 4) { return(BadRequest("Il PIN dev'essere un numero di massimo 4 cifre!")); } model.PersonaUId = persona.UID_persona; await _logicPersone.CambioPin(model); return(Ok("OK")); } catch (Exception e) { Log.Error("CambioPin", e); return(ErrorHandler(e)); } }
public async Task <IHttpActionResult> InvitaAFirmareEmendamento(ComandiAzioneModel model) { try { var session = await GetSession(); var persona = await _logicPersone.GetPersona(session); var invitoDaSegreteria = persona.CurrentRole == RuoliIntEnum.Responsabile_Segreteria_Politica || persona.CurrentRole == RuoliIntEnum.Segreteria_Politica || persona.CurrentRole == RuoliIntEnum.Responsabile_Segreteria_Giunta || persona.CurrentRole == RuoliIntEnum.Segreteria_Giunta_Regionale || persona.CurrentRole == RuoliIntEnum.Amministratore_PEM; if (invitoDaSegreteria) { return(Ok(await _logic.InvitaAFirmareEmendamento(model, persona))); } var pinInDb = await _logicPersone.GetPin(persona); if (pinInDb == null) { return(BadRequest("Pin non impostato")); } if (pinInDb.RichiediModificaPIN) { return(BadRequest("E' richiesto il reset del pin")); } if (model.Pin != pinInDb.PIN_Decrypt) { return(BadRequest("Pin inserito non valido")); } return(Ok(await _logic.InvitaAFirmareEmendamento(model, persona))); } catch (Exception e) { Log.Error("InvitaAFirmareEmendamento", e); return(ErrorHandler(e)); } }