public static RulePartList InitializeRulePart()
        {
            var user = new User { UserId = 2 };
            var result = new RulePartList
            {
                new RulePart{RulePartId=1, FieldName=Const.RuleField.RangeStartDate.ToString(), FieldType=InitializeFieldType().FirstOrDefault(x=>x.FieldTypeId == 4)},
                    new RulePart { RulePartId=2, FieldName = Const.RuleField.RangeNoEndDate.ToString(), FieldType = InitializeFieldType().FirstOrDefault(x => x.Type == Const.FieldType.Label.ToString()) },
                    new RulePart { RulePartId=3, FieldName = Const.RuleField.RangeTotalOcurrences.ToString(), FieldType = InitializeFieldType().FirstOrDefault(x => x.Type == Const.FieldType.Int.ToString()) },
                    new RulePart { RulePartId=4, FieldName = Const.RuleField.RangeEndBy.ToString(), FieldType = InitializeFieldType().FirstOrDefault(x => x.Type == Const.FieldType.DateInt.ToString()) },
                    new RulePart { RulePartId=5, FieldName = Const.RuleField.DailyEveryDay.ToString(), FieldType = InitializeFieldType().FirstOrDefault(x => x.Type == Const.FieldType.Int.ToString()) },
                    new RulePart { RulePartId=6, FieldName = Const.RuleField.DailyOnlyWeekdays.ToString(), FieldType = InitializeFieldType().FirstOrDefault(x => x.Type == Const.FieldType.Bit.ToString()) },
                    new RulePart { RulePartId=7, FieldName = Const.RuleField.WeeklyEveryWeek.ToString(), FieldType = InitializeFieldType().FirstOrDefault(x => x.Type == Const.FieldType.Int.ToString()) },
                    new RulePart { RulePartId=8, FieldName = Const.RuleField.WeeklyDayName.ToString(), FieldType = InitializeFieldType().FirstOrDefault(x => x.Type == Const.FieldType.String.ToString()) },
                    new RulePart { RulePartId=9, FieldName = Const.RuleField.MonthlyDayNumber.ToString(), FieldType = InitializeFieldType().FirstOrDefault(x => x.Type == Const.FieldType.DayNum.ToString()) },
                    new RulePart { RulePartId=10, FieldName = Const.RuleField.MonthlyEveryMonth.ToString(), FieldType = InitializeFieldType().FirstOrDefault(x => x.Type == Const.FieldType.Int.ToString()) },
                    new RulePart { RulePartId=11, FieldName = Const.RuleField.MonthlyCountOfWeekDay.ToString(), FieldType = InitializeFieldType().FirstOrDefault(x => x.Type == Const.FieldType.Position.ToString()) },
                    new RulePart { RulePartId=12, FieldName = Const.RuleField.MonthlyDayName.ToString(), FieldType = InitializeFieldType().FirstOrDefault(x => x.Type == Const.FieldType.DayNum.ToString()) },
                    new RulePart { RulePartId=13, FieldName = Const.RuleField.MonthlyCountOfMonth.ToString(), FieldType = InitializeFieldType().FirstOrDefault(x => x.Type == Const.FieldType.Int.ToString()) },
                    new RulePart { RulePartId=14, FieldName = Const.RuleField.YearlyEveryYear.ToString(), FieldType = InitializeFieldType().FirstOrDefault(x => x.Type == Const.FieldType.Int.ToString()) },
                    new RulePart { RulePartId=15, FieldName = Const.RuleField.YearlyOnDayPos.ToString(), FieldType = InitializeFieldType().FirstOrDefault(x => x.Type == Const.FieldType.Position.ToString()) },
                    new RulePart { RulePartId=16, FieldName = Const.RuleField.YearlyMonthName.ToString(), FieldType = InitializeFieldType().FirstOrDefault(x => x.Type == Const.FieldType.String.ToString()) },
                    new RulePart { RulePartId=17, FieldName = Const.RuleField.YearlyPositions.ToString(), FieldType = InitializeFieldType().FirstOrDefault(x => x.Type == Const.FieldType.Position.ToString()) },
                    new RulePart { RulePartId=18, FieldName = Const.RuleField.YearlyDayName.ToString(), FieldType = InitializeFieldType().FirstOrDefault(x => x.Type == Const.FieldType.String.ToString()) },
                    new RulePart { RulePartId=19, FieldName = Const.RuleField.YearlyMonthNameSec.ToString(), FieldType = InitializeFieldType().FirstOrDefault(x => x.Type == Const.FieldType.String.ToString()) }
            };

            return result;
        }
        public static CategoryList InitializeCategories()
        {
            var user = new User { UserId = 2 }; 
            var result = new CategoryList { 
            new Category(user){Name="Other",CategoryId=1 }};

            return result;
        }
        public static TypeTransactionReasonList InitializeTypeTransactionReasons()
        {
            var user = new User { UserId = 2 };
            var result = new TypeTransactionReasonList { 
            new TypeTransactionReason(user){Name="Other", TypeTransactionReasonId=1 }};

            return result;
        }
        public static TypeTransactionList InitializeTypeTransactions()
        {
            var user = new User{UserId = 2};
            var result = new TypeTransactionList { 
            new TypeTransaction(user){Name="Income",TypeTransactionId=1, },
            new TypeTransaction(user){Name="Expense",TypeTransactionId=2 }};

            return result;
        }
