public void Invite_Member_Service_EmailForInvitation_Should_Be_Of_NullReferenceException_With_Invalid_ValueType()
        {
            //Arrange
            InvitePeople people = new InvitePeople();

            people.ProjectId = "1";
            //mocking Repository
            var mockInviteRepo    = new Mock <IInviteRepository>();
            var mockConfiguration = new Mock <IConfiguration>();
            var mockSignUpService = new Mock <ISignUpService>();

            mockInviteRepo.Setup(x => x.AllData(It.IsAny <int>())).Throws(new NullReferenceException());
            InviteMembersService obj = new InviteMembersService(mockInviteRepo.Object, mockConfiguration.Object, mockSignUpService.Object);
            //Act
            var exception = Record.Exception(() => obj.EmailForInvitation(It.IsAny <InvitePeople>()));

            //Assert
            Assert.IsType <NullReferenceException>(exception);
        }
        public int EmailForInvitation(InvitePeople people)
        {
            int user = _signup.GetId(people.Email);
            List <Projectmembers> member = _Projectmembers.getMemberDetails(user);

            foreach (var memberdetail in member)
            {
                if (memberdetail.ProjectId.ToString() == people.ProjectId)
                {
                    return(0);
                }
            }
            var message = new MimeMessage();

            message.From.Add(new MailboxAddress(_config["EmailConfig:Title"], _config["EmailConfig:FromEmail"])); //mail title and mail from(Email)
            message.To.Add(new MailboxAddress(people.Email));                                                     //mail to(client)
            message.Subject = _config["EmailConfig:SubjectForInvitation"];                                        //mail subject
            var bodyBuilder = new BodyBuilder();

            //body of the mail
            if (user != 0)
            {
                bodyBuilder.HtmlBody = "Click here to join project-  http://localhost:4200/app-signup/" + people.ProjectId; //link sent in mail
            }
            else
            {
                bodyBuilder.HtmlBody = "Click here to join project-  http://localhost:4200/app-register/" + people.ProjectId; //link sent in mail
            }
            message.Body = bodyBuilder.ToMessageBody();

            using (var client = new SmtpClient())
            {
                //required field for email
                client.Connect(_config["EmailConfig:Domain"], 587, false);
                client.Authenticate(_config["EmailConfig:FromEmail"], _config["EmailConfig:Password"]);
                client.Send(message);
                client.Disconnect(true);
            }
            return(1);
        }
 public IActionResult post([FromBody] InvitePeople people)
 {
     try
     {
         int id = _service.EmailForInvitation(people); //mail for invite people
         if (id == 0)
         {
             return(Ok("Already Exist"));
         }
         else
         {
             return(Ok("Mail Sent"));
         }
     }
     catch (ArgumentNullException e)
     {
         Console.WriteLine(e.StackTrace);//handling bad request
         return(BadRequest());
     }
     catch (Exception)
     {
         return(StatusCode(500)); //internal server error
     }
 }
        static void Main(string[] args)
        {
            InvitePeople p = new InvitePeople();

            p.StartInvite("akorwash", "Iloveyouaya", "100005832311252");
        }