public string RemoveSharedUser(string token, string removeUserShareID, string rec_Id)
        {
            try
            {
                int recId        = int.Parse(rec_Id);
                int removeUserID = int.Parse(removeUserShareID);
                using (var db = new MyPassWordsContext())
                {
                    Users user = db.Users.FirstOrDefault(u => u.Token == token);
                    if (user == null)
                    {
                        return(serializer.Serialize("tokenError"));
                    }
                    RecordForUser checkPermissions = db.RecordForUser.FirstOrDefault(rfu => rfu.User.UID == user.UID &&
                                                                                     rfu.Record.RID == recId);
                    if (checkPermissions == null)
                    {
                        return(serializer.Serialize("PermissionsDenied"));
                    }
                    Users removeUser = db.Users.FirstOrDefault(u => u.UID == removeUserID);
                    if (removeUser == null)
                    {
                        return(serializer.Serialize("removeUserNotFound"));
                    }
                    db.RecordForUser.Remove(db.RecordForUser.FirstOrDefault(rfu => rfu.Record.RID == recId &&
                                                                            rfu.User.UID == removeUserID));

                    db.SaveChanges();
                    return(serializer.Serialize("Success"));
                }
            }
            catch (Exception ex)
            { return(serializer.Serialize(ex.Message)); }
        }
        public string AddSharedUser(string token, string userShare, string rec_Id)
        {
            try
            {
                int recId = int.Parse(rec_Id);
                using (var db = new MyPassWordsContext())
                {
                    Users user = db.Users.FirstOrDefault(u => u.Token == token);
                    if (user == null)
                    {
                        return(serializer.Serialize("tokenError"));
                    }
                    RecordForUser checkPermissions = db.RecordForUser.FirstOrDefault(rfu => rfu.User.UID == user.UID &&
                                                                                     rfu.Record.RID == recId);

                    if (checkPermissions == null)
                    {
                        return(serializer.Serialize("PermissionsDenied"));
                    }
                    Users NewUser = db.Users.FirstOrDefault(u => u.Email.ToLower() == userShare.ToLower());
                    if (NewUser == null)
                    {
                        return(serializer.Serialize("ShareUserNotFound"));
                    }
                    RecordForUser checkRecordForUser = db.RecordForUser.FirstOrDefault(rfu => rfu.User.UID == NewUser.UID &&
                                                                                       rfu.Record.RID == recId);
                    if (checkRecordForUser != null)
                    {
                        return(serializer.Serialize("ExistsUser"));
                    }

                    db.RecordForUser.Add(new RecordForUser()
                    {
                        Record      = db.Records.FirstOrDefault(r => r.RID == recId),
                        User        = db.Users.FirstOrDefault(u => u.UID == NewUser.UID),
                        RFUInsertDT = DateTime.Now
                    });
                    db.SaveChanges();
                    return(serializer.Serialize("Success"));
                }
            }
            catch (Exception ex)
            { return(serializer.Serialize(ex.Message)); }
        }
        public string EditRecord(string title, string userName, string pass, string notes, string url, string token, string rec_Id)
        {
            try
            {
                int recId = int.Parse(rec_Id);
                using (var db = new MyPassWordsContext())
                {
                    Users user = db.Users.FirstOrDefault(u => u.Token == token);
                    if (user == null)
                    {
                        return(serializer.Serialize("tokenError"));
                    }
                    RecordForUser checkPermissions = db.RecordForUser.FirstOrDefault(rfu => rfu.User.UID == user.UID &&
                                                                                     rfu.Record.RID == recId);

                    if (checkPermissions == null)
                    {
                        return(serializer.Serialize("PermissionsDenied"));
                    }
                    Records recUpdate = db.Records.FirstOrDefault(r => r.RID == recId);
                    if (recUpdate == null)
                    {
                        return(serializer.Serialize("RecordNotFound"));
                    }
                    recUpdate.Title    = title;
                    recUpdate.UserName = userName;
                    recUpdate.PassWord = pass;
                    recUpdate.Notes    = notes;
                    recUpdate.URL      = url;
                    db.SaveChanges();
                    return(serializer.Serialize("Success"));
                }
            }
            catch (Exception ex)
            { return(serializer.Serialize(ex.Message)); }
        }