Beispiel #1
0
        public Team AddNewTeam(TeamRequest request)
        {
            using (var db = new TimeTrackerModelContainer())
            {
                var team = new Team();
                team.Name = request.Name;
                var user = db.User.First(x => x.Email == request.UserEmail);

                db.Team.Add(team);

                var userTeamLink = new UserTeamLink
                {
                    PublicPrice  = request.PublicPrice,
                    PrivatePrice = request.PrivatePrice,
                    CurrencyId   = request.CurrencyId,
                    UserID       = user.Id,
                    TeamId       = team.Id
                };

                db.UserTeamLink.Add(userTeamLink);

                db.SaveChanges();

                return(team);
            }
        }
Beispiel #2
0
        public User AddUser(string name, string email, string password, string token, string phone)
        {
            string hashPassword    = HashPassword(password, password);
            var    roleLogic       = new RoleLogic();
            var    newUser         = new User();
            var    newTeam         = new Team();
            var    currencyLogic   = new CurrencyLogic();
            var    newUserTeamLink = new UserTeamLink();

            byte[] time     = BitConverter.GetBytes(DateTime.UtcNow.ToBinary());
            byte[] key      = Guid.NewGuid().ToByteArray();
            string newToken = Convert.ToBase64String(time.Concat(key).ToArray());

            var defaultUserRole = roleLogic.GetRole(Roles.User);

            var defautCurrency = currencyLogic.GetCurrencyByCode("HUF");

            using (var db = new TimeTrackerModelContainer())
            {
                var userInDb = db.User.FirstOrDefault(x => x.Email == email);

                if (userInDb != null)
                {
                    throw new Exception("Ez az Email cím már regisztrált");
                }

                newUser.Name     = name;
                newUser.Email    = email;
                newUser.Password = hashPassword;
                newUser.Phone    = phone;
                newUser.Token    = newToken;
                newUser.Role     = defaultUserRole;

                db.Role.Attach(newUser.Role);
                db.User.Add(newUser);

                newTeam.Name = newUser.Name;

                db.Team.Add(newTeam);

                newUserTeamLink.User         = newUser;
                newUserTeamLink.Currency     = defautCurrency;
                newUserTeamLink.PrivatePrice = "0";
                newUserTeamLink.PublicPrice  = "0";
                newUserTeamLink.Team         = newTeam;

                db.Currency.Attach(newUserTeamLink.Currency);

                db.UserTeamLink.Add(newUserTeamLink);

                db.SaveChanges();
            }

            return(newUser);
        }
Beispiel #3
0
        public static TeamDetailsResponseDto Map(this UserTeamLink source)
        {
            var target = new TeamDetailsResponseDto
            {
                PrivatePrice = source.PrivatePrice,
                PublicPrice  = source.PublicPrice,
                Currency     = source.Currency.Code,
                UserName     = source.User.Name,
                TeamName     = source.Team.Name,
                Id           = source.Id
            };

            return(target);
        }
Beispiel #4
0
        public User AddnewUserToTeam(AddNewUserToTeamRequest request)
        {
            User user = new User();

            var userTeamLink = new UserTeamLink
            {
                PublicPrice  = request.PublicPrice,
                PrivatePrice = request.PrivatePrice,
                CurrencyId   = request.CurrencyId,
                UserID       = request.UserID,
                TeamId       = request.TeamId,
                Id           = request.Id
            };

            using (var db = new TimeTrackerModelContainer())
            {
                db.UserTeamLink.Add(userTeamLink);
                db.SaveChanges();

                user.Id = userTeamLink.UserID;
            }

            return(user);
        }