public ActionResult UpdatePhoto(HttpPostedFileBase PhotoFile) { if (PhotoFile != null && PhotoFile.ContentLength > 0) { var file = AzureFileHelper.AddPhoto(User.Identity.GetUserId(), PhotoFile); var user = BLLUsers.GetUserById(User.Identity.GetUserId()); user.PhotoPath = file.Uri.AbsoluteUri; BLLUsers.UpdateUser(user); } return(RedirectToAction("Profil")); }
//public string Gender { get; set; } //public string FacebookId { get; set; } public async Task <ClaimsIdentity> GenerateUserIdentityAsync(UserManager <ApplicationUser> manager) { // Note the authenticationType must match the one defined in CookieAuthenticationOptions.AuthenticationType var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie); var user = BLLUsers.GetUserById(this.Id); userIdentity.AddClaim(new Claim("Id", user.Id)); userIdentity.AddClaim(new Claim("FirstName", user.FirstName ?? "")); userIdentity.AddClaim(new Claim("LastName", user.LastName ?? "")); userIdentity.AddClaim(new Claim("Email", user.Email ?? "")); // Add custom user claims here return(userIdentity); }
public ActionResult Assign(int conflictId, string arbiterId) { var conflict = BLLConflicts.GetConflictForArbitration(conflictId); var demandeur = conflict.UsersInConflicts.First(c => c.IdUser == conflict.IdCreationUser); if (demandeur.IsLawyer != null && demandeur.IsLawyer.Value) { demandeur = conflict.UsersInConflicts.First(c => c.IdLawyer == conflict.IdCreationUser); } var defendeur = conflict.UsersInConflicts.First(c => (c.IsLawyer == null || !c.IsLawyer.Value) && c.IdUser != demandeur.IdUser); if (demandeur.UserCompany == null || demandeur.UserCompany.Company == null || !demandeur.UserCompany.Company.isFilled() || defendeur.UserCompany == null || defendeur.UserCompany.Company == null || !defendeur.UserCompany.Company.isFilled()) { TempData["Error"] = "Vous devez avoir rempli les formulaires administratif des parties (adresses,rcs,etc) avant de pouvoir assigner le cas."; return(RedirectToAction("Conflict", "Viewer", new { conflictId = conflictId })); } BLLArbiter.AssignArbiterToConflict(conflictId, arbiterId); var arbiter = BLLUsers.GetUserById(arbiterId); //Generate Mission Order and save it on cloud var stream = DocGenerator.GenerateMissionOrder(conflictId); var blob = AzureFileHelper.AddFile(conflictId, stream.FileStream, stream.FileName); stream.FileStream.Dispose(); BLLLegalDocuments.AddLegalDocument(new LegalDocument() { IdConflict = conflictId, Filename = stream.FileName, Url = blob.Uri.AbsoluteUri, Type = (int)LegalDocumentTypeEnum.MissionAct }); Guid guid = Guid.NewGuid(); FastArbitreEmails.NewMissionOrder(arbiter.Email, blob.Uri.AbsoluteUri, Request.UrlReferrer.DnsSafeHost + Url.Action("Index", "Email", new { id = guid.ToString() }), guid); return(RedirectToAction("Centre")); }
public ActionResult StartDebate(int conflictId, int eventId, string debatType, string mailTitle, string mailBody, string visioTitle, string visioDescription, DateTime?rdv, int?debatTime) { var debate = new Debate(); debate.CreateDate = DateTime.Now; debate.IdEvent = eventId; debate.CountDown = debatTime; debate.Type = debatType == "mail" ? (int)DebateTypeEnum.Mail : (int)DebateTypeEnum.Visio; debate.Title = debate.Type == (int)DebateTypeEnum.Mail ? mailTitle : visioTitle; debate = BLLDebates.CreateDebate(debate); if (debate.Type == (int)DebateTypeEnum.Mail) { var mailDebate = new MailDebate(); mailDebate.CreateDate = DateTime.Now; mailDebate.CreatedBy = User.Identity.GetId(); mailDebate.IdDebate = debate.Id; mailDebate.Body = mailBody; mailDebate = BLLDebates.AddMailDebate(mailDebate); if (debate.MailDebates == null) { debate.MailDebates = new List <MailDebate>(); } foreach (var item in BLLDebates.GetUsersForDebate(debate.Id)) { Guid guid = Guid.NewGuid(); FastArbitreEmails.YouHaveMail(item, debate, Url.Action("MailDebate", "Arbitre", new { debatId = debate.Id }, this.Request.Url.Scheme) + "#mail_" + mailDebate.Id, Request.UrlReferrer.DnsSafeHost + Url.Action("Index", "Email", new { id = guid.ToString() }), guid); } debate.MailDebates.Add(mailDebate); return(RedirectToAction("MailDebate", new { debatId = debate.Id })); } else if (debate.Type == (int)DebateTypeEnum.Visio) { var conflict = BLLConflicts.GetConflictWithUsers(conflictId); var chatRoom = new ClickNClaim.OpenFireConnector.chatRoom(debate.Title, visioDescription, rdv.Value); OpenFireConnector.Connector connector = new OpenFireConnector.Connector("http://openfire-444e60hk.cloudapp.net:9090/", "admin", "SF211084agantio"); foreach (var item in conflict.UsersInConflicts) { var visioDebate = new MeetingDebate(); visioDebate.CreateDate = DateTime.Now; visioDebate.Date = rdv.Value; visioDebate.Description = visioDescription; // visioDebate.IdUser = item.IdUser; visioDebate.Link = "https://openfire-444e60hk.cloudapp.net:7443/ofmeet/?b=1-1461653024012"; visioDebate.Title = debate.Title; //visioDebate.IdDebate = debate.Id; //visioDebate = BLLDebates.AddMeetingDate(visioDebate); //if (debate.MeetingDebates == null) //{ // debate.MeetingDebates = new List<MeetingDebate>(); //} //debate.MeetingDebates.Add(visioDebate); var user = BLLUsers.GetUserById(item.IdUser); var existingUserInOpenFire = connector.UserExists(user.DisplayName.Replace(" ", ".")); if (existingUserInOpenFire == null) { existingUserInOpenFire = connector.CreateUser(new OpenFireConnector.user() { email = user.Email, name = user.DisplayName.Replace(' ', '.'), password = user.Email, username = user.DisplayName.Replace(' ', '.') }); } chatRoom.members.Add(new OpenFireConnector.member() { value = user.DisplayName.Replace(" ", ".").ToLower() + "@openfire" }); Guid guid = Guid.NewGuid(); FastArbitreEmails.VisioConferencePlanned(user.Email, rdv, visioTitle, visioDescription, connector.RoomLink + chatRoom.naturalName, user.DisplayName.Replace(" ", ".").ToLower(), user.Email, Request.UrlReferrer.DnsSafeHost + Url.Action("Index", "Email", new { id = guid.ToString() }), guid); } if (chatRoom.members.Where(c => c.value == conflict.Arbiter.DisplayName.Replace(" ", ".") + "@openfire").FirstOrDefault() != null) { chatRoom.members.RemoveAll(c => c.value == conflict.Arbiter.DisplayName.Replace(" ", ".") + "@openfire"); } chatRoom.owners.Add(new OpenFireConnector.owner() { value = conflict.Arbiter.DisplayName.Replace(" ", ".") + "@openfire" }); var link = connector.CreateChatroom(chatRoom); connector = null; } return(RedirectToAction("Conflict", "Viewer", new { conflictId = conflictId })); }
public async Task <ActionResult> ExternalLoginCallback(string returnUrl) { var loginInfo = await AuthenticationManager.GetExternalLoginInfoAsync(); if (loginInfo == null) { return(RedirectToAction("Login")); } // Sign in the user with this external login provider if the user already has a login var result = await SignInManager.ExternalSignInAsync(loginInfo, isPersistent : false); switch (result) { case SignInStatus.Success: if (!String.IsNullOrWhiteSpace(returnUrl)) { return(Redirect(returnUrl)); } return(RedirectToAction("Profil", "Account")); case SignInStatus.LockedOut: return(View("Lockout")); case SignInStatus.RequiresVerification: return(RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = false })); case SignInStatus.Failure: default: // If the user does not have an account, then prompt the user to create an account ViewBag.ReturnUrl = returnUrl; ViewBag.LoginProvider = loginInfo.Login.LoginProvider; ApplicationUser au = null; if (loginInfo.Login.LoginProvider.ToLower() == "facebook") { au = new ApplicationUser { UserName = loginInfo.Email, Email = loginInfo.Email, CreateDate = DateTime.Now, FirstName = loginInfo.ExternalIdentity.Claims.First(x => x.Type == "first_name").Value, LastName = loginInfo.ExternalIdentity.Claims.First(x => x.Type == "last_name").Value, }; } else { au = new ApplicationUser { UserName = loginInfo.ExternalIdentity.Claims.First(x => x.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name").Value, Email = loginInfo.ExternalIdentity.Claims.First(x => x.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress").Value, CreateDate = DateTime.Now, FirstName = loginInfo.ExternalIdentity.Claims.First(x => x.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname").Value, LastName = loginInfo.ExternalIdentity.Claims.First(x => x.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname").Value, }; } var existingUser = BLLUsers.GetUserByEmail(loginInfo.Email); if (existingUser != null) { BLLUsers.AssociateUserAccounts(loginInfo.Login.LoginProvider, loginInfo.Login.ProviderKey, existingUser.Id); if (loginInfo.Login.LoginProvider == "facebook") { existingUser.PhotoPath = String.Format("http://graph.facebook.com/{0}/picture", loginInfo.ExternalIdentity.Claims.First(x => x.Type == "id").Value); BLLUsers.UpdateUser(existingUser); } au.Id = existingUser.Id; await SignInManager.SignInAsync(au, isPersistent : false, rememberBrowser : false); return(RedirectToAction("Profil", "Account")); } var res = await UserManager.CreateAsync(au); if (res.Succeeded) { res = await UserManager.AddLoginAsync(au.Id, loginInfo.Login); var u = BLLUsers.GetUserById(au.Id); if (loginInfo.Login.LoginProvider == "facebook") { u.PhotoPath = String.Format("http://graph.facebook.com/{0}/picture", loginInfo.ExternalIdentity.Claims.First(x => x.Type == "id").Value); BLLUsers.UpdateUser(u); } if (res.Succeeded) { await SignInManager.SignInAsync(au, isPersistent : false, rememberBrowser : false); return(RedirectToAction("Profil", "Account")); } else { return(View("ExternalLoginFailure")); } } else { return(View("ExternalLoginFailure")); } } }