コード例 #1
0
        public async Task <HttpResponseMessage> ResetPassowrd([FromBody] dynamic userinfo)
        {
            var host = Request.RequestUri.Scheme + "://" + Request.RequestUri.Host + ":" + Request.RequestUri.Port;

            _emailComManager = new EmailComManager(host);
            // verify passcode with db and reset password
            string             connectionstring = ConfigurationManager.AppSettings["dbconnectionstring"];
            IdentityValidation idv        = new IdentityValidation(connectionstring);
            var            resp           = new HttpResponseMessage();
            UserCredential userCredential = new UserCredential()
            {
                username = userinfo.email, password = userinfo.password
            };


            if (idv.CheckPasswordResetCode((string)userinfo.email, (string)userinfo.code))
            {
                //reset password
                idv.UpdatePassword((string)userinfo.email, (string)userinfo.password);
            }

            resp.StatusCode   = System.Net.HttpStatusCode.OK;
            resp.ReasonPhrase = "done.";
            return(resp);
        }
コード例 #2
0
        public async Task <HttpResponseMessage> SendVerificationMail()
        {
            HttpResponseMessage response = Request.CreateResponse();
            var email = new TApiAuth().GetLoggedInUsername(Request);

            if (string.IsNullOrEmpty(email))
            {
                response.StatusCode = System.Net.HttpStatusCode.Unauthorized;
                return(response);
            }
            else
            {
                //generating code for verification of email id
                string code = Guid.NewGuid().ToString();
                var    host = Request.RequestUri.Scheme + "://" + Request.RequestUri.Host + ":" + Request.RequestUri.Port;
                _emailComManager = new EmailComManager(host);
                string             connectionstring = ConfigurationManager.AppSettings["dbconnectionstring"];
                IdentityValidation idv = new IdentityValidation(connectionstring);
                idv.UpdateAccountActivationCode(email, code);
                var user = _userManager.GetUserFromMailId(email);
                //user.VerificationCode = code;
                //_userManager.UpdateUserProperties(user.Id, user);
                await _emailComManager.SendAccountVerificationLink((string)email, (string)user.Name, code);

                response.StatusCode = System.Net.HttpStatusCode.OK;
                return(response);
            }
        }
コード例 #3
0
        public async Task <HttpResponseMessage> SendPasswordResetLink(string email)
        {
            var host = Request.RequestUri.Scheme + "://" + Request.RequestUri.Host + ":" + Request.RequestUri.Port;

            _emailComManager = new EmailComManager(host);
            // generate code
            string passResetCode = Guid.NewGuid().ToString();

            // store in database
            // verify passcode with db and reset password
            string             connectionstring = ConfigurationManager.AppSettings["dbconnectionstring"];
            IdentityValidation idv = new IdentityValidation(connectionstring);

            idv.StorePasswordResetCode(email, passResetCode);
            await _emailComManager.SendPassowordResetLink((string)email, (string)"Dear User", passResetCode);

            var resp = new HttpResponseMessage();

            resp.StatusCode   = System.Net.HttpStatusCode.OK;
            resp.ReasonPhrase = "password reset link has been send successfully.";
            return(resp);

            //UserCredential userCredential = new UserCredential() { username = userinfo.email, password = userinfo.password };

            //if (idv.UserExist(userCredential))
            //{
            //    string error1 = "error: user already exist with same email id. Try resetting password.";
            //    resp.StatusCode = System.Net.HttpStatusCode.NotModified;
            //    resp.ReasonPhrase = error1;
            //}
            //else
            //{
            //    //generating code for verification of email id
            //    string code = Guid.NewGuid().ToString();

            //    // reegister user
            //    idv.RegisterUser(userinfo, code);

            //    resp.StatusCode = System.Net.HttpStatusCode.OK;
            //    resp.ReasonPhrase = "User successfully created.";

            //    await SendEmailExecute((string)userinfo.email, (string)userinfo.name, code);
            //}

            // show message to check inbox for activation link.
        }
コード例 #4
0
ファイル: BookingController.cs プロジェクト: taruntomar/rfs
        // POST api/<controller>
        public async Task PostAsync([FromBody] Booking booking)
        {
            try
            {
                TApiAuth auth = new TApiAuth();
                booking.Id        = Guid.NewGuid().ToString();
                booking.createdBy = auth.GetLoggedInUsername(Request);
                booking.createdOn = DateTime.UtcNow;
                _bookingManager.AddNewBooking(booking);
                var room = _roomManager.GetRoomById(booking.RoomId);
                var user = _userManager.GetUserFromMailId(booking.createdBy);
                var loc  = _locationManager.GetLocationById(room.location);
                //await SendEmailExecute(booking, room, user,"done");
                var             host            = Request.RequestUri.Scheme + "://" + Request.RequestUri.Host + ":" + Request.RequestUri.Port;
                EmailComManager emailComManager = new EmailComManager(host);

                await emailComManager.SendRoomBookingCalenderInvite(user.email, user.Name, room.RoomName + "(" + loc.Name + ")", booking.starttime, booking.endtime);
            }catch (Exception ex)
            {
            }
        }
コード例 #5
0
        public async Task <HttpResponseMessage> Signup([FromBody] dynamic userinfo)
        {
            var host = Request.RequestUri.Scheme + "://" + Request.RequestUri.Host + ":" + Request.RequestUri.Port;

            _emailComManager = new EmailComManager(host);
            string             connectionstring = ConfigurationManager.AppSettings["dbconnectionstring"];
            IdentityValidation idv        = new IdentityValidation(connectionstring);
            var            resp           = new HttpResponseMessage();
            UserCredential userCredential = new UserCredential()
            {
                username = userinfo.email, password = userinfo.password
            };

            if (idv.UserExist(userCredential))
            {
                string error1 = "error: user already exist with same email id. Try resetting password.";
                resp.StatusCode   = System.Net.HttpStatusCode.NotModified;
                resp.ReasonPhrase = error1;
            }
            else
            {
                //generating code for verification of email id
                string code = Guid.NewGuid().ToString();

                // reegister user
                idv.RegisterUser(userinfo, code);

                resp.StatusCode   = System.Net.HttpStatusCode.OK;
                resp.ReasonPhrase = "User successfully created.";

                await _emailComManager.SendAccountVerificationLink((string)userinfo.email, (string)userinfo.name, code);
            }

            // show message to check inbox for activation link.

            return(resp);
        }