public IDtoOutObjects All(DtoInLogout dtoInLogout) { DtoOutError error = new DtoOutError(); if (TokenTools.Authentication(dtoInLogout.Token, dtoInLogout.DeviceName)) { List <User> users = _usersRepostiory.FindBy(x => x.IsDeleted == false).ToList(); var config = new MapperConfiguration(cfg => { cfg.CreateMap <User, DtoOutUser>(); }); IMapper mapper = config.CreateMapper(); List <DtoOutUser> list = new List <DtoOutUser>(); foreach (User item in users) { DtoOutUser dtoOutUser = new DtoOutUser(); mapper.Map(item, dtoOutUser); list.Add(dtoOutUser); } DtoOutAllUsers dtoOutAllUsers = new DtoOutAllUsers(); dtoOutAllUsers.dtoOutUsers = list; return(dtoOutAllUsers); } else { NotAuthenticatedException ex = new NotAuthenticatedException(); error.Exception = ex; return(error); } }
public IDtoOutObjects Delete(DtoInAddFriend dtoInFriend) { DtoOutError error = new DtoOutError(); if (TokenTools.Authentication(dtoInFriend.Token, dtoInFriend.DeviceName)) { User user = TokenTools.getUserFromToken(dtoInFriend.Token); Friend friend = _friendsRepository.FindBy(x => x.IdReciever == user.Id && x.IsDeleted == false && x.ObjectApplicant.Email == dtoInFriend.EmailReciever || x.ObjectReciever.Email == dtoInFriend.EmailReciever && x.IsDeleted == false && x.IdApplicant == user.Id).FirstOrDefault(); if (friend == null) { UserIsNotYourFriendException ex = new UserIsNotYourFriendException(); error.Exception = ex; return(error); } friend.IsDeleted = true; _friendsRepository.Edit(friend); _friendsRepository.Save(); var config = new MapperConfiguration(cfg => { cfg.CreateMap <Friend, DtoOutFriend>(); }); IMapper mapper = config.CreateMapper(); DtoOutFriend dtoOutFriend = new DtoOutFriend(); mapper.Map(friend, dtoOutFriend); return(dtoOutFriend); } else { NotAuthenticatedException ex = new NotAuthenticatedException(); error.Exception = ex; return(error); } }
public IDtoOutObjects EditUser(DtoInEditUser dtoInEditUser) { DtoOutError error = new DtoOutError(); if (TokenTools.Authentication(dtoInEditUser.Token, dtoInEditUser.DeviceName)) { User user = TokenTools.getUserFromToken(dtoInEditUser.Token); user.BornDate = new DateTime(dtoInEditUser.Year, dtoInEditUser.Month, dtoInEditUser.Day); var configIn = new MapperConfiguration(cfg => { cfg.CreateMap <DtoInEditUser, User>(); }); IMapper mapperIn = configIn.CreateMapper(); mapperIn.Map(dtoInEditUser, user); _usersRepostiory.Edit(user); _usersRepostiory.Save(); var config = new MapperConfiguration(cfg => { cfg.CreateMap <User, DtoOutUser>(); }); IMapper mapper = config.CreateMapper(); DtoOutUser dtoOutUser = new DtoOutUser(); mapper.Map(user, dtoOutUser); return(dtoOutUser); } else { NotAuthenticatedException ex = new NotAuthenticatedException(); error.Exception = ex; return(error); } }
public IDtoOutObjects GetAllMessages(DtoInLogout dtoInLogout) { DtoOutError error = new DtoOutError(); if (TokenTools.Authentication(dtoInLogout.Token, dtoInLogout.DeviceName)) { try { List <DtoOutMessageDetails> list = MessageTools.getMessageDetailsFromMessagesList(TokenTools.getUserFromToken(dtoInLogout.Token).Id); DtoOutAllMessages result = new DtoOutAllMessages(); result.dtoOutMessageDetails = list; return(result); } catch (Exception ex) { error.Exception = ex; return(error); } } else { NotAuthenticatedException ex = new NotAuthenticatedException(); error.Exception = ex; return(error); } }
/** * 토큰열을 분석하여 접미형 단항 연산 구문 요소를 추출한다. * * @param tokens * @param lineNumber * @return */ public static SuffixSyntax analyze(List <Token> tokens, int lineNumber) { int indexOfLpo = TokenTools.indexOfLpo(tokens); int depth = 0; foreach (int i in Enumerable.Range(0, tokens.Count)) { if (tokens[i].type == Type.ShellOpen) { depth++; } else if (tokens[i].type == Type.ShellClose) { depth--; } } // 껍데기가 온전히 닫혀 있는지 검사한다. if (depth > 0) { Debug.reportError("Syntax error", "insert \")\" to complete Expression", lineNumber); return(null); } if (depth < 0) { Debug.reportError("Syntax error", "delete \"(\"", lineNumber); return(null); } return(new SuffixSyntax(tokens[indexOfLpo], tokens.GetRange(0, indexOfLpo))); }
/** * 토큰열을 분석하여 배열 구문 요소를 추출한다. * * @param tokens * @param lineNumber * @return */ public static ArraySyntax analyze(List <Token> tokens, int lineNumber) { List <List <Token> > elements = TokenTools.getArguments(tokens.GetRange(1, tokens.Count - 1 - 1)); ArraySyntax syntax = new ArraySyntax(elements); return(syntax); }
public static void GetValue(string baseUrl, string authTokenFilePath, AuthenticationHeaderValue ahv) { try { string authToken = TokenTools.GetAuthToken(authTokenFilePath); HttpClient client = new HttpClient(); client.DefaultRequestHeaders.Authorization = ahv; client.BaseAddress = new Uri(baseUrl); client.DefaultRequestHeaders.Accept.Add( new MediaTypeWithQualityHeaderValue("application/vnd.github.v3+json")); client.DefaultRequestHeaders.Add("AuthToken", authToken); HttpResponseMessage response = client.GetAsync("api/values/1").Result; string result = response.Content.ReadAsStringAsync().Result; var statusCode = response.StatusCode; if (statusCode == HttpStatusCode.OK) { if (response.IsSuccessStatusCode) { // print results Console.WriteLine($"city: {result}"); } else { // error Console.WriteLine($"status code:{statusCode}"); } } else { Console.WriteLine($"The Web Service {statusCode}"); return; } } catch (ApplicationException ex) { Console.WriteLine("ApplicationException"); Console.WriteLine(ex); } catch (UnsupportedMediaTypeException ex) { Console.WriteLine("UnsupportedMediaType"); Console.WriteLine(ex); } catch (HttpRequestException ex) { Console.WriteLine("HttpRequestException"); Console.WriteLine(ex); } catch (AggregateException ex) { Console.WriteLine("AggregateException"); Console.WriteLine(ex); } }
/** * 토큰열이 배열 구문 패턴과 일치하는지 확인한다. * * @param tokens * @return */ public static bool match(List <Token> tokens) { if (tokens[0].type == Type.ArrayOpen) { if (TokenTools.indexOfArrayClose(tokens) == tokens.Count - 1) { return(true); } } return(false); }
/** * 토큰열을 분석하여 For 문 구문 요소를 추출한다. * * @param tokens * @param lineNumber * @return */ public static ForSyntax analyze(List <Token> tokens, int lineNumber) { if (tokens.Count < 7) { Debug.reportError("Syntax error", "For syntax is not valid", lineNumber); return(null); } // 괄호로 시작하는지 확인한다 if (tokens[1].type != Type.ShellOpen) { Debug.reportError("Syntax error", "For condition must start with \"(\"", lineNumber); return(null); } // 괄호로 끝나는지 확인한다. if (tokens[tokens.Count - 1].type != Type.ShellClose) { Debug.reportError("Syntax error", "insert \")\" to complete Expression", lineNumber); return(null); } if (tokens[2].type != Type.ID) { Debug.reportError("Syntax error", "Counter variable is not valid", lineNumber); return(null); } if (tokens[3].type != Type.In) { Debug.reportError("Syntax error", "Could not find token 'in'", lineNumber); return(null); } // 증감 범위를 자른다. List <Token> range = tokens.GetRange(4, tokens.Count - 1 - 4); // 범위지정 토큰의 위치를 찾는다. int indexOfRange = TokenTools.indexOf(range, Type.From); if (indexOfRange < 0) { Debug.reportError("Syntax error", "Could not find token '...'", lineNumber); return(null); } // 범위지정 토큰을 기준으로 분할한다. List <Token> start = range.GetRange(0, indexOfRange); List <Token> end = range.GetRange(indexOfRange + 1, range.Count - (indexOfRange + 1)); return(new ForSyntax(tokens[2], start, end)); }
public Message(DtoInMessage dtoInMessage) { this.Text = dtoInMessage.Text; this.File = dtoInMessage.File; this.SendTime = System.DateTime.Now; this.ObjectUser = TokenTools.getUserFromToken(dtoInMessage.Token); ChatRoomsRepository chatRoomsRepository = new ChatRoomsRepository(); this.ObjectChatRoom = chatRoomsRepository.FindBy(x => x.Id == dtoInMessage.ChatRoomId && x.IsDeleted == false).FirstOrDefault(); if (ObjectChatRoom == null) { throw new ObjectIsNotValidException("chatroom"); } }
/** * 토큰열을 분석하여 속성 선택문 구문 요소를 추출한다. * * @param tokens * @param lineNumber * @return */ public static AttributeSyntax analyze(List <Token> tokens, int lineNumber) { List <List <Token> > attributes = TokenTools.split(tokens, Type.Dot, true); foreach (int i in Enumerable.Range(0, attributes.Count)) { if (attributes[i].Count < 1) { Debug.reportError("Syntax error 333", "속성이 비었습니다.", lineNumber); return(null); } } return(new AttributeSyntax(attributes)); }
public static string RefreshAuthToken(string baseUrl, AuthenticationHeaderValue ahv, string authTokenFilePath) { string curAuthToken = TokenTools.GetAuthToken(authTokenFilePath); var fs = new FileStream(authTokenFilePath, FileMode.Open); if (!fs.CanWrite) { throw new ApplicationException("The AuthToken file <" + authTokenFilePath + "> is not writable"); } fs.Close(); var client = new HttpClient(); client.DefaultRequestHeaders.Authorization = ahv; client.BaseAddress = new Uri(baseUrl); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/vnd.github.v3+json")); client.DefaultRequestHeaders.Add("AuthToken", curAuthToken); try { HttpResponseMessage response = client.PostAsync("services/NWMSApiKeyRefreshService", null).Result; string result = response.Content.ReadAsStringAsync().Result; TokenRefreshResponse res = new TokenRefreshResponse(); res = Newtonsoft.Json.JsonConvert.DeserializeObject <TokenRefreshResponse>(result); if (response.IsSuccessStatusCode) { StreamWriter authFile = new StreamWriter(authTokenFilePath); authFile.Write(res.token); authFile.Close(); return(res.token); } else { throw new ApplicationException("An error occured when refreshing AuthToken"); } } catch (UnsupportedMediaTypeException ex) { Console.WriteLine("UnsupportedMediaType"); Console.WriteLine(ex); throw new ApplicationException("An error occured when refreshing AuthToken"); } catch (HttpRequestException ex) { Console.WriteLine("HttpRequestException"); Console.WriteLine(ex); throw new ApplicationException("An error occured when refreshing AuthToken"); } }
/** * 토큰열이 캐스팅 구문 패턴과 일치하는지 확인한다. * * @param tokens * @return */ public static bool match(List <Token> tokens) { int indexOfLPO = TokenTools.indexOfLpo(tokens); if (indexOfLPO < 0) { return(false); } if (tokens[indexOfLPO].type != Type.As) { return(false); } return(true); }
/** * 토큰열을 분석하여 캐스팅 구문 요소를 추출한다. * * @param tokens * @param lineNumber * @return */ public static CastingSyntax analyze(List <Token> tokens, int lineNumber) { int indexOfLpo = TokenTools.indexOfLpo(tokens); // 캐스팅 대상이 없다면 if (tokens.Count <= indexOfLpo + 1) { Debug.reportError("Syntax error", "Cannot find casting target.", lineNumber); return(null); } List <Token> target = tokens.GetRange(0, indexOfLpo); string castingType = tokens[indexOfLpo + 1].value; return(new CastingSyntax(target, castingType)); }
/** * 토큰열이 이항 연산자 구문 패턴과 일치하는지 확인한다. * * @param tokens * @return */ public static bool match(List <Token> tokens) { int indexOfLPO = TokenTools.indexOfLpo(tokens); if (indexOfLPO < 0) { return(false); } if (!tokens[indexOfLPO].isPrefix() && !tokens[indexOfLPO].isSuffix()) { return(true); } return(false); }
/** * 토큰열이 속성 선택문 구문 패턴과 일치하는지 확인한다. * * @param tokens * @return */ public static bool match(List <Token> tokens) { int indexOfLpo = TokenTools.indexOfLpo(tokens); if (indexOfLpo < 0) { return(false); } // 도트가 가장 최하위 연산자이면, 즉 도트를 제외하고 다른 연산자가 없을 때 if (tokens[indexOfLpo].type == Type.Dot) { return(true); } return(false); }
public IDtoOutObjects CreateUser(DtoInUser dtoInUser) { string deviceName = dtoInUser.DeviceName; User user = new User(); var configIn = new MapperConfiguration(cfg => { cfg.CreateMap <DtoInUser, User>(); }); IMapper mapperIn = configIn.CreateMapper(); mapperIn.Map(dtoInUser, user); user.BornDate = new DateTime(dtoInUser.Year, dtoInUser.Month, dtoInUser.Day); try { if (!UserExists(user)) { Credential c = new Credential(user.Email, Guid.NewGuid().ToString(), user); Credential credential = credentialsRepository.Add(c); credentialsRepository.Save(); User u = _usersRepostiory.FindBy(x => x.Id == user.Id && x.IsDeleted == false).FirstOrDefault(); #region createMapperUser var config = new MapperConfiguration(cfg => { cfg.CreateMap <User, DtoOutUser>(); }); IMapper mapper = config.CreateMapper(); #endregion DtoOutUser dtoOutUser = new DtoOutUser(); mapper.Map(u, dtoOutUser); dtoOutUser.TokenString = TokenTools.CreateToken(u, deviceName).TokenString; return(dtoOutUser); } else { DtoOutError error = new DtoOutError(); error.Exception = new DuplicateObjectInDatabaseException("User"); error.Message = "This user is already created"; return(error); } } catch (Exception ex) { DtoOutError error = new DtoOutError(); error.Exception = ex; error.Message = ex.Message; return(error); } }
public IDtoOutObjects GetById(DtoInGetById dtoInGetById) { DtoOutError error = new DtoOutError(); if (TokenTools.Authentication(dtoInGetById.Token, dtoInGetById.DeviceName)) { User user = _usersRepostiory.FindBy(x => x.Id == dtoInGetById.Id && x.IsDeleted == false).FirstOrDefault(); var config = new MapperConfiguration(cfg => { cfg.CreateMap <User, DtoOutUser>(); }); IMapper mapper = config.CreateMapper(); DtoOutUser dtoOutUser = new DtoOutUser(); mapper.Map(user, dtoOutUser); return(dtoOutUser); } else { NotAuthenticatedException ex = new NotAuthenticatedException(); error.Exception = ex; return(error); } }
/** * 토큰열을 분석하여 이항 연산자 구문 요소를 추출한다. * * @param tokens * @param lineNumber * @return */ public static InfixSyntax analyze(List <Token> tokens, int lineNumber) { int indexOfLpo = TokenTools.indexOfLpo(tokens); int depth = 0; foreach (int i in Enumerable.Range(0, tokens.Count)) { if (tokens[i].type == Type.ShellOpen) { depth++; } else if (tokens[i].type == Type.ShellClose) { depth--; } } // 껍데기가 온전히 닫혀 있는지 검사한다. if (depth > 0) { Debug.reportError("Syntax error", "insert \")\" to complete Expression", lineNumber); return(null); } if (depth < 0) { Debug.reportError("Syntax error", "delete \"(\"", lineNumber); return(null); } // 연산자 취득 Token _operator = tokens[indexOfLpo]; // 좌항과 우항 List <Token> left = tokens.GetRange(0, indexOfLpo); List <Token> right = tokens.GetRange(indexOfLpo + 1, tokens.Count - (indexOfLpo + 1)); return(new InfixSyntax(_operator, left, right)); }
public IDtoOutObjects AddFriend(DtoInAddFriend dtoInFriend) { DtoOutError error = new DtoOutError(); if (TokenTools.Authentication(dtoInFriend.Token, dtoInFriend.DeviceName)) { User userApplicant = TokenTools.getUserFromToken(dtoInFriend.Token); User userReciever = _usersRepository.FindBy(x => x.Email == dtoInFriend.EmailReciever && x.IsDeleted == false).FirstOrDefault(); if (userReciever == null) { UserWithThisEmailDoesntExistException ex = new UserWithThisEmailDoesntExistException(); error.Exception = ex; return(error); } if (FriendTools.areAlreadyFriends(userApplicant.Id, userReciever.Id)) { YouAreAlreadyFriendsExceptions ex = new YouAreAlreadyFriendsExceptions(); error.Exception = ex; return(error); } Friend friend = new Friend(); friend.ObjectApplicant = userApplicant; friend.ObjectReciever = userReciever; _friendsRepository.Add(friend); _friendsRepository.Save(); var config = new MapperConfiguration(cfg => { cfg.CreateMap <Friend, DtoOutFriend>(); }); IMapper mapper = config.CreateMapper(); DtoOutFriend dtoOutFriend = new DtoOutFriend(); mapper.Map(friend, dtoOutFriend); return(dtoOutFriend); } else { NotAuthenticatedException ex = new NotAuthenticatedException(); error.Exception = ex; return(error); } }
public IDtoOutObjects Accept(DtoInAddFriend dtoInFriend) { DtoOutError error = new DtoOutError(); if (TokenTools.Authentication(dtoInFriend.Token, dtoInFriend.DeviceName)) { User acceptant = TokenTools.getUserFromToken(dtoInFriend.Token); Friend friend = _friendsRepository.FindBy(x => x.IdReciever == acceptant.Id && x.IsDeleted == false && x.ObjectApplicant.Email == dtoInFriend.EmailReciever).FirstOrDefault(); if (friend == null) { UserDoesNotAskedForFriendshipException ex = new UserDoesNotAskedForFriendshipException(); error.Exception = ex; return(error); } if (friend.Accepted == true) { YouAreAlreadyFriendsExceptions ex = new YouAreAlreadyFriendsExceptions(); error.Exception = ex; return(error); } friend.Accepted = true; _friendsRepository.Edit(friend); _friendsRepository.Save(); ChatRoomTools.Create(new List <User>() { acceptant, _usersRepository.FindBy(x => x.Email == dtoInFriend.EmailReciever).FirstOrDefault() }); var config = new MapperConfiguration(cfg => { cfg.CreateMap <Friend, DtoOutFriend>(); }); IMapper mapper = config.CreateMapper(); DtoOutFriend dtoOutFriend = new DtoOutFriend(); mapper.Map(friend, dtoOutFriend); return(dtoOutFriend); } else { NotAuthenticatedException ex = new NotAuthenticatedException(); error.Exception = ex; return(error); } }
public IDtoOutObjects Login(string loginName, string password, string deviceName) { Credential credential = _credentialRepository.FindBy(x => x.LoginName == loginName && x.IsDeleted == false && x.ObjectUser.IsDeleted == false).FirstOrDefault(); if (credential != null && credential.Password == password) { Token t = TokenTools.CreateToken(credential.ObjectUser, deviceName); var config = new MapperConfiguration(cfg => { cfg.CreateMap <Token, DtoOutToken>(); }); IMapper mapper = config.CreateMapper(); DtoOutToken dtoOutToken = new DtoOutToken(); mapper.Map(t, dtoOutToken); dtoOutToken.IdUser = TokenTools.getUserFromToken(dtoOutToken.TokenString).Id; return(dtoOutToken); } else { DtoOutError error = new DtoOutError(); error.Exception = new CredentialAreNotValidException(); error.Message = "Credentials are not assign to account"; return(error); } }
public IDtoOutObjects ChangePassword(DtoInChangePassword dtoInChangePassword) { DtoOutError error = new DtoOutError(); if (TokenTools.Authentication(dtoInChangePassword.Token, dtoInChangePassword.DeviceName)) { User user = TokenTools.getUserFromToken(dtoInChangePassword.Token); Credential credential = _credentialsRepository.FindBy(x => x.IdUser == user.Id && x.IsDeleted == false && x.ObjectUser.IsDeleted == false).FirstOrDefault(); // toto zanmená že každý user může mít jen jedny credentials credential.Password = dtoInChangePassword.Password; _credentialsRepository.Edit(credential); _credentialsRepository.Save(); DtoOutComplete dtoOutComplete = new DtoOutComplete(); dtoOutComplete.Completed = true; return(dtoOutComplete); } else { NotAuthenticatedException ex = new NotAuthenticatedException(); error.Exception = ex; return(error); } }
public IDtoOutObjects Send(DtoInMessage dtoInMessage) { DtoOutError error = new DtoOutError(); if (TokenTools.Authentication(dtoInMessage.Token, dtoInMessage.DeviceName)) { Message message = null; try { message = new Message(dtoInMessage); } catch (ObjectIsNotValidException ex) { error.Exception = ex; error.Message = "this chatroom does not exists"; return(error); } if (ChatRoomTools.getListIdChatRoomFromUser(TokenTools.getUserFromToken(dtoInMessage.Token).Id).Contains(message.IdChatRoom)) { error.Exception = new MessageIsNotInYourListOfChatRooms(); error.Message = "Message is not in your list of chatRooms"; return(error); } Message result = _messagesRepository.Add(message); _messagesRepository.Save(); var config = new MapperConfiguration(cfg => { cfg.CreateMap <Message, DtoOutMessage>(); }); IMapper mapper = config.CreateMapper(); DtoOutMessage dtoOutMessage = new DtoOutMessage(); mapper.Map(result, dtoOutMessage); return(dtoOutMessage); } else { NotAuthenticatedException ex = new NotAuthenticatedException(); error.Exception = ex; return(error); } }
public IDtoOutObjects Seen(DtoInSeenMessage dtoInSeenMessage) { DtoOutError error = new DtoOutError(); if (TokenTools.Authentication(dtoInSeenMessage.Token, dtoInSeenMessage.DeviceName)) { SeenMessage seenMessage = new SeenMessage(); seenMessage.SeenTime = System.DateTime.Now; Message message = _messagesRepository.FindBy(x => x.Id == dtoInSeenMessage.IdMessage && x.IsDeleted == false).FirstOrDefault(); if (message == null) { error.Exception = new MessageWithThisIdDoesNotExistsException(); error.Message = "Message with this id {" + dtoInSeenMessage.IdMessage + "} does not exists"; return(error); } if (!ChatRoomTools.getListIdChatRoomFromUser(TokenTools.getUserFromToken(dtoInSeenMessage.Token).Id).Contains(message.IdChatRoom)) { error.Exception = new MessageIsNotInYourListOfChatRooms(); error.Message = "Message is not in your list of chatRooms"; return(error); } seenMessage.IdMessage = dtoInSeenMessage.IdMessage; seenMessage.IdUser = TokenTools.getUserFromToken(dtoInSeenMessage.Token).Id; SeenMessage result = _seenMessagesRepository.Add(seenMessage); var config = new MapperConfiguration(cfg => { cfg.CreateMap <SeenMessage, DtoOutSeenMessage>(); }); IMapper mapper = config.CreateMapper(); DtoOutSeenMessage dtoOutSeenMessage = new DtoOutSeenMessage(); mapper.Map(result, dtoOutSeenMessage); return(dtoOutSeenMessage); } else { NotAuthenticatedException ex = new NotAuthenticatedException(); error.Exception = ex; return(error); } }
public IDtoOutObjects DeleteUser(DtoInLogout dtoInLogout) { DtoOutError error = new DtoOutError(); if (TokenTools.Authentication(dtoInLogout.Token, dtoInLogout.DeviceName)) { User user = TokenTools.getUserFromToken(dtoInLogout.Token); user.IsDeleted = true; _usersRepostiory.Edit(user); _usersRepostiory.Save(); var config = new MapperConfiguration(cfg => { cfg.CreateMap <User, DtoOutUser>(); }); IMapper mapper = config.CreateMapper(); DtoOutUser dtoOutUser = new DtoOutUser(); mapper.Map(user, dtoOutUser); return(dtoOutUser); } else { NotAuthenticatedException ex = new NotAuthenticatedException(); error.Exception = ex; return(error); } }
public IDtoOutObjects Logout(DtoInLogout dtoInLogout) { DtoOutError error = new DtoOutError(); if (TokenTools.Authentication(dtoInLogout.Token, dtoInLogout.DeviceName)) { Token token = TokenTools.getTokenObjectFromString(dtoInLogout.Token); token.IsDeleted = true; tokensRepository.Edit(token); tokensRepository.Save(); var config = new MapperConfiguration(cfg => { cfg.CreateMap <Token, DtoOutToken>(); }); IMapper mapper = config.CreateMapper(); DtoOutToken dtoOutToken = new DtoOutToken(); mapper.Map(token, dtoOutToken); return(dtoOutToken); } else { NotAuthenticatedException ex = new NotAuthenticatedException(); error.Exception = ex; return(error); } }
/** * 토큰열이 함수 호출 구문 패턴과 일치하는지 확인한다. * * @param tokens * @return */ public static bool match(List <Token> tokens) { int indexOfLpo = TokenTools.indexOfLpo(tokens); // 어떠한 유효 연산자라도 있을 경우 함수 호출이 아님 if (indexOfLpo >= 0) { return(false); } // 최소 길이 조건 확인 if (tokens.Count < 3) { return(false); } // 첫 토큰이 ID이고 두 번째 토큰이 ShellOpen이면 조건 만족 if (tokens[0].type != Type.ID || tokens[1].type != Type.ShellOpen) { return(false); } return(true); }
/** * 토큰열을 분석하여 함수 호출 구문 요소를 추출한다. * * @param tokens * @param lineNumber * @return */ public static FunctionCallSyntax analyze(List <Token> tokens, int lineNumber) { // 함수가 완전히 닫혔는지 확인 if (TokenTools.indexOfShellClose(tokens, 2) != tokens.Count - 1) { Debug.reportError("Syntax error", "함수가 종결되지 않았습니다.", lineNumber); return(null); } // 함수 매개 변수를 가져온다. List <List <Token> > arguments = TokenTools.split(tokens.GetRange(2, tokens.Count - 1 - 2), Type.Comma, true); List <List <Token> > trimmedArguments = new List <List <Token> >(); foreach (int i in Enumerable.Range(0, arguments.Count)) { if (arguments[i].Count > 0) { trimmedArguments.Add(arguments[i]); } } return(new FunctionCallSyntax(tokens[0], trimmedArguments)); }
public static void Public_NWM_SReceiptPermanent(string baseUrl, AuthenticationHeaderValue ahv, string authTokenFilePath, InputParams inputParams) { try { string authToken = TokenTools.GetAuthToken(authTokenFilePath); HttpClient client = new HttpClient(); client.DefaultRequestHeaders.Authorization = ahv; client.BaseAddress = new Uri(baseUrl); client.DefaultRequestHeaders.Accept.Add( new MediaTypeWithQualityHeaderValue("application/vnd.github.v3+json")); client.DefaultRequestHeaders.Add("AuthToken", authToken); HttpResponseMessage response = client.PostAsJsonAsync("services/PublicNWMSReceiptPermanent", inputParams).Result; string result = response.Content.ReadAsStringAsync().Result; var statusCode = response.StatusCode; if (statusCode == HttpStatusCode.OK) { OutputParams output = JsonConvert.DeserializeObject <OutputParams>(result); string error_code = output.error_code; string error_message = output.error_message; output = response.Content.ReadAsAsync <OutputParams>().Result; if (response.IsSuccessStatusCode) { // print results Console.WriteLine($"city: {output.city}"); Console.WriteLine($"province: {output.province}"); Console.WriteLine($"township: {output.township}"); Console.WriteLine($"contractor_name: {output.contractor_name}"); Console.WriteLine($"contractor_national_id: {output.contractor_national_id}"); Console.WriteLine($"create_date: {output.create_date}"); Console.WriteLine($"creator: {output.creator}"); Console.WriteLine($"warehouse_id: {output.warehouse_id}"); Console.WriteLine($"id: {output.id}"); Console.WriteLine($"owner_name: {output.owner_name}"); Console.WriteLine($"postal_code: {output.postal_code}"); Console.WriteLine($"receipt items:"); output.receipt_items.ForEach(delegate(ReceiptItemResponse rcp_item_resp) { Console.WriteLine($"\tid: {rcp_item_resp.id}"); Console.WriteLine($"\tgood_id: {rcp_item_resp.good_id}"); Console.WriteLine($"\tgood_desc: {rcp_item_resp.good_desc}"); Console.WriteLine(""); }); } else { // error Console.WriteLine($"status code:{statusCode}"); Console.WriteLine($"error_code: {output.error_code}"); Console.WriteLine($"error_message: {output.error_message}"); Console.WriteLine($"failed_condition: {output.failed_condition}"); Console.WriteLine($"failed_item: {output.failed_item}"); Console.WriteLine($"error_detail: {output.error_detail}"); } } else { Console.WriteLine($"The Web Service {statusCode}"); return; } } catch (ApplicationException ex) { Console.WriteLine("ApplicationException"); Console.WriteLine(ex); } catch (UnsupportedMediaTypeException ex) { Console.WriteLine("UnsupportedMediaType"); Console.WriteLine(ex); } catch (HttpRequestException ex) { Console.WriteLine("HttpRequestException"); Console.WriteLine(ex); } catch (AggregateException ex) { Console.WriteLine("AggregateException"); Console.WriteLine(ex); } }