public async Task <Response <User> > PostCommunityAdminUser(string name, string password) { User user = new User(); user.password = password; user.firstName = name; Response <User> userResponse = new Response <User>(); if (!ModelState.IsValid) { userResponse.status = "Failure"; userResponse.model = null; return(userResponse); } //if (UserExists(user.emailID)) //{ // userResponse.status = "Failed: Already Exist"; // var existUser = await (from l in db.Users // where l.emailID == user.emailID // select l).FirstOrDefaultAsync(); // userResponse.model = existUser; // return userResponse; //} db.Users.Add(user); await db.SaveChangesAsync(); var userFromDB = await(from u in db.Users where u.firstName == name && u.password == password select u).FirstOrDefaultAsync(); Response <Notification> responceNotification = new Response <Notification>(); NotificationsController notificationController = new NotificationsController(); Notification notification = new Notification(); notification.Messages = false; notification.Notices = false; notification.Report = false; notification.userID = userFromDB.userID; responceNotification = await notificationController.PostNotification(notification); await db.SaveChangesAsync(); userResponse.status = "Success"; userResponse.model = user; return(userResponse); }
public async Task <IHttpActionResult> PostUser() { var httpRequest = HttpContext.Current.Request; string root = HttpContext.Current.Server.MapPath("~/App_Data"); var provider = new MultipartFormDataStreamProvider(root); if (Request.Content.IsMimeMultipartContent()) { await Request.Content.ReadAsMultipartAsync(provider); User user = new User(); Member member = new Member(); foreach (var key in provider.FormData.AllKeys) { foreach (var val in provider.FormData.GetValues(key)) { if (key.Equals("emailID")) { user.emailID = val; //var userEmail = db.Users.Where(x => x.emailID == val).FirstOrDefault(); //if (userEmail == null) //{ // user.emailID = val; //} //else //{ // Response<User> userResponse = new Response<User>(); // userResponse.status = "Failed: This Email Id Already Exists."; // userResponse.model = null; // return Ok(userResponse); //} } if (key.Equals("password")) { user.password = val; } if (key.Equals("firstName")) { user.firstName = val; } if (key.Equals("lastName")) { user.lastName = val; } if (key.Equals("country")) { user.country = val; } if (key.Equals("gender")) { user.gender = val; } if (key.Equals("contact")) { user.contact = val; } if (key.Equals("emergencyContactName1")) { user.emergencyContactName1 = val; } if (key.Equals("emergencyContactNumber1")) { user.emergencyContactNumber1 = val; } if (key.Equals("emergencyContactName2")) { user.emergencyContactName2 = val; } if (key.Equals("emergencyContactNumber2")) { user.emergencyContactNumber2 = val; } if (key.Equals("address")) { member.address = val; } if (key.Equals("streetFloor")) { member.streetFloor = val; } if (key.Equals("communityID")) { member.communityID = Convert.ToInt32(val); } if (key.Equals("lat")) { user.lat = Convert.ToDouble(val); } if (key.Equals("lng")) { user.lng = Convert.ToDouble(val); } if (key.Equals("language")) { user.language = val; } if (key.Equals("userType")) { user.userType = val; } } } user.Islogout = false; user.isMainAdmin = false; member.isBlocked = false; member.isAlertBlocked = false; Response <UserMemberDTO> userMemberResponse = new Response <UserMemberDTO>(); UserMemberDTO userMemberDto = new UserMemberDTO(); if (!ModelState.IsValid) { userMemberResponse.status = "Failure"; userMemberResponse.model = userMemberDto; return(Ok(userMemberResponse)); } if (UserExists(user.emailID)) { userMemberResponse.status = "Failed: User Already Exist"; userMemberDto.user = await(from l in db.Users where l.emailID == user.emailID select l).FirstOrDefaultAsync(); userMemberResponse.model = userMemberDto; return(Ok(userMemberResponse)); } imageForBlob imageForBlob = new imageForBlob(); string blobImageURL = imageForBlob.ConvertImageForBlob(); user.image = blobImageURL; db.Users.Add(user); await db.SaveChangesAsync(); AccountController accountController = new AccountController(); RegisterBindingModel registerBindingModel = new RegisterBindingModel(); registerBindingModel.Email = user.emailID; registerBindingModel.Password = user.password; registerBindingModel.ConfirmPassword = user.password; using (var client = new HttpClient()) { var values = new Dictionary <string, string> { { "Email", user.emailID }, { "Password", user.password }, { "ConfirmPassword", user.password } }; var content = new FormUrlEncodedContent(values); var response = await client.PostAsync(accountRegisterUri, content); var responseString = await response.Content.ReadAsStringAsync(); } MembersController memberController = new MembersController(); Response <Member> responseMember = new Response <Member>(); userMemberDto.user = await(from l in db.Users where l.emailID == user.emailID select l).FirstOrDefaultAsync(); member.userId = userMemberDto.user.userID; responseMember = await memberController.PostMember(member); responseMember = await memberController.GetMember(responseMember.model.id); Response <Notification> responceNotification = new Response <Notification>(); NotificationsController notificationController = new NotificationsController(); Notification notification = new Notification(); notification.Messages = true; notification.Notices = true; notification.Report = true; notification.userID = userMemberDto.user.userID; responceNotification = await notificationController.PostNotification(notification); userMemberResponse.status = "Success"; userMemberDto.member = member; userMemberDto.user = user; userMemberDto.AdminID = responseMember.model.community.adminUserID; userMemberResponse.model = userMemberDto; return(Ok(userMemberResponse)); } else { Response <User> userResponse = new Response <User>(); userResponse.status = "Failed: Not Multipart Content"; userResponse.model = null; return(Ok(userResponse)); } }