Example #1
0
 public AuthResponse Create(long userId, string email, Enums.RecordState recordState, Enums.UserType userType)
 {
     UserId      = userId;
     Email       = email;
     RecordState = recordState;
     UserType    = userType;
     return(this);
 }
Example #2
0
 public User Create(string username, string password, Enums.UserType userType)
 {
     AuditableCreate();
     Email        = username;
     Password     = Encyption.Encrypt(password);
     UserType     = userType;
     RecordStatus = Enums.RecordState.Active;
     return(this);
 }
Example #3
0
        public ActionResult Give(string userID, string phoneNumber, int count)
        {
            var fUser = db.Users.FirstOrDefault(s => s.Id == userID);

            if (fUser == null)
            {
                return(Json(Comm.ToJsonResult("NoFound", $"转出人不存在")));
            }
            var tUser      = db.Users.FirstOrDefault(s => s.PhoneNumber == phoneNumber);
            var enableGive = new Enums.UserType[] {
                Enums.UserType.Proxy,
                Enums.UserType.ProxySec
            };

            if (tUser == null)
            {
                return(Json(Comm.ToJsonResult("NoFound", $"手机号不存在")));
            }
            else if (!enableGive.Contains(tUser.UserType))
            {
                return(Json(Comm.ToJsonResult("Error", $"转送对象没有权限接收")));
            }
            if (tUser.Id == userID)
            {
                return(Json(Comm.ToJsonResult("Error", $"不能转给自己")));
            }
            var codes = db.RegistrationCodes
                        .Where(s => s.OwnUser == userID &&
                               s.UseEndDateTime == null).Take(count)
                        .ToList();

            if (codes.Count < count)
            {
                return(Json(Comm.ToJsonResult("NoEnough", $"剩余数量不足以完成该提交", new { Lave = codes.Count })));
            }
            foreach (var item in codes)
            {
                item.OwnUser = tUser.Id;
            }
            db.SaveChanges();
            var tLog = new RegistrationCodeLog {
                Count = count, CreateDateTime = DateTime.Now, From = userID, UserID = tUser.Id
            };
            var fLog = new RegistrationCodeLog {
                Count = -count, CreateDateTime = DateTime.Now, From = tUser.Id, UserID = userID
            };

            db.RegistrationCodeLogs.Add(tLog);
            db.RegistrationCodeLogs.Add(fLog);
            db.SaveChanges();
            var lave = db.RegistrationCodes.Where(s => s.OwnUser == userID && s.UseTime == null).Count();

            return(Json(Comm.ToJsonResult("Success", $"转码成功", new { Lave = lave })));
        }
Example #4
0
 /// <summary>Model constructor.</summary>
 public SentMessage(UserState state, string message)
 {
     Badges       = state.Badges;
     Channel      = state.Channel;
     ColorHex     = state.ColorHex;
     DisplayName  = state.DisplayName;
     EmoteSet     = state.EmoteSet;
     IsModerator  = state.IsModerator;
     IsSubscriber = state.IsSubscriber;
     UserType     = state.UserType;
     Message      = message;
 }
