コード例 #1
0
 public Task <JsonResponse> UpdateAnnouncementFavorite(int userID, int favID, string fav)
 {
     return(Task.Run(() =>
     {
         using (MIUEntities db = new MIUEntities())
         {
             TimeSpan time = new TimeSpan(00, 06, 30, 0);
             if (fav == "Favorite")
             {
                 FavoriteList newFav = new FavoriteList()
                 {
                     UserID = userID,
                     FavoriteID = favID,
                     FavoriteType = "Announcement",
                     CreatedDate = DateTime.UtcNow.Add(time)
                 };
                 db.FavoriteLists.Add(newFav);
             }
             else
             {
                 FavoriteList favToUpdate = db.FavoriteLists.Where(a => a.UserID == userID && a.FavoriteID == favID && a.FavoriteType == "Announcement").SingleOrDefault();
                 db.FavoriteLists.Remove(favToUpdate);
             }
             db.SaveChanges();
             return new JsonResponse()
             {
                 Flag = true, Message = "Successfully Favorite"
             };
         }
     }));
 }
コード例 #2
0
 public Task <JsonResponse> PostFeedback(int reasonID, string comment, int react, string fullname)
 {
     return(Task.Run(() =>
     {
         using (MIUEntities db = new MIUEntities())
         {
             try
             {
                 StudentFeedback feedback = new StudentFeedback()
                 {
                     ReasonID = reasonID,
                     Comment = comment,
                     React = react,
                     CreatedBy = fullname,
                     CreatedDate = DateTime.Now
                 };
                 db.StudentFeedbacks.Add(feedback);
                 db.SaveChanges();
                 return new JsonResponse()
                 {
                     Flag = true, Message = "Successfully Saved"
                 };
             }
             catch (Exception ex)
             {
                 return new JsonResponse()
                 {
                     Flag = true, Message = ex.Message
                 };
             }
         }
     }));
 }
コード例 #3
0
        public Task <JsonResponse> LogOut(int userID, string token)
        {
            return(Task.Run(() =>
            {
                using (MIUEntities db = new MIUEntities())
                {
                    try
                    {
                        //User user = db.Users.Where(x => x.ID == userID && x.IsDelete != true).SingleOrDefault();

                        List <MobileDeviceToken> tokenDevice = db.MobileDeviceTokens.Where(x => x.UserID == userID && x.DeviceToken == token).ToList();

                        foreach (var item in tokenDevice)
                        {
                            db.MobileDeviceTokens.Remove(item);
                        }

                        db.SaveChanges();

                        return new JsonResponse()
                        {
                            Flag = true, Message = "Success"
                        };
                    }
                    catch (Exception)
                    {
                        return null;
                    }
                }
            }));
        }
コード例 #4
0
        public Task <JsonResponse> TurnOffTwoFactor(int UserID)
        {
            return(Task.Run(() =>
            {
                using (MIUEntities db = new MIUEntities())
                {
                    try
                    {
                        User user = db.Users.Where(x => x.ID == UserID).SingleOrDefault();
                        if (user == null)
                        {
                            return new JsonResponse()
                            {
                                Flag = true, Message = "User is not found"
                            };
                        }
                        else
                        {
                            //bool flag = false;
                            string Message = "";
                            var aspNetUserID = db.AspNetUsers.Where(x => x.UserName == user.LoginName).Select(x => x.Id).SingleOrDefault();
                            TwoFactorAuthenticatedUser twoFactorUser = db.TwoFactorAuthenticatedUsers.Where(x => x.AspNetUserID == aspNetUserID).SingleOrDefault();

                            if (twoFactorUser != null)
                            {
                                db.TwoFactorAuthenticatedUsers.Remove(twoFactorUser);
                                db.SaveChanges();
                                Message = "Two-Factor Authentication is Off.";
                                //flag = true;
                            }
                            return new JsonResponse()
                            {
                                Flag = true, Message = Message
                            };
                        }
                    }
                    catch (Exception ex)
                    {
                        return new JsonResponse()
                        {
                            Flag = false, Message = ex.Message
                        };
                    }
                }
            }));
        }
