コード例 #1
0
        // PUT: api/NormalMembers/5
        public async Task <IHttpActionResult> Put(int id, NormalMember normalMember)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != normalMember.Member_id)
            {
                return(BadRequest());
            }

            try
            {
                await _context.NormalMembers.SaveAsync(normalMember);
            }
            catch (DbUpdateConcurrencyException)
            {
                if (await GetNormalMemberAsync(id) == null)
                {
                    return(NotFound());
                }

                return(Conflict());
            }
            catch (Exception e)
            {
                return(InternalServerError());
            }

            return(Ok());
        }
コード例 #2
0
        public async Task <IHttpActionResult> GetNormalMemberByUserIdAsync(int userId)
        {
            NormalMember normalMember = await _context.NormalMembers.GetNormalMemberByUserIdAsync(userId).ConfigureAwait(false);

            if (normalMember == null)
            {
                return(NotFound());
            }

            return(Ok(normalMember));
        }
コード例 #3
0
        public async Task <IHttpActionResult> GetAsync(int id)
        {
            NormalMember normalMember = await GetNormalMemberAsync(id);

            if (normalMember == null)
            {
                return(NotFound());
            }

            return(Ok(normalMember));
        }
コード例 #4
0
        public async Task <ActionResult> ReserveAsync(string isbn)
        {
            HttpClient client = new HttpClient {
                BaseAddress = new Uri(_serviceUri)
            };

            try
            {
                if (Session["UserId"] != null)
                {
                    HttpResponseMessage normalMemberResponse =
                        await client.GetAsync("api/NormalMembers/Search/" + (int)Session["UserId"]).ConfigureAwait(false);

                    if (normalMemberResponse.StatusCode == HttpStatusCode.OK)
                    {
                        NormalMember member = await normalMemberResponse.Content.ReadAsAsync <NormalMember>().ConfigureAwait(false);

                        HttpResponseMessage response =
                            await client.PostAsJsonAsync("api/LibraryLoan",
                                                         new LoanRequirement { Isbn = isbn, CopyNumber = 1, MemberId = member.Member_id })
                            .ConfigureAwait(false);

                        if (response.StatusCode == HttpStatusCode.OK)
                        {
                            TempData["msg"] = "<script>alert('Reserve successfully');</script>";
                            return(View("Index"));
                        }
                        else
                        {
                            ModelState.AddModelError("Error", await response.Content.ReadAsStringAsync().ConfigureAwait(false));
                            return(View("Index"));
                        }
                    }
                    else
                    {
                        ModelState.AddModelError("Error", "Error: user is not a library member, please contact the library.");
                        return(View("Index"));
                    }
                }
                else
                {
                    return(RedirectToAction("Index", "Login"));
                }
            }
            catch (HttpRequestException e)
            {
                ModelState.AddModelError("Error", "Error: " + e.Message);
                return(View("Index"));
            }
        }
コード例 #5
0
    static void Main(string[] args)
    {
        Member[] clubMembers = new Member[5];
        clubMembers[0] = new NormalMember("Special Rate", "James", 1, 2010);
        clubMembers[1] = new NormalMember("Normal Rate", "Andy", 2, 2011);
        clubMembers[2] = new NormalMember("Normal Rate", "Bill", 3, 2011);
        clubMembers[3] = new VIPMember("Carol", 4, 2012);
        clubMembers[4] = new VIPMember("Evelyn", 4, 2012);

        foreach (Member m in clubMembers)
        {
            m.CalculateAnnualFee();
            Console.WriteLine(m.ToString());
        }
        Console.ReadLine();
    }
コード例 #6
0
        public async Task <IHttpActionResult> Post(NormalMember normalMember)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            try
            {
                await _context.NormalMembers.AddAsync(normalMember);
            }
            catch (Exception e)
            {
                return(InternalServerError());
            }

            return(CreatedAtRoute("DefaultApi", new { id = normalMember.Member_id }, normalMember));
        }
コード例 #7
0
        // DELETE: api/NormalMembers/5
        public async Task <IHttpActionResult> DeleteAsync(int id)
        {
            NormalMember user = await GetNormalMemberAsync(id);

            if (user == null)
            {
                return(NotFound());
            }

            try
            {
                await _context.NormalMembers.RemoveAsync(user);
            }
            catch (Exception e)
            {
                return(InternalServerError());
            }

            return(Ok());
        }
コード例 #8
0
ファイル: RegisterController.cs プロジェクト: Yaxuan/BookApp
        public async Task <ActionResult> Register(UserAccountViewModel userAccountViewModel)
        {
            if (ModelState.IsValid)
            {
                //Create user
                HttpClient client = new HttpClient {
                    BaseAddress = new Uri(_serviceFactory.GetServiceUri())
                };

                User user = new User
                {
                    Create_time   = DateTime.Now,
                    User_name     = userAccountViewModel.UserName,
                    FIrst_name    = userAccountViewModel.FirstName,
                    Last_name     = userAccountViewModel.LastName,
                    User_group_id = 1,
                    Is_Female     = userAccountViewModel.IsFemale,
                    Password      = userAccountViewModel.Password,
                    Email         = userAccountViewModel.Email
                };

                try
                {
                    //Create user
                    var userCtrResponse = await client.PostAsJsonAsync("api/user", user);

                    if (userCtrResponse.StatusCode == HttpStatusCode.Created)
                    {
                        var newUser = await userCtrResponse.Content.ReadAsAsync <User>();

                        //Create member

                        Member member = new Member {
                            Address = userAccountViewModel.HomeAddress, City = userAccountViewModel.City, Post_code = userAccountViewModel.PostCode, Loan_rule_id = 1
                        };
                        var memberCtrResponse = await client.PostAsJsonAsync("api/member", member).ContinueWith(postTask => postTask.Result.EnsureSuccessStatusCode());

                        var newMember = await memberCtrResponse.Content.ReadAsAsync <Member>();

                        //Create normal member
                        NormalMember normalMember = new NormalMember {
                            Ssn = userAccountViewModel.Ssn, User_id = newUser.User_id, Member_type = (int)MemberTypeEnum.Normal, Member_id = newMember.Member_id
                        };

                        await client.PostAsJsonAsync("api/NormalMember", normalMember).ContinueWith(postTask => postTask.Result.EnsureSuccessStatusCode());

                        ModelState.Clear();

                        ViewBag.Message = userAccountViewModel.UserName + " is registered successfully.";
                    }
                    else
                    {
                        ViewBag.Message = "Error: " + await userCtrResponse.Content.ReadAsStringAsync();
                    }
                }
                catch (HttpRequestException e)
                {
                    ViewBag.Message = e.Message;
                }
            }

            return(View());
        }