Example #5
0
 /// <summary>Chat Message constructor with passed in values.</summary>
 public ChatMessage(List <KeyValuePair <string, string> > badges, string channel, string colorHex, string displayName,
                    EmoteSet emoteSet, bool moderator, bool subscriber, Enums.UserType userType, string message)
 {
     Badges       = badges;
     Channel      = channel;
     ColorHex     = colorHex;
     Username     = DisplayName = displayName;
     EmoteSet     = emoteSet;
     IsModerator  = moderator;
     IsSubscriber = subscriber;
     UserType     = userType;
     Message      = message;
 }
        private static bool ValidateToken(string token, out string username, out Enums.UserType role)
        {
            username = null;
            role     = Enums.UserType.Unspecified;

            var simplePrinciple = JwtManager.GetPrincipal(token);
            var identity        = simplePrinciple?.Identity as ClaimsIdentity;

            if (identity == null)
            {
                return(false);
            }

            if (!identity.IsAuthenticated)
            {
                return(false);
            }

            var usernameClaim = identity.FindFirst(ClaimTypes.Name);
            var roleClaim     = identity.FindFirst(ClaimTypes.Role);

            username = usernameClaim?.Value;
            role     = roleClaim?.Value != null ?
                       (Enums.UserType)Enum.Parse(typeof(Enums.UserType), roleClaim?.Value) :
                       Enums.UserType.Unspecified;

            if (string.IsNullOrEmpty(username))
            {
                return(false);
            }

            // More validate to check whether username exists in system
            UserManager usersBL = new UserManager();
            var         dbUser  = usersBL.GetOneUser(username);

            if (dbUser == null)
            {
                return(false);
            }

            //if (dbUser.Password != password)
            //    return false;

            //role = (Enums.UserType)Enum.Parse(typeof(Enums.UserType), dbUser.RoleName);


            return(true);
        }
        public async Task <ServiceResponse <int> > GetPrice(string ticketType)
        {
            ServiceResponse <int> response    = new ServiceResponse <int>();
            ServiceResponse <int> rpcResponse = new ServiceResponse <int>();

            int userId = GetUserId();

            Enums.UserType userType = Enums.UserType.RegulerUser;
            try
            {
                if (userId != -1)
                {
                    // RPC call to account service to get user type
                    var res = await _rpcClient.CallAsync(userId.ToString());

                    Console.WriteLine("test1");
                    rpcResponse = System.Text.Json.JsonSerializer.Deserialize <ServiceResponse <int> >(res);
                    Console.WriteLine("test2");
                    if (rpcResponse.Success)
                    {
                        Console.WriteLine("test3");
                        userType = (Enums.UserType)rpcResponse.Data;
                    }
                    Console.WriteLine("test4");
                }
            }
            catch (Exception)
            {
                response.Message = "Possible discount couldn't be processed. Price shown is without discount.\n";
            }

            try
            {
                Enums.TicketType type          = (Enums.TicketType)Enum.Parse(typeof(Enums.TicketType), ticketType);
                PricelistItem    pricelistItem = await _context.PricelistItems.FirstOrDefaultAsync(pi => pi.Pricelist.Active == true && pi.Item.TicketType == type);

                Coefficient coef = await _context.Coefficients.FirstOrDefaultAsync(c => c.UserType == userType);

                response.Data = (int)Math.Round(pricelistItem.Price * coef.Value);
            }
            catch (Exception e)
            {
                response.Success = false;
                response.Message = e.Message;
            }
            return(response);
        }
Example #8
0
        public ActionResult Create(Enums.UserType userType = Enums.UserType.Proxy, string pid = null)
        {
            Sidebar();
            Models.ApplicationUser user = null;
            if (!string.IsNullOrWhiteSpace(pid))
            {
                user = db.Users.FirstOrDefault(s => s.Id == pid);
            }
            var model = new UserManageCreateUserViewModel()
            {
                UserType           = Enums.UserType.Proxy,
                ParentUserID       = user?.Id,
                ParentUserNickName = user?.NickName
            };

            return(View(model));
        }
        public bool CheckUser(string username, string password, out Enums.UserType role)
        {
            role = Enums.UserType.Unspecified;

            var usersBL = new UserManager();
            var dbUser  = usersBL.GetOneUser(username);

            if (dbUser == null)
            {
                return(false);
            }

            if (dbUser.Password != password)
            {
                return(false);
            }

            role = (Enums.UserType)Enum.Parse(typeof(Enums.UserType), dbUser.RoleName);
            return(true);
        }
Example #10
0
        public ActionResult Index(int page = 1, Enums.UserType type = Enums.UserType.Proxy, string filter = null)
        {
            Sidebar();
            var query = from u in db.Users
                        join r in db.RegistrationCodes
                        on u.Id equals r.OwnUser
                        into c
                        select new UserManage()
            {
                Count            = c.Count(),
                Id               = u.Id,
                RegisterDateTime = u.RegisterDateTime,
                UnUseCount       = c.Count(s => !s.UseTime.HasValue),
                UseCount         = c.Count(s => s.UseTime.HasValue),
                UserName         = u.UserName,
                NickName         = u.NickName,
                UserType         = u.UserType,
                PhoneNumber      = u.PhoneNumber,
                WeChatCode       = u.WeChatCode
            };

            if (!string.IsNullOrWhiteSpace(filter))
            {
                query = query.Where(s => s.PhoneNumber == filter ||
                                    s.NickName.Contains(filter) ||
                                    s.UserName.Contains(filter) ||
                                    s.WeChatCode == filter);
            }
            else
            {
                query = query.Where(s => s.UserType == type);
            }
            var userlist = query
                           .OrderBy(s => s.RegisterDateTime)
                           .ToPagedList(page);

            return(View(userlist));
        }
Example #11
0
 public async Task <Tuple <List <BaseNotification>, UserProfile> > AddNotifayToAllWithSend(int userId, Enums.NotifayType notifayType, string title, string content, string link, bool AttachLink, Enums.UserType userType, string entityId, Enums.NotificationEntityType type)
 {
     return(null);
 }
 private static void GenerateUserID(int value, Enums.UserType type)
 {
     var result = _psl.GenerateUserID(value, type);
 }