コード例 #5
0
        public Task <JsonResponse> TwoFactorVerify(string AspNetUserID, string Code)
        {
            return(Task.Run(() =>
            {
                using (MIUEntities db = new MIUEntities())
                {
                    try
                    {
                        TwoFactorAuthenticatedUser user = db.TwoFactorAuthenticatedUsers.Where(x => x.AspNetUserID == AspNetUserID && x.Code == Code).SingleOrDefault();

                        if (user == null)
                        {
                            return new JsonResponse()
                            {
                                Flag = true, Message = "User is not found"
                            };
                        }
                        else
                        {
                            string Message = "Your code is expired.";
                            if (user.UpdatedDate.AddMinutes(2).ToUniversalTime() > DateTime.Now.ToUniversalTime())
                            {
                                user.IsVerified = true;
                                //db.TwoFactorAuthenticatedUsers.Add(user);
                                db.SaveChanges();
                                Message = "Two-Factor Authentication is On.";
                            }
                            return new JsonResponse()
                            {
                                Flag = true, Message = Message
                            };
                        }
                    }
                    catch (Exception ex)
                    {
                        return new JsonResponse()
                        {
                            Flag = false, Message = ex.Message
                        };
                    }
                }
            }));
        }
コード例 #6
0
        public Task <JsonResponse> ChangeSeen(int userID, int NotiID)
        {
            return(Task.Run(() =>
            {
                using (MIUEntities db = new MIUEntities())
                {
                    try
                    {
                        if (NotiID != 0)
                        {
                            NotiVisibility notiVisibility = db.NotiVisibilities.Where(x => x.NotiID == NotiID && x.UserID == userID).SingleOrDefault();

                            notiVisibility.IsSeen = true;
                            db.SaveChanges();

                            return new JsonResponse()
                            {
                                Flag = true, Message = "IsSeen changed."
                            };
                        }

                        else
                        {
                            return new JsonResponse()
                            {
                                Flag = true, Message = "No Changes(Coming soon)"
                            };
                        }
                        //return true;
                    }
                    catch (Exception ex)
                    {
                        return new JsonResponse()
                        {
                            Flag = true, Message = ex.Message
                        };
                    }
                }
            }));
        }
コード例 #7
0
        //public Task<JsonResponse> ChangePassword(ChangePassword req)
        //{
        //    return Task.Run(async () =>
        //    {
        //        using (MIUEntities db = new MIUEntities())
        //        {
        //            try
        //            {
        //                User user = db.Users.Where(x => x.ID == req.UserID).FirstOrDefault();
        //                if (user == null)
        //                {
        //                    return new JsonResponse() { Flag = true, Message = "User is not found" }; ;
        //                }
        //                else
        //                {
        //                    string Message = "";
        //                    if (user.Password == req.CurrentPassword)
        //                    {
        //                        if (req.NewPassword == req.ComfirmPassword)
        //                        {
        //                            user.Password = req.NewPassword;
        //                            db.SaveChanges();
        //                            Message = "Update Password Successfully!.";
        //                        }
        //                        else
        //                        {
        //                            Message = "New password and confirm password are not same.";
        //                        }
        //                    }
        //                    else
        //                    {
        //                        Message = "Current Password is incorrect.";
        //                    }
        //                    //db.SaveChanges();
        //                    return new JsonResponse() { Flag = true, Message = Message };
        //                }
        //            }
        //            catch (Exception ex)
        //            {
        //                return new JsonResponse() { Flag = false, Message = ex.Message };
        //            }
        //        }
        //    });
        //}

        public Task <JsonResponse> ChangePhoneNumber(int UserID, string PhoneNumber)
        {
            return(Task.Run(() =>
            {
                using (MIUEntities db = new MIUEntities())
                {
                    try
                    {
                        User user = db.Users.Where(x => x.ID == UserID).FirstOrDefault();
                        if (user == null)
                        {
                            return new JsonResponse()
                            {
                                Flag = true, Message = "User is not found"
                            };;
                        }
                        else
                        {
                            user.ContactNumber = PhoneNumber;
                            db.SaveChanges();
                            string Message = "Update Phone Number Successfully!.";

                            return new JsonResponse()
                            {
                                Flag = true, Message = Message
                            };
                        }
                        //db.SaveChanges();
                    }
                    catch (Exception ex)
                    {
                        return new JsonResponse()
                        {
                            Flag = false, Message = ex.Message
                        };
                    }
                }
            }));
        }
