コード例 #1
0
        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);
        }
コード例 #2
0
        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));
            }
        }