Example #13
0
 public async Task <List <UserProfile> > GetUsersByType(Enums.UserType userType)
 {
     return(null);
 }
Example #14
0
        /// <summary>
        /// Constructor for UserState.
        /// </summary>
        /// <param name="ircString"></param>
        public UserState(string ircString)
        {
            foreach (string part in ircString.Split(';'))
            {
                // The 'user-type' section does not have a ; suffix, we will account for this outside of for loop, we should exit loop immediately
                if (part.Contains(" :tmi.twitch.tv USERSTATE "))
                {
                    break;
                }
                if (!part.Contains("="))
                {
                    // This should never happen, unless Twitch changes their shit.
                    Console.WriteLine($"Unaccounted for [UserState]: {part}");
                    continue;
                }
                switch (part.Split('=')[0])
                {
                case "@badges":
                    string badges = part.Split('=')[1];
                    if (badges.Contains('/'))
                    {
                        if (!badges.Contains(","))
                        {
                            Badges.Add(new KeyValuePair <string, string>(badges.Split('/')[0], badges.Split('/')[1]));
                        }
                        else
                        {
                            foreach (string badge in badges.Split(','))
                            {
                                Badges.Add(new KeyValuePair <string, string>(badge.Split('/')[0], badge.Split('/')[1]));
                            }
                        }
                    }
                    break;

                case "color":
                    ColorHex = part.Split('=')[1];
                    break;

                case "display-name":
                    DisplayName = part.Split('=')[1];
                    break;

                case "emote-sets":
                    EmoteSet = part.Split('=')[1];
                    break;

                case "mod":
                    Moderator = part.Split('=')[1] == "1";
                    break;

                case "subscriber":
                    Subscriber = part.Split('=')[1] == "1";
                    break;

                default:
                    // This should never happen, unless Twitch changes their shit
                    Console.WriteLine($"Unaccounted for [UserState]: {part.Split('=')[0]}");
                    break;
                }
            }
            // Lets deal with that user-type
            switch (ircString.Split('=')[6].Split(' ')[0])
            {
            case "mod":
                UserType = Enums.UserType.Moderator;
                break;

            case "global_mod":
                UserType = Enums.UserType.GlobalModerator;
                break;

            case "admin":
                UserType = Enums.UserType.Admin;
                break;

            case "staff":
                UserType = Enums.UserType.Staff;
                break;

            default:
                UserType = Enums.UserType.Viewer;
                break;
            }
            Channel = ircString.Split(' ')[3].Replace("#", "");
            if (DisplayName.ToLower() == Channel.ToLower())
            {
                UserType = Enums.UserType.Broadcaster;
            }
        }
Example #15
0
 public Request(T item, int userid, Enums.UserType userType)
 {
     Item     = item;
     UserId   = userid;
     UserType = userType;
 }
Example #16
0
 public ChatterFormatted(string username, Enums.UserType userType)
 {
     Username = username;
     UserType = userType;
 }
Example #17
0
 public async Task <Tuple <List <BaseNotification>, UserProfile> > AddNotifayToAll(int userId, Enums.NotifayType notifayType, string title, string content, string link, Enums.UserType userType)
 {
     return(null);
 }
        /// <summary>
        /// WhisperMessage constructor.
        /// </summary>
        /// <param name="ircString">Received IRC string from Twitch server.</param>
        /// <param name="botUsername">Active bot username receiving message.</param>
        public WhisperMessage(string ircString, string botUsername)
        {
            Username    = ircString.Split('!')[1].Split('@')[0];
            BotUsername = botUsername;
            Message     = ircString.Replace($"{ircString.Split('!')[0]}!{Username}@{Username}.tmi.twitch.tv WHISPER {botUsername.ToLower()} :", "");

            var props = ircString.Replace(Message, "");

            foreach (string part in props.Split(';'))
            {
                string key   = part.Split('=')[0];
                string value = part.Split('=')[1];
                switch (key)
                {
                case "@badges":
                    Badges = new List <KeyValuePair <string, string> >();
                    if (value.Contains('/'))
                    {
                        if (!value.Contains(","))
                        {
                            Badges.Add(new KeyValuePair <string, string>(value.Split('/')[0], value.Split('/')[1]));
                        }
                        else
                        {
                            foreach (string badge in value.Split(','))
                            {
                                Badges.Add(new KeyValuePair <string, string>(badge.Split('/')[0], badge.Split('/')[1]));
                            }
                        }
                    }
                    break;

                case "color":
                    ColorHex = value;
                    if (!string.IsNullOrEmpty(ColorHex))
                    {
                        Color = ColorTranslator.FromHtml(ColorHex);
                    }
                    break;

                case "display-name":
                    DisplayName = value;
                    break;

                case "emotes":
                    EmoteSet = new EmoteSet(value, Message);
                    break;

                case "message-id":
                    MessageId = long.Parse(value);
                    break;

                case "thread-id":
                    ThreadId = value;
                    break;

                case "turbo":
                    if (value == "1")
                    {
                        Turbo = true;
                    }
                    break;

                case "user-id":
                    UserId = value;
                    break;

                case "user-type":
                    switch (part.Split('=')[1].Split(' ')[0])
                    {
                    case "global_mod":
                        UserType = Enums.UserType.GlobalModerator;
                        break;

                    case "admin":
                        UserType = Enums.UserType.Admin;
                        break;

                    case "staff":
                        UserType = Enums.UserType.Staff;
                        break;

                    default:
                        UserType = Enums.UserType.Viewer;
                        break;
                    }
                    break;
                }
            }
        }