コード例 #8
0
        public Task <JsonResponse> UpdateDeviceToken(int userID, string token)
        {
            return(Task.Run(() =>
            {
                using (MIUEntities db = new MIUEntities())
                {
                    try
                    {
                        User user = db.Users.Where(x => x.ID == userID && x.IsDelete != true).SingleOrDefault();

                        var tokenDevice = db.MobileDeviceTokens.Where(x => x.UserID == userID && x.DeviceToken == token).ToList();
                        MobileDeviceToken data = new MobileDeviceToken();
                        data.UserID = userID;
                        data.DeviceToken = token;
                        data.CreatedBy = user.FullName;
                        data.CreatedDate = DateTime.Now;
                        data.UpdatedBy = user.FullName;
                        data.UpdatedDate = DateTime.Now;

                        if (tokenDevice.Count == 0)
                        {
                            db.MobileDeviceTokens.Add(data);

                            db.SaveChanges();
                        }

                        return new JsonResponse()
                        {
                            Flag = true, Message = "Create Successfully"
                        };
                    }
                    catch (Exception)
                    {
                        return null;
                    }
                }
            }));
        }
コード例 #9
0
        public Task <JsonResponse> UpdateEventCalendarFavorite(int userID, int favID, string fav)
        {
            return(Task.Run(() =>
            {
                using (MIUEntities db = new MIUEntities())
                {
                    string msg = "";
                    if (fav == "Favorite")
                    {
                        var isDuplicate = db.FavoriteLists.Where(x => x.FavoriteID == favID && x.UserID == userID).Count() > 0;
                        if (!isDuplicate)
                        {
                            FavoriteList newFav = new FavoriteList()
                            {
                                UserID = userID,
                                FavoriteID = favID,
                                FavoriteType = "EventCalendar",
                                CreatedDate = DateTime.Now
                            };
                            db.FavoriteLists.Add(newFav);
                        }

                        msg = "Favorite";
                    }
                    else
                    {
                        FavoriteList favToUpdate = db.FavoriteLists.Where(a => a.UserID == userID && a.FavoriteID == favID && a.FavoriteType == "EventCalendar").SingleOrDefault();
                        db.FavoriteLists.Remove(favToUpdate);
                        msg = "UnFavorite";
                    }
                    db.SaveChanges();
                    return new JsonResponse()
                    {
                        Flag = true, Message = msg
                    };
                }
            }));
        }
コード例 #10
0
        public Task <JsonResponse> EventCalendarReact(int userID, int eventID, string action)
        {
            return(Task.Run(() =>
            {
                using (MIUEntities db = new MIUEntities())
                {
                    action = action.ToUpper() == "GOING" ? "Going" : "Interested";
                    bool reactFlag = false;
                    string loginName = db.Users.Where(a => a.ID == userID).Select(a => a.LoginName).SingleOrDefault();
                    EventCalendarReact react = db.EventCalendarReacts.Where(a => a.LoginName == loginName && a.Action == action && a.EventID == eventID).SingleOrDefault();
                    if (react != null)
                    {
                        reactFlag = react.Flag == true ? false : true;

                        react.Flag = react.Flag == true ? false : true;
                    }
                    else
                    {
                        EventCalendarReact newReact = new EventCalendarReact();
                        newReact.LoginName = loginName;
                        newReact.EventID = eventID;
                        newReact.Action = action;
                        newReact.Flag = true;
                        newReact.CreatedDate = DateTime.Now;
                        newReact.CreatedUser = db.Users.Where(a => a.ID == userID).Select(a => a.LoginName).SingleOrDefault();
                        db.EventCalendarReacts.Add(newReact);

                        reactFlag = true;
                    }
                    db.SaveChanges();
                    return new JsonResponse()
                    {
                        Flag = true, Message = "Successfully Reacted"
                    };
                }
            }));
        }
