Last active
August 29, 2015 14:10
-
-
Save bespalown/a5ade86e1ce210351b6a to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@interface VBScheduleData : VBMasterModels | |
@property (nonatomic, strong) NSNumber *utcTimeOffset; | |
@property (nonatomic, strong) NSNumber *executedTimes; | |
@property (nonatomic, strong) NSString *nextExecution; | |
@property (nonatomic, strong) VBOnceData *Once; //однократный платеж | |
@property (nonatomic, strong) VBDailyData *Daily; //по дням | |
@property (nonatomic, strong) VBWeeklyData *Weekly; //по неделям и дням недели | |
@property (nonatomic, strong) VBMonthlyDayOfMonthData *MonthlyDayOfMonth; //в опеределенное число месяца | |
-(NSString *)getPaymentInfoString; | |
---------------------------------------------------------------------------------------------------------------- | |
-(NSString *)getPaymentInfoString;{ | |
NSString *schedule = @""; | |
if (_Once) { | |
//Платеж будет исполнен однократно, 30.09.2014 в 00:00 | |
schedule = [NSString stringWithFormat:NSLocalizedString(@"Платеж будет исполнен однократно, %@ в %@", nil), | |
[_Once.startDate getCreateDateInFormat:@"dd.MM.yyy" timeAgo:NO], | |
[_Once.startDate getCreateDateInFormat:@"HH:mm" timeAgo:NO]]; | |
} | |
else if (_Daily) { | |
if (_Daily.endDate && _Daily.endDate.length != 0) { | |
//Платеж будет производиться ежедневно в 06:11, начиная с 30.09.2014, заканчивая 10.10.2014 в 08:46 | |
schedule = [NSString stringWithFormat:NSLocalizedString(@"Платеж будет производиться %@ в %@, начиная с %@, заканчивая %@ в %@", nil), | |
NSLocalizedString(@"ежедневно", nil), | |
[_Daily.startDate getCreateDateInFormat:@"HH:mm" timeAgo:NO], | |
[_Daily.startDate getCreateDateInFormat:@"dd.MM.yyy" timeAgo:NO], | |
[_Daily.endDate getCreateDateInFormat:@"dd.MM.yyy" timeAgo:NO], | |
[_Daily.endDate getCreateDateInFormat:@"HH:mm" timeAgo:NO] | |
]; | |
} | |
else { | |
//Платеж будет производиться ежедневно в 06:11, начиная с 30.09.2014 | |
schedule = [NSString stringWithFormat:NSLocalizedString(@"Платеж будет производиться %@ в %@, начиная с %@", nil), | |
NSLocalizedString(@"ежедневно", nil), | |
[_Daily.startDate getCreateDateInFormat:@"HH:mm" timeAgo:NO], | |
[_Daily.startDate getCreateDateInFormat:@"dd.MM.yyy" timeAgo:NO] | |
]; | |
} | |
} | |
else if (_Weekly) { | |
NSString *everyWeekly = NSLocalizedString(@"еженедельно", nil); | |
everyWeekly = [everyWeekly stringByAppendingString:@","]; | |
everyWeekly = [everyWeekly stringByAppendingString:[_Weekly.DaysOfWeek getFormattedSheduleString]]; | |
//Платеж будет производиться еженедельно, по понедельникам, средам, воскресеньям, в 00:00, начиная с 28.09.2014, заканчивая 04.10.2014 в 13:51 | |
if (_Weekly.endDate && _Weekly.endDate.length != 0) { | |
schedule = [NSString stringWithFormat:NSLocalizedString(@"Платеж будет производиться %@ в %@, начиная с %@, заканчивая %@ в %@", nil), | |
everyWeekly, | |
[_Weekly.startDate getCreateDateInFormat:@"HH:mm" timeAgo:NO], | |
[_Weekly.startDate getCreateDateInFormat:@"dd.MM.yyy" timeAgo:NO], | |
[_Weekly.endDate getCreateDateInFormat:@"dd.MM.yyy" timeAgo:NO], | |
[_Weekly.endDate getCreateDateInFormat:@"HH:mm" timeAgo:NO] | |
]; | |
} | |
else { | |
//Платеж будет производиться еженедельно, по понедельникам, средам, воскресеньям, в 00:00, начиная с 28.09.2014 | |
schedule = [NSString stringWithFormat:NSLocalizedString(@"Платеж будет производиться %@ в %@, начиная с %@", nil), | |
everyWeekly, | |
[_Weekly.startDate getCreateDateInFormat:@"HH:mm" timeAgo:NO], | |
[_Weekly.startDate getCreateDateInFormat:@"dd.MM.yyy" timeAgo:NO] | |
]; | |
} | |
} | |
else if (_MonthlyDayOfMonth) { | |
//Платеж будет производиться ежемесячно, в первый день месяца, в 12:34, начиная с 01.10.2014, заканчивая 09.11.2014 в 15:26 | |
//Платеж будет производиться ежемесячно, в последний день месяца, в 00:00, начиная с 30.09.2014, заканчивая 09.11.2014 в 15:26 | |
//Платеж будет производиться ежемесячно, в 10-й день месяца, в 00:00, начиная с 10.10.2014, заканчивая 09.11.2014 в 15:26 | |
NSString *everyMonth = NSLocalizedString(@"ежемесячно", nil); | |
everyMonth = [everyMonth stringByAppendingString:@", "]; | |
everyMonth = [everyMonth stringByAppendingString:[_MonthlyDayOfMonth getFormattedSheduleString]]; | |
if (_MonthlyDayOfMonth.endDate && _MonthlyDayOfMonth.endDate.length != 0) { | |
schedule = [NSString stringWithFormat:NSLocalizedString(@"Платеж будет производиться %@ в %@, начиная с %@, заканчивая %@ в %@", nil), | |
everyMonth, | |
[_MonthlyDayOfMonth.startDate getCreateDateInFormat:@"HH:mm" timeAgo:NO], | |
[_MonthlyDayOfMonth.startDate getCreateDateInFormat:@"dd.MM.yyy" timeAgo:NO], | |
[_MonthlyDayOfMonth.endDate getCreateDateInFormat:@"dd.MM.yyy" timeAgo:NO], | |
[_MonthlyDayOfMonth.endDate getCreateDateInFormat:@"HH:mm" timeAgo:NO] | |
]; | |
} | |
else { | |
schedule = [NSString stringWithFormat:NSLocalizedString(@"Платеж будет производиться %@ в %@, начиная с %@", nil), | |
everyMonth, | |
[_MonthlyDayOfMonth.startDate getCreateDateInFormat:@"HH:mm" timeAgo:NO], | |
[_MonthlyDayOfMonth.startDate getCreateDateInFormat:@"dd.MM.yyy" timeAgo:NO] | |
]; | |
} | |
} | |
return schedule; | |
} | |
/// | |
Once | |
{ | |
"startDate" : "12", | |
} | |
/// | |
Daily | |
{ | |
EndDate = "2014-10-10T08:46:00"; | |
Interval = 1; | |
MaxExecutions = 0; | |
StartDate = "2014-09-30T06:11:00"; | |
} | |
/// | |
Weekly | |
{ | |
DaysOfWeek = { | |
Friday = 0; | |
Monday = 0; | |
Saturday = 1; | |
Sunday = 0; | |
Thursday = 0; | |
Tuesday = 0; | |
Wednesday = 1; | |
}; | |
EndDate = "2014-10-05T09:33:00"; | |
Interval = 1; | |
MaxExecutions = 0; | |
StartDate = "2014-09-30T14:00:00"; | |
} | |
/// | |
MonthlyDayOfMonth | |
{ | |
"dayOfMonth" : "12", | |
"maxExecutions" : "0", | |
"interval" : "1", | |
"startDate" : "2014-10-05T09:33:00", | |
"endDate" : "2014-10-05T09:33:00", | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment