コード例 #1
0
        public async Task <IHttpActionResult> UpdateUtente(PersonaUpdateRequest request)
        {
            try
            {
                await _logic.UpdateUtente(request);

                return(Ok());
            }
            catch (Exception e)
            {
                Log.Error("UpdateUtente", e);
                return(ErrorHandler(e));
            }
        }
コード例 #2
0
        public async Task <ActionResult> SalvaPersona(PersonaUpdateRequest request)
        {
            try
            {
                var apiGateway = new ApiGateway(_Token);
                var result     = await apiGateway.Admin.SalvaPersona(request);

                return(Json(Url.Action("ViewUtente", "AdminPanel", new { id = result })
                            , JsonRequestBehavior.AllowGet));
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                return(Json(new ErrorResponse(e.Message), JsonRequestBehavior.AllowGet));
            }
        }
コード例 #3
0
        public async Task <IHttpActionResult> SalvaUtente(PersonaUpdateRequest request)
        {
            try
            {
                var session = await GetSession();

                var uid_persona = await _logic.SalvaUtente(request, session._currentRole);

                return(Ok(uid_persona));
            }
            catch (Exception e)
            {
                Log.Error("SalvaUtente", e);
                return(ErrorHandler(e));
            }
        }
コード例 #4
0
ファイル: AdminLogic.cs プロジェクト: dtommasi/PEM
        public async Task UpdateUtente(PersonaUpdateRequest request)
        {
            try
            {
                var intranetAdService = new proxyAD();

                foreach (var item in request.gruppiAd)
                {
                    if (item.Membro)
                    {
                        intranetAdService.AddUserToADGroup(item.GruppoAD, request.userAD, AppSettingsConfiguration.TOKEN_W);
                    }
                    else
                    {
                        intranetAdService.RemoveUserFromADGroup(item.GruppoAD, request.userAD,
                                                                AppSettingsConfiguration.TOKEN_W);
                    }
                }

                if (request.no_Cons == 1)
                {
                    //No CONS
                    await _unitOfWork.Persone.UpdateUtente_NoCons(request.UID_persona, request.id_persona, request.userAD);
                }
                else
                {
                    //Consigliere/Assessore
                    var persona = await _unitOfWork.Persone.Get(request.UID_persona);

                    persona.cognome           = request.cognome;
                    persona.nome              = request.nome;
                    persona.foto              = request.foto;
                    persona.userAD            = request.userAD;
                    persona.email             = request.email;
                    persona.attivo            = request.attivo;
                    persona.deleted           = request.deleted;
                    persona.notifica_firma    = request.notifica_firma;
                    persona.notifica_deposito = request.notifica_deposito;
                    await _unitOfWork.CompleteAsync();
                }
            }
            catch (Exception e)
            {
                throw e;
            }
        }
コード例 #5
0
        public async Task <ActionResult> SalvaPersona(PersonaUpdateRequest request)
        {
            try
            {
                await ApiGateway.ModificaPersona(request);

                return(Json(Url.Action("ViewUtente", "AdminPanel", new { id = request.UID_persona })
                            , JsonRequestBehavior.AllowGet));
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                return(Json(new ErrorResponse {
                    message = e.Message
                }, JsonRequestBehavior.AllowGet));
            }
        }
コード例 #6
0
        public static async Task <Guid> SalvaPersona(PersonaUpdateRequest request)
        {
            try
            {
                var requestUrl = $"{apiUrl}/admin/salva";
                var body       = JsonConvert.SerializeObject(request);

                var result = JsonConvert.DeserializeObject <Guid>(await Post(requestUrl, body));
                return(result);
            }
            catch (UnauthorizedAccessException ex)
            {
                Log.Error("SalvaPersona", ex);
                throw ex;
            }
            catch (Exception ex)
            {
                Log.Error("SalvaPersona", ex);
                throw ex;
            }
        }
コード例 #7
0
        public async Task <Guid> SalvaUtente(PersonaUpdateRequest request, RuoliIntEnum ruolo)
        {
            try
            {
                var intranetAdService = new proxyAD();

                if (request.UID_persona == Guid.Empty)
                {
                    //NUOVO

                    string ldapPath     = "OU=PEM,OU=Intranet,OU=Gruppi,DC=consiglio,DC=lombardia";
                    string autoPassword = _logicUtil.GenerateRandomCode();
                    intranetAdService.CreatePEMADUser(
                        request.userAD,
                        autoPassword,
                        ruolo == RuoliIntEnum.Amministratore_Giunta,
                        AppSettingsConfiguration.TOKEN_W
                        );
                    autoPassword = ruolo == RuoliIntEnum.Amministratore_Giunta ? $"{autoPassword}" : "[Stessa usata per accedere al tuo pc]";

                    request.UID_persona = Guid.NewGuid();
                    request.no_Cons     = 1;
                    UTENTI_NoCons newUser = request;
                    _unitOfWork.Persone.Add(newUser);
                    await _unitOfWork.CompleteAsync();


                    await _logicUtil.InvioMail(new MailModel
                    {
                        DA        = "*****@*****.**",
                        A         = request.email,
                        CC        = "*****@*****.**",
                        OGGETTO   = "PEM - Utenza aperta",
                        MESSAGGIO =
                            $"Benvenuto in PEM, <br/> utilizza le seguenti credenziali: <br/> <b>Username</b> <br/> {request.userAD.Replace(@"CONSIGLIO\", "")}<br/> <b>Password</b> <br/> {autoPassword}<br/><br/> {AppSettingsConfiguration.urlPEM}"
                    });
                }
                else
                {
                    foreach (var item in request.gruppiAd)
                    {
                        if (item.Membro)
                        {
                            try
                            {
                                var resultAdd = intranetAdService.AddUserToADGroup(item.GruppoAD, request.userAD,
                                                                                   AppSettingsConfiguration.TOKEN_W);
                                if (resultAdd != 0)
                                {
                                    throw new InvalidOperationException($"Errore inserimento gruppo AD [{item.GruppoAD}]");
                                }
                            }
                            catch (Exception e)
                            {
                                Log.Error($"Add - {item.GruppoAD}", e);
                            }
                        }
                        else
                        {
                            try
                            {
                                var resultRemove = intranetAdService.RemoveUserFromADGroup(item.GruppoAD,
                                                                                           request.userAD,
                                                                                           AppSettingsConfiguration.TOKEN_W);
                                if (resultRemove == false)
                                {
                                    throw new InvalidOperationException($"Errore rimozione gruppo AD [{item.GruppoAD}]");
                                }
                            }
                            catch (Exception e)
                            {
                                Log.Error($"Remove - {item.GruppoAD}", e);
                            }
                        }
                    }


                    if (request.no_Cons == 1)
                    {
                        //Consigliere/Assessore
                        UTENTI_NoCons persona = await _unitOfWork.Persone.Get_NoCons(request.UID_persona);

                        persona.id_gruppo_politico_rif = request.id_gruppo_politico_rif;
                        persona.UserAD            = request.userAD;
                        persona.notifica_firma    = request.notifica_firma;
                        persona.notifica_deposito = request.notifica_deposito;
                        await _unitOfWork.CompleteAsync();
                    }
                    else
                    {
                        await _unitOfWork.Persone.UpdateUtente_NoCons(request.UID_persona, request.id_persona,
                                                                      request.userAD.Replace(@"CONSIGLIO\", ""));
                    }
                }

                return(request.UID_persona);
            }
            catch (Exception e)
            {
                throw e;
            }
        }