コード例 #11
0
 public Task <JsonResponse> IncreaseViewerCount(int userID, int newsID)
 {
     return(Task.Run(() =>
     {
         using (MIUEntities db = new MIUEntities())
         {
             bool isViewed = db.NewsViewers.Any(a => a.UserID == userID && a.NewsID == newsID);
             if (!isViewed)
             {
                 NewsViewer newsViewer = new NewsViewer()
                 {
                     NewsID = newsID,
                     UserID = userID
                 };
                 db.NewsViewers.Add(newsViewer);
                 db.SaveChanges();
             }
             return new JsonResponse()
             {
                 Flag = true, Message = "Successfully Increased"
             };
         }
     }));
 }
コード例 #12
0
        public Task <JsonResponse> EditProfile(EditProfile EditProfile)
        {
            return(Task.Run(() =>
            {
                using (MIUEntities db = new MIUEntities())
                {
                    try
                    {
                        User user = db.Users.Where(x => x.ID == EditProfile.ID).SingleOrDefault();
                        List <User> userList = db.Users.Where(x => x.IsDelete != true && x.EmailAccount == EditProfile.EmailAccount).ToList();

                        var list = userList.ToList();

                        var emailExists = userList.Where(x => x.ID != EditProfile.ID).ToList();

                        if (user == null)
                        {
                            return new JsonResponse()
                            {
                                Flag = true, Message = "User is not found"
                            };
                        }
                        else if (user != null && emailExists.Count() > 0)
                        {
                            return new JsonResponse()
                            {
                                Flag = true, Message = "Email already exists"
                            };
                        }
                        else
                        {
                            string ImageName = "";

                            if (!String.IsNullOrEmpty(EditProfile.FileName) && EditProfile.FileName != "\"\"" && EditProfile.FileName != "")
                            {
                                Guid guid = Guid.NewGuid();
                                ImageName = guid.ToString() + "_" + Path.GetFileName(EditProfile.FileName);
                                user.ProfilePicture = ImageName;

                                if (!string.IsNullOrEmpty(EditProfile.Base64Image) && EditProfile.Base64Image != "\"\"" && EditProfile.Base64Image != "")
                                {
                                    byte[] Base64Image = Convert.FromBase64String(EditProfile.Base64Image);
                                    MIUFileServer.SaveToFileServer("ProfileImages", ImageName, Base64Image);
                                }
                            }
                            //user.ID = EditProfile.ID;
                            //user.FullName = EditProfile.FullName;
                            //user.Address = EditProfile.Address;
                            //user.DOB = EditProfile.DOB.Date;
                            user.EmailAccount = EditProfile.EmailAccount;
                            user.ContactNumber = EditProfile.ContactNumber;
                            user.MobilePhoneNumber = EditProfile.ContactNumber;
                            user.ModifiedBy = EditProfile.ModifiedBy;
                            user.ModifiedDate = EditProfile.ModifiedDate;
                            user.OrderDatetime = DateTime.Now;

                            AspNetUser aspNetUser = db.AspNetUsers.Where(x => x.UserName == user.LoginName).SingleOrDefault();
                            aspNetUser.Email = EditProfile.EmailAccount;

                            db.SaveChanges();
                            return new JsonResponse()
                            {
                                Flag = true, Message = "Successfully Updated"
                            };
                        }
                    }
                    catch (Exception ex)
                    {
                        return new JsonResponse()
                        {
                            Flag = false, Message = ex.Message
                        };
                    }
                }
            }));
        }
