HomeModeUpdateViewController.m 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. //
  2. // HomeModeUpdateViewController.m
  3. //
  4. //
  5. // Created by Jason Lee on 10/30/15.
  6. //
  7. //
  8. #import "JDObject.h"
  9. #import "CustomButton.h"
  10. #import "CustomLabel.h"
  11. #import "CustomImageView.h"
  12. #import "RequestHandler.h"
  13. #import "JDJSONModel.h"
  14. #import "HomeModeUpdateViewController.h"
  15. #import "ModeModel.h"
  16. @interface HomeModeUpdateViewController () {
  17. }
  18. @end
  19. #pragma mark - Class Definition
  20. @implementation HomeModeUpdateViewController
  21. - (void)viewDidLoad {
  22. [super viewDidLoad];
  23. // Do any additional setup after loading the view.
  24. [self initUI];
  25. [self prepareViewDidLoad];
  26. }
  27. - (void)initUI {
  28. NSString *message = nil, *highlightMessage = nil;
  29. NSString *btnTitle = nil;
  30. if ([_mode.modeId isEqualToString:HOME_MODE_HOME]) {
  31. btnTitle = @"귀가";
  32. highlightMessage = @"잘 돌아왔어요!";
  33. message = @"쾌적한 귀가모드를 \r실행할까요?";
  34. } else if ([_mode.modeId isEqualToString:HOME_MODE_AWAY]) {
  35. btnTitle = @"외출";
  36. highlightMessage = @"안녕히 다녀오세요!";
  37. message = @"안전한 외출모드를 \r실행할까요?";
  38. } else if ([_mode.modeId isEqualToString:HOME_MODE_MORNING]) {
  39. btnTitle = @"기상";
  40. highlightMessage = @"좋은 아침!";
  41. message = @"상쾌한 기상모드를\r실행할까요?";
  42. } else if ([_mode.modeId isEqualToString:HOME_MODE_NIGHT]) {
  43. btnTitle = @"취침";
  44. highlightMessage = @"잘 자요!";
  45. message = @"편안한 취침모드를 \r실행할까요?";
  46. }
  47. [_btnExecute setTitle:btnTitle forState:UIControlStateNormal];
  48. _lblMessage.text = [NSString stringWithFormat:@"%@/r/r%@", highlightMessage, message];
  49. [_lblMessage setColor:kUITextColor02 text:highlightMessage];
  50. _btnSetting.hidden = [JDFacade facade].loginUser.level < 90;
  51. //TODO : set icon;
  52. }
  53. - (void)prepareViewDidLoad {
  54. }
  55. #pragma mark - Main Logic
  56. - (void)requestChangeHomeMode {
  57. NSString *modeTitle = [NSString stringWithFormat:@"%@ 모드", _mode.modeName];
  58. _lblMessage.text = [NSString stringWithFormat:@"%@\r\r실행 중입니다.", modeTitle];
  59. [_lblMessage setColor:kUITextColor02 text:modeTitle];
  60. NSString *path = [NSString stringWithFormat:API_POST_DASHBOARD_MODE_CHANGE, _mode.modeId];
  61. [[RequestHandler handler] sendAsyncPostRequestAPIPath:path parameters:nil modelClass:[JDJSONModel class] completion:^(id responseObject) {
  62. if ([[JDFacade facade].currentViewController isEqual:self]) {
  63. [self setContentsForComplete];
  64. }
  65. [[JDFacade facade] toast:[NSString stringWithFormat:@"%@ 상태가 되었습니다", _mode.modeName]];
  66. } failure:^(id errorObject) {
  67. JDErrorModel *error = (JDErrorModel *)errorObject;
  68. [[JDFacade facade] alert:error.errorMessage];
  69. }];
  70. }
  71. - (void)setContentsForComplete {
  72. NSString *highlightMessage = nil;
  73. highlightMessage = [NSString stringWithFormat:@"%@ 상태가 되었습니다.", _mode.modeName];
  74. //TODO : chagne button image
  75. }
  76. #pragma mark - UI Events
  77. - (IBAction)btnExecuteTouched:(id)sender {
  78. [self requestChangeHomeMode];
  79. }
  80. - (IBAction)btnSettingTouched:(id)sender {
  81. }
  82. - (IBAction)btnCloseTouched:(id)sender {
  83. [self dismissViewControllerAnimated:YES completion:nil];
  84. }
  85. #pragma mark - MemoryWarning
  86. - (void)didReceiveMemoryWarning
  87. {
  88. [super didReceiveMemoryWarning];
  89. // Dispose of any resources that can be recreated.
  90. }
  91. @end