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); } }
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); }
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); }
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); }