コード例 #13
0
        public Task <NotiInfo> GetNotificationList(int userID, int currentIndex, int maxRow)
        {
            return(Task.Run(() =>
            {
                using (MIUEntities db = new MIUEntities())
                {
                    NotiInfo Notifications = new NotiInfo();

                    try
                    {
                        User user = db.Users.Where(x => x.ID == userID && x.IsDelete != true).SingleOrDefault();
                        Notifications.NotiCount = 0;
                        var skip = (currentIndex - 1) * maxRow;

                        List <Notification> NotiList = (from n in db.Notifications
                                                        where n.NotiTypeId != 1 && (!db.NotiVisibilities.Any(nv => nv.NotiID == n.ID && nv.UserID == userID) || db.NotiVisibilities.Any(nv => nv.NotiID == n.ID && nv.UserID == userID))
                                                        select n).ToList();

                        List <Notification> SubscriptionList = (from n in db.Notifications
                                                                //join nv in db.NotiVisibilities.Where(nv => nv.UserID != userID) on n.ID equals nv.NotiID into noti from x in noti.DefaultIfEmpty()
                                                                join s in db.Subscribtions.Where(s => s.UserID == userID) on n.ID equals s.NotiID
                                                                where (!db.NotiVisibilities.Any(nv => nv.NotiID == n.ID && nv.UserID == userID) || db.NotiVisibilities.Any(nv => nv.NotiID == n.ID && nv.UserID == userID)) && n.NotiTypeId == 1
                                                                select n).ToList();

                        List <NotiVisibility> notiVisibilities = new List <NotiVisibility>();
                        List <NotiListInfo> NotiListInfo = new List <NotiListInfo>();

                        foreach (var data in NotiList)
                        {
                            NotiListInfo info = new NotiListInfo();
                            PropertyCopier <Notification, NotiListInfo> .Copy(data, info);

                            var NotiType = db.NotificationTypes.Where(x => x.ID == data.NotiTypeId).SingleOrDefault();

                            if (NotiType.ID == 1)
                            {
                                LeadNotification LeadNoti = new LeadNotification();
                                LeadNoti = db.LeadNotifications.Where(x => x.NotificationId == data.ID).FirstOrDefault();
                                if (LeadNoti != null)
                                {
                                    info.RelatedTableID = LeadNoti.LeadId;
                                    info.RelatedTableName = "Lead";
                                }
                            }
                            else if (NotiType.ID == 2)
                            {
                                NewsNoti NewNoti = new NewsNoti();
                                NewNoti = db.NewsNotis.Where(x => x.NotiID == data.ID).FirstOrDefault();
                                if (NewNoti != null)
                                {
                                    info.RelatedTableID = NewNoti.NewsID;
                                    info.RelatedTableName = "News";
                                }
                            }

                            //info.RelatedTableID = db.
                            NotiListInfo.Add(info); //Get Notification List

                            NotiVisibility notiVisibility = new NotiVisibility();
                            notiVisibilities = db.NotiVisibilities.Where(x => x.UserID == userID && x.NotiID == data.ID).ToList();
                            if (notiVisibilities.Count == 0)
                            {
                                notiVisibility.NotiID = data.ID;
                                notiVisibility.UserID = userID;
                                notiVisibility.IsSeen = false;
                                db.NotiVisibilities.Add(notiVisibility);
                            }
                            else
                            {
                                foreach (var notiVis in notiVisibilities)
                                {
                                    foreach (var NotiListing in NotiListInfo)
                                    {
                                        if (NotiListing.UserId != null && NotiListing.ID == notiVis.NotiID && NotiListing.UserId == notiVis.UserID && notiVis.IsSeen == true)
                                        {
                                            NotiListing.IsSeen = true;
                                        }
                                        else if (NotiListing.ID == notiVis.NotiID && notiVis.IsSeen == true)
                                        {
                                            NotiListing.IsSeen = true;
                                        }
                                    }
                                }
                            }
                        }

                        foreach (var data in SubscriptionList)
                        {
                            NotiListInfo info = new NotiListInfo();
                            PropertyCopier <Notification, NotiListInfo> .Copy(data, info);

                            var NotiType = db.NotificationTypes.Where(x => x.ID == data.NotiTypeId).SingleOrDefault();

                            if (NotiType.ID == 1)
                            {
                                LeadNotification LeadNoti = db.LeadNotifications.Where(x => x.NotificationId == data.ID).FirstOrDefault();
                                if (LeadNoti != null)
                                {
                                    info.RelatedTableID = LeadNoti.LeadId;
                                    info.RelatedTableName = "Lead";
                                }
                            }
                            else if (NotiType.ID == 2)
                            {
                                NewsNoti NewNoti = db.NewsNotis.Where(x => x.NotiID == data.ID).FirstOrDefault();
                                if (NewNoti != null)
                                {
                                    info.RelatedTableID = NewNoti.NewsID;
                                    info.RelatedTableName = "News";
                                }
                            }

                            //info.RelatedTableID = db.
                            NotiListInfo.Add(info); //Get Notification List

                            NotiVisibility notiVisibility = new NotiVisibility();
                            notiVisibilities = db.NotiVisibilities.Where(x => x.UserID == userID && x.NotiID == data.ID).ToList();
                            if (notiVisibilities.Count == 0)
                            {
                                notiVisibility.NotiID = data.ID;
                                notiVisibility.UserID = userID;
                                notiVisibility.IsSeen = false;
                                db.NotiVisibilities.Add(notiVisibility);
                            }
                            else
                            {
                                foreach (var notiVis in notiVisibilities)
                                {
                                    foreach (var NotiListing in NotiListInfo)
                                    {
                                        if (NotiListing.ID == notiVis.NotiID && NotiListing.UserId == notiVis.UserID && notiVis.IsSeen == true)
                                        {
                                            NotiListing.IsSeen = true;
                                            //NotiListInfo.Add(NotiListing);
                                        }
                                    }
                                }
                            }
                        }

                        List <NotiListInfo> WebNotiList = new List <NotiListInfo>();
                        WebNotiList = GetWebNotification(userID);

                        NotiListInfo.AddRange(WebNotiList);

                        NotiListInfo.ForEach(x => { if (x.UpdatedDate == null)
                                                    {
                                                        x.UpdatedDate = x.CreatedDate; x.UpdatedBy = x.CreatedBy;
                                                    }
                                             });                                                                                                // if updated date is null set updated date value from created date.

                        Notifications.NotiList = NotiListInfo.OrderByDescending(x => x.CreatedDate).Skip(skip).Take(maxRow).ToList();
                        db.SaveChanges(); //Add to IsSeenNotification Table

                        int TotalNotiCount = db.Notifications.Where(x => x.NotiTypeId != 1).Count();
                        int IsSeenNotiCount = db.NotiVisibilities.Where(x => x.UserID == userID).Count();

                        Notifications.NotiCount = 0;
                    }
                    catch (System.Exception ex)
                    {
                        //throw ex;
                    }

                    return Notifications;
                }
            }));
        }
