internal AlarmRecordViewModelEnum SaveToDb()
        {
            AlarmRecord existingRecord = SQLiteDBAccessor.Instance.Find(_alarmRecord.ScheduledDateTime);

            if (_alarmRecord.NativeAlarmId == null)
            {
                if (existingRecord != null)
                {
                    return(AlarmRecordViewModelEnum.FailureNew);
                }
                //IAlarm iAlarm = DependencyService.Get<IAlarm>();
                _alarmRecord.NativeAlarmId = AlarmRecord.SaveAlarm(_alarmRecord);
                SQLiteDBAccessor.Instance.Insert(_alarmRecord);
                return(AlarmRecordViewModelEnum.SuccessNew);
            }
            else
            {
                if (existingRecord != null)
                {
                    if (existingRecord.DateCreated != _alarmRecord.DateCreated)
                    {
                        // TODO: Critical!! Need to delete existingRecord's AlarmRecordViewModel from
                        SQLiteDBAccessor.Instance.Update(_alarmRecord);
                        return(AlarmRecordViewModelEnum.SuccessCancelAndUpdateExisting);
                    }
                    else
                    {
                        SQLiteDBAccessor.Instance.Update(_alarmRecord);
                        return(AlarmRecordViewModelEnum.SuccessUpdateExceptTime);
                    }
                    // TODO: Update native alarm if week flag changed
                }
                else
                {
                    // TODO: Update native alarm since time has changed
                    SQLiteDBAccessor.Instance.Update(_alarmRecord);
                    return(AlarmRecordViewModelEnum.SuccessUpdateNonexisting);
                }
            }
        }