public int AddFriendInvitation(AddFriendInvitationRequestModel objFriendInvitation)
 {
     try
     {
         int    GetMonths = 0;
         string Months    = objFriendInvitation.DurationId.ToString();
         if (Months == "1 month")
         {
             GetMonths = 1;
         }
         else
         {
             Months    = objFriendInvitation.DurationId.ToString();
             Months    = Months.Replace(" months", "");
             GetMonths = Convert.ToInt32(Months);
         }
         int rowEffected = _objFriendFitDBEntity.Database.ExecuteSqlCommand("AddFriendInvitation @UserId=@UserId,@DeliveryTypeId=@DeliveryTypeId,@FriendsName=@FriendsName,@DurationId=@DurationId,@PurchaseDate=@PurchaseDate,@ExpiryDate=@ExpiryDate,@SubscriptionTypeId=@SubscriptionTypeId,@Cost=@Cost,@Email=@Email,@MobileNumber=@MobileNumber,@CountryId=@CountryId",
                                                                            new SqlParameter("UserId", objFriendInvitation.UserId),
                                                                            new SqlParameter("DeliveryTypeId", objFriendInvitation.DeliveryTypeId),
                                                                            new SqlParameter("FriendsName", objFriendInvitation.FriendsName),
                                                                            new SqlParameter("DurationId", GetMonths),
                                                                            new SqlParameter("PurchaseDate", objFriendInvitation.PurchaseDate),
                                                                            new SqlParameter("ExpiryDate", objFriendInvitation.ExpiryDate),
                                                                            new SqlParameter("SubscriptionTypeId", objFriendInvitation.SubscriptionTypeId),
                                                                            new SqlParameter("Cost", objFriendInvitation.Cost),
                                                                            new SqlParameter("Email", (Object)objFriendInvitation.Email ?? DBNull.Value),
                                                                            new SqlParameter("MobileNumber", (Object)objFriendInvitation.MobileNumber ?? DBNull.Value),
                                                                            new SqlParameter("CountryId", (Object)objFriendInvitation.CountryId ?? DBNull.Value));
     }
     catch (Exception ex)
     {
     }
     return(1);
 }
        public HttpResponseMessage AddFriendInvitation(AddFriendInvitationRequestModel objFriendInvitation)
        {
            AddFriendIFitResponse result = new AddFriendIFitResponse();

            try
            {
                var    headers = Request.Headers;
                string token   = headers.Authorization.Parameter.ToString();
                Int64  UserId  = _objFriendFitDBEntity.Database.SqlQuery <Int64>("select UserId from UserToken where TokenCode={0}", token).FirstOrDefault();

                string checkuser = _objFriendFitDBEntity.Database.SqlQuery <string>("select Email from FriendsInvitation where Email={0}", objFriendInvitation.Email).FirstOrDefault();
                string UserName  = _objFriendFitDBEntity.Database.SqlQuery <string>("select FirstName from UserProfile where Id={0}", UserId).FirstOrDefault();
                int    value     = _objIFriendInvitationRepository.AddFriendInvitation(objFriendInvitation);

                string RegistrationUrl = WebConfigurationManager.AppSettings["FrendFitSignUp"];
                #region send mail for notification
                if (objFriendInvitation.Email != null)
                {
                    if (objFriendInvitation.Email != "")
                    {
                        var SendingMessage = new MailMessage();
                        SendingMessage.To.Add(new MailAddress(objFriendInvitation.Email)); // replace with valid value
                        SendingMessage.From    = new MailAddress("*****@*****.**");      // replace with valid value
                        SendingMessage.Subject = "Notification your email (noti.fit)";
                        //SendingMessage.Body = " <p><strong> Hi " + objFriendInvitation.Email + "</ strong >  ,<br/>Congratulations for on signing up to noti.fit so please click on,<br/><br/><strong>Please visit</strong> <a href='" + RegistrationUrl +"'>" + RegistrationUrl+ "</a>  <br/>  to fill the details and click on sign up button<br/><br/>Kind regards,<br/>The noti.fit team";
                        SendingMessage.Body = "<p>Hi " + objFriendInvitation.FriendsName + "</p><p>Your friend " + objFriendInvitation.Email + " has invited you to track their workouts on noti.fit!noti.fit is a workout tracker that sends you notifications when your friend misses a workout.</ p >< p > Please sign up at " + RegistrationUrl + " to get started!</ p >< p > Cheers<strong>,</ strong >< br /> The noti.fit tea</ p > ";

                        SendingMessage.IsBodyHtml = true;
                        using (var smtp = new SmtpClient())
                        {
                            var credential = new NetworkCredential
                            {
                                UserName = "******",  // replace with valid value
                                Password = "******" // replace with valid value
                            };
                            smtp.Credentials = credential;
                            smtp.Host        = "smtp.gmail.com";
                            smtp.Port        = 587;
                            smtp.EnableSsl   = true;
                            smtp.Send(SendingMessage);
                        }
                    }
                }
                #endregion

                #region notification via sms
                if (objFriendInvitation.MobileNumber != null)
                {
                    if (objFriendInvitation.MobileNumber != "")
                    {
                        twilioModel tm = new twilioModel();
                        tm.mobileNo    = objFriendInvitation.MobileNumber;
                        tm.messagebody = "Hi " + UserName + ", " + objFriendInvitation.FriendsName + " has nominated you to receive their workout reminders. Please accept/ decline at " + RegistrationUrl + " or ignore this text for no further communication.";
                        var SMSStatus = SMSCont.SendSMS(tm);
                    }
                }
                #endregion
                if (value > 0)
                {
                    result.Response.StatusCode = Convert.ToInt32(HttpStatusCode.OK);
                    result.Response.Message    = "Friend invitation Added successfully";
                }
                else
                {
                    result.Response.StatusCode = Convert.ToInt32(HttpStatusCode.NotAcceptable);
                    result.Response.Message    = "Some parameters is incorrect";
                }
            }
            catch (Exception ex)
            {
                result.Response.StatusCode = Convert.ToInt32(HttpStatusCode.BadRequest);
                _response = Request.CreateResponse(HttpStatusCode.InternalServerError, "Some error occurred");
            }
            _response = Request.CreateResponse(HttpStatusCode.OK, result);
            return(_response);
        }