コード例 #14
0
        public Task <JsonResponse> ForgotPassword(string email)
        {
            return(Task.Run(() =>
            {
                using (MIUEntities db = new MIUEntities())
                {
                    try
                    {
                        User user = db.Users.Where(x => x.EmailAccount == email).FirstOrDefault();
                        if (user == null)
                        {
                            return new JsonResponse()
                            {
                                Flag = true, Message = "User is not found"
                            };;
                        }
                        else
                        {
                            Random rnd = new Random();
                            string code = rnd.Next(1, 999999).ToString("D6");
                            AspNetUser aspNetUser = db.AspNetUsers.Where(x => x.Email == email).FirstOrDefault();
                            var check = (from a in db.AspNetUserAuthentications where a.UserID == aspNetUser.Id select a.UserID).FirstOrDefault();
                            AspNetUserAuthentication auth = new AspNetUserAuthentication();
                            if (check == null)
                            {
                                auth = new AspNetUserAuthentication()
                                {
                                    UserID = aspNetUser.Id,
                                    Code = code,
                                    CreatedDate = DateTime.Now
                                };
                                db.AspNetUserAuthentications.Add(auth);
                                db.SaveChanges();
                            }
                            else
                            {
                                auth = new AspNetUserAuthentication();
                                auth = db.AspNetUserAuthentications.Where(a => a.UserID == aspNetUser.Id).FirstOrDefault();
                                auth.Code = code;
                                auth.CreatedDate = DateTime.Now;
                                db.SaveChanges();
                            }
                            code = "Your two factor authentication code is below \n" + code;
                            EmailManager.SendEmail(code, email, "Two Factor Authentication Code");

                            //db.SaveChanges();
                            return new JsonResponse()
                            {
                                Flag = true, Message = "Successfully Sent", ReferenceKey = auth.UserID
                            };
                        }
                    }
                    catch (Exception ex)
                    {
                        return new JsonResponse()
                        {
                            Flag = false, Message = ex.Message
                        };
                    }
                }
            }));
        }