Ejemplo n.º 5
0
 public void Update(User user)
 {
     UserId = user.UserId;
     UserName = user.UserName;
     Password = user.Password;
     Email = user.Email;
     FirstName= user.FirstName;
     LastName = user.LastName;
     Birthdate = user.Birthdate;
 }
        public static TypeFrequencyList InitializeTypeFrequencies()
        {
            var user = new User { UserId = 2 };
            var result = new TypeFrequencyList { 
            new TypeFrequency(user){TypeFrequencyId=1 , Name="Hourly", Count=1},
            new TypeFrequency(user){TypeFrequencyId=2 , Name="Daily", Count=24},
            new TypeFrequency(user){TypeFrequencyId=3 , Name="Weekly", Count=168},
            new TypeFrequency(user){TypeFrequencyId=4 , Name="Monthly", Count=672},
            new TypeFrequency(user){TypeFrequencyId=5 , Name="Yearly", Count=8736}};

            return result;
        }
        public static FieldTypeList InitializeFieldType()
        {
            var user = new User { UserId = 2 };
            var result = new FieldTypeList { 
            new FieldType(){FieldTypeId=1 , Name="label", Type=Const.FieldType.Label.ToString(), DefaultValue=""},
            new FieldType(){FieldTypeId=2 , Name="int", Type=Const.FieldType.Int.ToString(), DefaultValue="1"},
            new FieldType(){FieldTypeId=3 , Name="dayNumber", Type=Const.FieldType.DayNum.ToString(), DefaultValue=""},
            new FieldType(){FieldTypeId=4 , Name="date", Type=Const.FieldType.DateInt.ToString(), DefaultValue="20000101"},
            new FieldType(){FieldTypeId=5 , Name="truefalse", Type=Const.FieldType.Bit.ToString(), DefaultValue="true"},
            new FieldType(){FieldTypeId=6 , Name="text", Type=Const.FieldType.String.ToString(), DefaultValue=""},
            new FieldType(){FieldTypeId=7 , Name="position", Type=Const.FieldType.Position.ToString(), DefaultValue="1"}};

            return result;
        }
        /// <summary>
        /// Online only
        /// </summary>
        /// <param name="user"></param>
        /// <param name="callback"></param>
        public void RegisterUser(User user, Action<User, Exception> callback)
        {
            try
            {
                App.Instance.StaticServiceData.SetServerStatus(async status =>
                {
                    //continue with local if status is ok but is pending Sync
                    if (status != Model.StaticServiceData.ServerStatus.Ok || !App.Instance.IsSync)
                    {
                        try
                        {
                            Exception networkError = new Exception(AppResources.NetworkError);
                            callback(null, networkError);
                            return;

                            await UpdateCacheUserData(user);

                            App.Instance.IsSync = false;

                            var isCatDone = false;
                            var isTransReasonDone = false;
                            var isTypeTransDone = false;
                            var isTypeFreqDone = false;
                            var isRecRuleDone = false;


                            SaveCachedCategory(InitialData.InitializeCategories(), error =>
                            {
                                isCatDone = true;
                                if (CheckIfDone(isCatDone, isTransReasonDone, isTypeTransDone, isTypeFreqDone, isRecRuleDone))
                                    callback(user, null);
                            });
                            SaveCachedTransactionReason(InitialData.InitializeTypeTransactionReasons(), error =>
                            {
                                isTransReasonDone = true;
                                if (CheckIfDone(isCatDone, isTransReasonDone, isTypeTransDone, isTypeFreqDone, isRecRuleDone))
                                    callback(user, null);
                            });
                            SaveCachedTypeTransaction(InitialData.InitializeTypeTransactions(), error =>
                            {
                                isTypeTransDone = true;
                                if (CheckIfDone(isCatDone, isTransReasonDone, isTypeTransDone, isTypeFreqDone, isRecRuleDone))
                                    callback(user, null);
                            });
                            SaveCachedTypeFrequency(InitialData.InitializeTypeFrequencies(), error =>
                            {
                                isTypeFreqDone = true;
                                if (CheckIfDone(isCatDone, isTransReasonDone, isTypeTransDone, isTypeFreqDone, isRecRuleDone))
                                    callback(user, null);
                            });
                            SaveCachedRecurrenceRule(InitialData.InitializeRecurrenceRule(), error =>
                            {
                                isRecRuleDone = true;
                                if (CheckIfDone(isCatDone, isTransReasonDone, isTypeTransDone, isTypeFreqDone, isRecRuleDone))
                                    callback(user, null);
                            });

                            
                        }
                        catch (Exception ex)
                        {
                            callback(null, ex);
                        }
                    }
                    else
                    {
                        var client = new StaticClient();
                        client.RegisterUserAsync(user, callback);
                        client.RegisterUserCompleted += (sender, eventArgs) =>
                        {
                            try
                            {
                                var userCallback = eventArgs.UserState as Action<User, Exception>;
                                if (userCallback == null)
                                    return;

                                if (eventArgs.Error != null)
                                {
                                    userCallback(null, eventArgs.Error);
                                    return;
                                }

                                user.HasChanges = false;
                                user.UserId = eventArgs.Result.UserId;

                                userCallback(eventArgs.Result, null);
                            }
                            catch (Exception) { throw; }
                        };
                    }
                });
            }
            catch (Exception)
            {
                throw;
            }
        }
 public TypeIntervalConfiguration(User user)
     : base(user)
 {
 }
        public async Task LoadUser(User user)
        {
            User existing = new User();
            var info = NetworkInformation.GetInternetConnectionProfile();
            if (info == null || info.GetNetworkConnectivityLevel() != NetworkConnectivityLevel.InternetAccess)
            {
                var query = await LoadCachedUser(STATIC_USER_FOLDER);
                existing = query.Where(i => i.UserName == user.UserName).Single();
            }
            else 
            {
                existing = await LoadLiveUser(user);
                await UpdateCacheUserData(existing);
            }

            if (existing.UserId > 0)
            {
                App.Instance.User.UserId = existing.UserId;
                App.Instance.User.Email = existing.Email;
            }
            else
                throw new Exception("User has no authentication");
        }