Example #19
0
 public async Task <Tuple <BaseNotification, UserProfile> > AddNotifayWithSend(BaseNotification notification, Enums.UserType userType)
 {
     return(null);
 }
Example #20
0
 public Request(T item, Enums.UserType userType)
 {
     Item     = item;
     UserType = userType;
 }
Example #21
0
        public List <EntityViews.Patient> List(Entities.User user, string type, int pageNumber, int pageSize, string query, out int totalRecords)
        {
            Enums.UserType        userType        = user.IsSuperAdmin ? Enums.UserType.SuperAdmin : user.Permissions.Count(x => x.Name == "Case Manager") > 0 ? Enums.UserType.CaseManager : user.Permissions.Count(x => x.Name == "Administrator") > 0 ? Enums.UserType.Administrator : Enums.UserType.Other;
            Enums.PatientListType patientTypeList = type == "active" ? Enums.PatientListType.Active : type == "discharged" ? Enums.PatientListType.Inactive : Enums.PatientListType.Deceased;


            GridReader gridReader = null;

            if (patientTypeList == Enums.PatientListType.Active)
            {
                gridReader = QueryMultiple("[EPONS].[ListActivePatients]", new
                {
                    start      = (pageNumber - 1) * pageSize,
                    length     = pageSize,
                    userId     = userType == Enums.UserType.Other ? user.Id : (Guid?)null,
                    facilityId = userType == Enums.UserType.SuperAdmin ? null : (user.CurrentFacility == null ? (Guid?)null : user.CurrentFacility.Id),
                    query      = query
                });
            }
            else if (userType != Enums.UserType.SuperAdmin && patientTypeList == Enums.PatientListType.Inactive)
            {
                gridReader = QueryMultiple("[EPONS].[ListDischargedPatients]", new
                {
                    start      = (pageNumber - 1) * pageSize,
                    length     = pageSize,
                    userId     = userType == Enums.UserType.Other ? user.Id : (Guid?)null,
                    facilityId = userType == Enums.UserType.SuperAdmin ? null : (user.CurrentFacility == null ? (Guid?)null : user.CurrentFacility.Id),
                    query      = query
                });
            }
            else if (userType != Enums.UserType.SuperAdmin && patientTypeList == Enums.PatientListType.Deceased)
            {
                gridReader = QueryMultiple("[EPONS].[ListDeceasedPatients]", new
                {
                    start      = (pageNumber - 1) * pageSize,
                    length     = pageSize,
                    userId     = userType == Enums.UserType.Other ? user.Id : (Guid?)null,
                    facilityId = userType == Enums.UserType.SuperAdmin ? null : (user.CurrentFacility == null ? (Guid?)null : user.CurrentFacility.Id),
                    query      = query
                });
            }
            else
            {
                totalRecords = 0;
                return(new List <EntityViews.Patient>());
            }

            IEnumerable <dynamic> patientResultSet         = gridReader.Read <dynamic>();
            IEnumerable <dynamic> patientFacilityResultSet = gridReader.Read <dynamic>();
            IEnumerable <dynamic> patientCountResultSet    = gridReader.Read <dynamic>();

            totalRecords = patientCountResultSet.FirstOrDefault().Count;

            return(patientResultSet.Select(x => new EntityViews.Patient()
            {
                Firstname = x.Firstname,
                Lastname = x.Lastname,
                DateOfBirth = x.DateOfBirth == null ? DateTime.Now : x.DateOfBirth,
                Gender = x.Gender,
                Id = x.Id,
                MedicalScheme = x.MedicalScheme,
                Race = x.Race,
                Facilities = string.Join(", ", patientFacilityResultSet.Where(y => y.PatientId == x.Id).Select(y => y.FacilityName))
            }).ToList());
        }