コード例 #15
0
        public async Task <HttpResponseMessage> PasswordChange(ChangePassword req)
        {
            try
            {
                SettingDAL dal = new SettingDAL();
                //JsonResponse response = await PasswordChanges(req);
                JsonResponse response = new JsonResponse();
                using (MIUEntities db = new MIUEntities())
                {
                    try
                    {
                        User user = db.Users.Where(x => x.ID == req.UserID).FirstOrDefault();
                        if (user == null)
                        {
                            response.Flag    = true;
                            response.Message = "User not found.";
                        }
                        else
                        {
                            string Message = "";
                            if (user.Password == req.CurrentPassword)
                            {
                                if (req.NewPassword == req.ComfirmPassword)
                                {
                                    user.Password = req.NewPassword;
                                    var            AspNetUserID = db.AspNetUsers.Where(x => x.UserName == user.LoginName).Select(x => x.Id).FirstOrDefault();
                                    IdentityResult result       = await UserManager.ChangePasswordAsync(AspNetUserID, req.CurrentPassword, req.NewPassword);

                                    if (!result.Succeeded)
                                    {
                                        Message = "Fail to change password!";
                                    }
                                    else
                                    {
                                        db.SaveChanges();
                                        Message = "Update Password Successfully!.";
                                    }
                                }
                                else
                                {
                                    Message = "New password and confirm password are not same.";
                                }
                            }
                            else
                            {
                                Message = "Current Password is incorrect.";
                            }
                            //db.SaveChanges();
                            response.Flag    = true;
                            response.Message = Message;
                        }
                    }
                    catch (Exception ex)
                    {
                        //return new JsonResponse() { Flag = true, Message = Message };
                        response.Flag    = true;
                        response.Message = ex.Message;
                    }
                }
                if (response != null && response.Flag)
                //if (response)
                {
                    return(Request.CreateResponse <JsonResponse>(HttpStatusCode.OK, response));
                }
                else
                {
                    return(Request.CreateErrorResponse(HttpStatusCode.NotFound, MIUWebAPI.Helper.Constants.ErrorNotFound));
                }
            }
            catch (DbEntityValidationException ex)
            {
                var    controllerName = ControllerContext.RouteData.Values["controller"].ToString();
                var    actionName     = ControllerContext.RouteData.Values["action"].ToString();
                Logger log            = new Logger();
                log.ErrorLog(ex, controllerName, actionName);
                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, MIUWebAPI.Helper.Constants.ErrorSysError));
            }
        }