// this method will be called only one time in start method in another class // .. I am initializing a channel for Grpc and some required properties for my ObserveEvents method public void GrpcChannelInitialization() { _grpcChannel = new Channel("192.168.100.16", 50001, ChannelCredentials.Insecure); _eventService = new EventService.EventServiceClient(_grpcChannel); _request = new RegisterOnEvent(); }
public ActionResult ConfirmEmail(string Token, string Email) { RegisterOnEvent user = repository.RegisterInEvent.Where(m => m.Token == Token).Where(m => m.Email == Email).FirstOrDefault(); if (user != null) { user.EmailConfirmed = true; repository.Update(user); Event EventObj = repository.Events.Where(m => m.Id == user.EventId).FirstOrDefault(); EventObj.ReservedPeople++; repository.UpdateReservedPeople(EventObj); TempData["message"] = string.Format("Вы успешно подтвердили свою регистрацию на мероприятие: {0} {1}", user.FirstName, user.LastName); return(RedirectToAction("Index")); } TempData["message"] = string.Format("Произошла ошибка"); return(RedirectToAction("Index")); }
public ActionResult RegisterOnEvent(RegisterOnEvent model) { if (ModelState.IsValid) { var getUser = repository.RegisterInEvent.Where(m => m.Email == model.Email).Where(m => m.EventId == model.EventId).FirstOrDefault(); if (getUser == null) { RegisterOnEvent user = new RegisterOnEvent { Email = model.Email, FirstName = model.FirstName, LastName = model.LastName, EmailConfirmed = false, EventId = model.EventId, Token = model.Email.GetHashCode().ToString() + model.EventId, //генерируем ссылку посредством хеш кода почты и добавляем Ид события }; bool result = repository.SaveRegisterUser(user); if (result) { string emailText = string.Format("Для завершения регистрации перейдите по ссылке:" + "<a href=\"{0}\" title=\"Подтвердить регистрацию\">{0}</a>", Url.Action("ConfirmEmail", "Event", new { Token = user.Token, Email = user.Email }, Request.Url.Scheme)); sendMail.SendMail(user.Email, string.Format("{0} {1}, подтвердите ваше участие в мероприятии", model.FirstName, model.LastName), emailText); TempData["message"] = string.Format("{0} {1}, для подтверждении регистрации на мероприятие, подтвердите сообщение в почтовом ящике: {2}", model.FirstName, model.LastName, model.Email); return(RedirectToAction("Index")); } } else if (getUser.EmailConfirmed == false) { ModelState.AddModelError("", "Вы уже регистрировались на это мероприятие, проверьте почту и подтвердите"); return(View()); } else { ModelState.AddModelError("", "Вы уже в списке приглашенных"); return(View()); } } return(View()); }
public void Update(RegisterOnEvent user) { context.Entry(user).State = System.Data.Entity.EntityState.Modified; context.SaveChanges(); }
public bool SaveRegisterUser(RegisterOnEvent user) { context.RegisterInEvent.Add(user); context.SaveChanges(); return(true); }