public virtual ActionResult SendMailOwner(int id)
        {
            var error = Worki.Resources.Validation.ValidationString.ErrorWhenSave;
            var context = ModelFactory.GetUnitOfWork();
            var mRepo = ModelFactory.GetRepository<IMemberRepository>(context);
            var rRepo = ModelFactory.GetRepository<IRentalRepository>(context);
            var rental = rRepo.Get(id);
            if (rental == null)
                return View(MVC.Shared.Views.Error);
            var contact = new Contact();
            var member = mRepo.GetMember(User.Identity.Name);
            try
            {
                Member.Validate(member);

                contact.EMail = member.Email;
                contact.LastName = member.MemberMainData.LastName;
                contact.FirstName = member.MemberMainData.FirstName;
                contact.ToEMail = rental.Member.Email;
                contact.ToName = rental.Member.MemberMainData.LastName;
                contact.Subject = Worki.Resources.Email.Common.Concern + rental.Reference + " - " + rental.PostalCode + " - " + rental.SurfaceString + " - " + rental.RateString;
                contact.Link = Url.ActionAbsolute(MVC.Rental.Detail(id));

            }
            catch (Exception ex)
            {
                _Logger.Error("Rental", ex);
                context.Complete();
            }

            return View("SendOwner", contact);
        }
        public virtual ActionResult Contact(Contact contact, string myCaptcha, string attempt)
        {
            //check capatcha
            if (!CaptchaHelper.VerifyAndExpireSolution(HttpContext, myCaptcha, attempt))
            {
                ModelState.AddModelError("attempt", Worki.Resources.Validation.ValidationString.VerificationLettersWrong);
            }
            //check model validity
            else
                if (ModelState.IsValid)
            {
                try
                {
                    var displsayName = contact.FirstName + " " + contact.LastName;
                    var mail = _EmailService.PrepareMessageToDefault(new System.Net.Mail.MailAddress(contact.EMail, displsayName), contact.Subject, WebHelper.RenderEmailToString(displsayName, contact.Message));
                    _EmailService.Deliver(mail);
                }
                catch (Exception ex)
                {
                    _Logger.Error("Contact", ex);
                }

                TempData[MiscHelpers.TempDataConstants.Info] = Worki.Resources.Views.Home.HomeString.MailWellSent;

                return RedirectToAction(MVC.Home.Index());
            }
            return View(contact);
        }
 public virtual ActionResult SendMail(Contact contact)
 {
     if (ModelState.IsValid)
     {
         try
         {
             var displsayName = contact.FirstName + " " + contact.LastName;
             var mail = _EmailService.PrepareMessage(new MailAddress(contact.EMail, displsayName), new MailAddress(contact.ToEMail), contact.Subject, WebHelper.RenderEmailToString(displsayName, contact.Message));
             _EmailService.Deliver(mail);
         }
         catch (Exception ex)
         {
             _Logger.Error("Rental", ex);
         }
         TempData[MiscHelpers.TempDataConstants.Info] = Worki.Resources.Views.Home.HomeString.MailWellSent2;
         return Redirect(contact.Link);
     }
     return View(contact);
 }