Ejemplo n.º 11
0
 public User(User user)
     : base(user)
 { }
        public static RecurrenceRuleList InitializeRecurrenceRule()
        {
            var user = new User { UserId = 2 };
            var result = new RecurrenceRuleList
            {
                new RecurrenceRule
                    {
                        Name = Const.Rule.RuleRangeNoEndDate.ToString(),
                        RuleParts = new List<RulePart>{
                            InitializeRulePart().FirstOrDefault(x=>x.FieldName==Const.RuleField.RangeStartDate.ToString())}
                    },
                    new RecurrenceRule
                    {
                        Name = Const.Rule.RuleRangeTotalOcurrences.ToString(),
                        RuleParts = new List<RulePart>{
                            InitializeRulePart().FirstOrDefault(x=>x.FieldName==Const.RuleField.RangeTotalOcurrences.ToString()),
                            InitializeRulePart().FirstOrDefault(x=>x.FieldName==Const.RuleField.RangeStartDate.ToString())}
                    },
                    new RecurrenceRule
                    {
                        Name = Const.Rule.RuleRangeEndBy.ToString(),
                        RuleParts = new List<RulePart> { 
                            InitializeRulePart().FirstOrDefault(x => x.FieldName==Const.RuleField.RangeEndBy.ToString()) ,
                            InitializeRulePart().FirstOrDefault(x=>x.FieldName==Const.RuleField.RangeStartDate.ToString())}
                    },
                    new RecurrenceRule
                    {
                        Name = Const.Rule.RuleDailyEveryDays.ToString(),
                        RuleParts = new List<RulePart>{ 
                            InitializeRulePart().FirstOrDefault(x => x.FieldName==Const.RuleField.DailyEveryDay.ToString()),
                            InitializeRulePart().FirstOrDefault(x => x.FieldName==Const.RuleField.DailyOnlyWeekdays.ToString()) }
                    },
                    new RecurrenceRule
                    {
                        Name = Const.Rule.RuleWeeklyEveryWeek.ToString(),
                        RuleParts = new List<RulePart>{ 
                                        InitializeRulePart().FirstOrDefault(x => x.FieldName==Const.RuleField.WeeklyEveryWeek.ToString()),
                                        InitializeRulePart().FirstOrDefault(x => x.FieldName==Const.RuleField.WeeklyDayName.ToString())}
                    },
                    new RecurrenceRule
                    {
                        Name = Const.Rule.RuleMonthlyDayNum.ToString(),
                        RuleParts = new List<RulePart>{ 
                                        InitializeRulePart().FirstOrDefault(x => x.FieldName==Const.RuleField.MonthlyDayNumber.ToString()),
                                        InitializeRulePart().FirstOrDefault(x => x.FieldName==Const.RuleField.MonthlyEveryMonth.ToString())}
                    },
                    new RecurrenceRule
                    {
                        Name = Const.Rule.RuleMonthlyPrecise.ToString(),
                        RuleParts = new List<RulePart>{ 
                                        InitializeRulePart().FirstOrDefault(x => x.FieldName==Const.RuleField.MonthlyCountOfWeekDay.ToString()),
                                        InitializeRulePart().FirstOrDefault(x => x.FieldName==Const.RuleField.MonthlyDayName.ToString()),
                                        InitializeRulePart().FirstOrDefault(x => x.FieldName==Const.RuleField.MonthlyCountOfMonth.ToString())}
                    },
                    new RecurrenceRule
                    {
                        Name = Const.Rule.RuleYearlyOnMonth.ToString(),
                        RuleParts = new List<RulePart>{ 
                                        InitializeRulePart().FirstOrDefault(x => x.FieldName==Const.RuleField.YearlyEveryYear.ToString()),
                                        InitializeRulePart().FirstOrDefault(x => x.FieldName==Const.RuleField.YearlyOnDayPos.ToString()),
                                        InitializeRulePart().FirstOrDefault(x => x.FieldName==Const.RuleField.YearlyMonthName.ToString())}
                    },
                    new RecurrenceRule
                    {
                        Name = Const.Rule.RuleYearlyOnTheWeekDay.ToString(),
                        RuleParts = new List<RulePart>{ 
                                      InitializeRulePart().FirstOrDefault(x => x.FieldName==Const.RuleField.YearlyEveryYear.ToString()),
                                      InitializeRulePart().FirstOrDefault(x => x.FieldName==Const.RuleField.YearlyPositions.ToString()),
                                      InitializeRulePart().FirstOrDefault(x => x.FieldName==Const.RuleField.YearlyDayName.ToString()),
                                      InitializeRulePart().FirstOrDefault(x => x.FieldName==Const.RuleField.YearlyMonthNameSec.ToString())}
                    }
            };

            return result;
        }
 private async Task UpdateCacheUserData(User user)
 {
     await StorageUtility.Clear(STATIC_USER_FOLDER);
     await StorageUtility.SaveItem(STATIC_USER_FOLDER, user, user.UserId);
 }
        private async Task UpdateCacheUserData(User user)
        {
      //     await StorageUtility.Clear(STATIC_USER_FOLDER);
            await StorageUtility.SaveItem(STATIC_USER_FOLDER, user, user.UserId, App.Instance.User.UserName);

            //var test = await StorageUtility.ListItems(STATIC_USER_FOLDER);
        }
 public Configuration(User user)
     : base(user)
 {
     //** DONT INSTANTIATE CREATED AND MODIFIED USER WITH EMPTY VALUES **// 
 }
        private void UserFound(User existing)
        {
            if (existing.UserName != null && existing.UserName.Length > 0)
            {
                App.Instance.User.Update(existing);

                App.Instance.IsUserAuthenticated = true;
            }
            else
            {
                App.Instance.IsUserAuthenticated = false;

                throw new Exception("User has no authentication");
            }
        }
        public async Task RegisterUser(User user)
        {
            try
            {
                var client = new BMAStaticDataService.StaticClient();
                var result = await client.RegisterUserAsync(user);

                user.HasChanges = false;
                user.UserId = result.UserId;
            }
            catch (Exception)
            {
                throw;
            }
        }
        public async Task ChangePassword(User user)
        {
            try
            {
                var client = new BMAStaticDataService.StaticClient();
                var result = await client.ChangePasswordAsync(user);

                user.HasChanges = false;
                user.Password = result.Password;
            }
            catch (Exception)
            {
                throw;
            }
        }
 public TypeExpense(User user)
     : base(user)
 {
     //** DONT INSTANTIATE CREATED AND MODIFIED USER WITH EMPTY VALUES **// 
 }
 public BaseItem(User user)
     : this()
 {
     CreatedUser = user;
     ModifiedUser = user;
 }
        public void ForgotPassword(User user, Action<User, Exception> callback)
        {
            try
            {
                var client = new StaticClient();
                client.ForgotPasswordAsync(user, callback);
                client.ForgotPasswordCompleted += (sender, eventArgs) =>
                {
                    try
                    {
                        //var userCallback = eventArgs.UserState as Action<User, Exception>;
                        if (eventArgs.Error != null)
                        {
                            callback(null, eventArgs.Error);
                            return;
                        }

                        callback(eventArgs.Result, null);
                    }
                    catch (Exception) { throw; }
                };
            }
            catch (Exception)
            {
                throw;
            }
        }
        public void ChangePassword(User user, Action<Exception> callback)
        {
            try
            {
                App.Instance.StaticServiceData.SetServerStatus(async status =>
                {
                    //continue with local if status is ok but is pending Sync
                    if (status != Model.StaticServiceData.ServerStatus.Ok || !App.Instance.IsSync)
                    {
                        try
                        {
                            App.Instance.User.HasChanges = false;
                            App.Instance.User.Update(user);

                            await UpdateCacheUserData(user);

                            App.Instance.IsSync = false;

                            callback(null);
                        }
                        catch (Exception ex)
                        {
                            callback(ex);
                        }
                    }
                    else
                    {
                        var client = new StaticClient();
                        client.ChangePasswordAsync(user, callback);
                        client.ChangePasswordCompleted += async (sender, eventArgs) =>
                        {
                            try
                            {
                                if (eventArgs.Error != null)
                                {
                                    callback(eventArgs.Error);
                                    return;
                                }

                                App.Instance.User.HasChanges = false;
                                App.Instance.User.Password = eventArgs.Result.Password;

                                await UpdateCacheUserData(eventArgs.Result);

                                callback(null);
                            }
                            catch (Exception) { throw; }
                        };
                    }
                });
            }
            catch (Exception)
            {
                throw;
            }
        }
        private static async Task<User> LoadLiveUser(User user)
        {
            User retVal = null;
            var info = NetworkInformation.GetInternetConnectionProfile();

            if (info == null || info.GetNetworkConnectivityLevel() != NetworkConnectivityLevel.InternetAccess)
            {
                return retVal;
            }

            try
            {
                var client = new BMAStaticDataService.StaticClient();
                var result = await client.AuthenticateUserAsync(user);

                retVal = result;
            }
            catch (Exception ex)
            {
                var dialog = new MessageDialog(string.Format("There was an error accessing the weather service.\n\r{0}", ex.Message));
                throw;
            }

            return retVal;
        }
        public async Task LoadUser(User user, Action<Exception> callback)
        {
            User existing = new User();
            App.Instance.StaticServiceData.SetServerStatus(async status =>
                {
                    if (status != StaticServiceData.ServerStatus.Ok)
                    {
                        try
                        {
                            var query = await LoadCachedUser();
                            existing = query.Where(i => i.UserName == user.UserName && i.Password == user.Password).Single();
                            UserFound(existing);

                            callback(null);
                        }
                        catch (Exception) 
                        { 
                            var error = new Exception(AppResources.UserNamePasswordWrongOffline);
                            callback(error);
                        }

                    }
                    else
                    {
                        var client = new StaticClient();
                        client.AuthenticateUserAsync(user, callback);
                        client.AuthenticateUserCompleted += async (sender, eventargs) =>
                        {
                            try
                            {
                                if (eventargs.Error == null)
                                {
                                    existing = eventargs.Result;
                                    UserFound(existing);
                                    await UpdateCacheUserData(existing);
                                }

                                callback(eventargs.Error);
                            }
                            catch (Exception) { throw; }
                        };
                    }
                });
        }
 public async Task ForgotPassword(User user)
 {
     try
     {
         var client = new BMAStaticDataService.StaticClient();
         var result = await client.ForgotPasswordAsync(user);
     }
     catch (Exception)
     {
         throw;
     }
 }
 public Security(User user)
     : base(user)
 {
     //** DONT INSTANTIATE CREATED AND MODIFIED USER WITH EMPTY VALUES **// 
 }
 public SecurityViewModel()
 {
     PivotIndex = 0;
     User = new BMA.BusinessLogic.User();
     User.Update(App.Instance.User);
 }