Exemplo n.º 1
0
        /// <summary>
        /// Almacena el registro de un objeto de tipo [Tabla].
        /// </summary>
        /// <param name="pUsuario"></param>
        public ReturnValor InsertUserFree(BEUsuarioFreeRequest usuarioRequest)
        {
            try
            {
                BEUsuarioRequest pUsuario = PasarDatosUsuario(usuarioRequest);

                using (TransactionScope tx = new TransactionScope(TransactionScopeOption.Required))
                {
                    string pMessage = string.Empty;

                    pUsuario.clvPasswordEncrypt = HelpCrypto.SISEncriptarTexto(pUsuario.clvPassword);

                    using (UsuarioData usuarioData = new UsuarioData())
                    {
                        oReturn.CodigoRetorno = usuarioData.InsertExt(pUsuario, out pMessage);
                    }
                    if (!string.IsNullOrEmpty(oReturn.CodigoRetorno))
                    {
                        oReturn.Exitosa = true;
                        oReturn.Message = HelpMessages.Evento_NEW;
                        tx.Complete();
                    }
                    else
                    {
                        oReturn.Message = pMessage;
                    }
                }
                if (oReturn.Exitosa)
                {
                    using (UsuarioLogic userLogic = new UsuarioLogic())
                    {
                        userLogic.EnviarCorreo(pUsuario);
                    }
                }
            }
            catch (Exception ex)
            {
                if (!oReturn.Exitosa)
                {
                    oReturn = HelpException.mTraerMensaje(ex, false, this.GetType().Name + '.' + MethodBase.GetCurrentMethod().Name,
                                                          usuarioRequest.desLogin);
                }
                else
                {
                    HelpException.mTraerMensaje(ex, false, this.GetType().Name + '.' + MethodBase.GetCurrentMethod().Name,
                                                usuarioRequest.desLogin);
                    oReturn.Message = string.Concat(oReturn.Message, ". No se envió correo electrónico al usuario.");
                }
            }
            return(oReturn);
        }
Exemplo n.º 2
0
        public bool UpdatePassword(BEUsuarioPasswordRequest pUsuarioPassword, bool pEnviaMail, int pCodEmpresa = 0)
        {
            try
            {
                using (TransactionScope tx = new TransactionScope(TransactionScopeOption.Required))
                {
                    pUsuarioPassword.clvPasswordEncrypt = HelpCrypto.SISEncriptarTexto(pUsuarioPassword.clvPassword);
                    string pMessage = string.Empty;
                    oReturn.Exitosa = oSeguridadData.UpdatePasswordExterno(pUsuarioPassword, out pMessage);

                    oReturn.Message = pMessage;

                    if (oReturn.Exitosa)
                    {
                        oReturn.Message = HelpMessages.Evento_EDIT;

                        if (pEnviaMail)
                        {
                            string pMessageMail = string.Empty;

                            BEUsuario usuarioCorreo = FindLogin(pUsuarioPassword.desLogin);
                            EnviarCorreo(usuarioCorreo,
                                         pCodEmpresa,
                                         pUsuarioPassword.segUsuarioEdita,
                                         string.Empty,
                                         "Contraseña de usuario actualizada.",
                                         out pMessageMail);
                            oReturn.Message = string.Concat(oReturn.Message, " ", pMessageMail);

                            if (!string.IsNullOrEmpty(pMessageMail))
                            {
                                oReturn.Exitosa = false;
                            }
                        }

                        tx.Complete();
                    }
                }
            }
            catch (Exception ex)
            {
                var returnValor = HelpException.mTraerMensaje(ex, false, this.GetType().Name + '.' + MethodBase.GetCurrentMethod().Name);
                throw new Exception(returnValor.Message);
            }
            return(oReturn.Exitosa);
        }