public List <UserAttendanceModel> GetUserAttendance(string selectedMonthYear, int regNumber)
        {
            var response = _attendanceRepository.GetUserAttendaceRepository(selectedMonthYear, regNumber);
            List <UserAttendanceModel> result = ViewModelParser.userAttendances(response);

            return(result);
        }
        public RegisterStatus RegisterAsPatient(RegisterPatientViewModel vm)
        {
            try {
                using (var db = new MedCredaEntities()) {
                    Account account         = new Account();
                    var     isAccountExists = db.Accounts.Where(x => x.Username == vm.Username || x.EmailAddress == vm.EmailAddress).Any();
                    if (isAccountExists)
                    {
                        return(RegisterStatus.EmailUsernameExists);
                    }

                    var viewModelParser = new ViewModelParser <Account, RegisterPatientViewModel>(account, vm);
                    viewModelParser.UpdateModelState();
                    db.Accounts.Add(account);
                    db.SaveChanges();
                }
            }
            catch (Exception ex) {
                //result = false;
                //throw;
            }

            return(RegisterStatus.Registered);
            //return result;
        }
Exemple #3
0
        private static RenderFragment <EditContext> RenderFormContents(RenderContext context, CrudeButton <EditContext>?onSubmit) => ctx => builder =>
        {
            var items = ViewModelParser.ParseProperties(context.ViewModel);

            var seq = 0;

            builder.OpenElement(seq++, "crude-tree");
            builder.OpenElement(seq++, "crude-tree-header");

            builder.OpenComponent <DataAnnotationsValidator>(seq++);
            builder.CloseComponent();

            builder.OpenComponent <ValidationSummary>(seq++);
            builder.CloseComponent();

            builder.CloseElement();

            foreach (var item in items)
            {
                if (item.Type == CrudePropertyType.Field)
                {
                    var fragment = CreateFieldFragment(item);

                    builder.AddContent(seq++, fragment.Render(context));
                }

                if (item.Type == CrudePropertyType.Table)
                {
                    var fragment = CreateTableFragment(item);

                    if (fragment == null)
                    {
                        continue;
                    }

                    builder.AddContent(seq++, fragment.Render(context));
                }
            }

            builder.OpenElement(seq++, "crude-tree-footer");

            if (onSubmit != null)
            {
                builder.OpenElement(seq++, "button");
                builder.AddAttribute(seq++, "type", "submit");
                builder.AddContent(seq++, onSubmit.Name);
                builder.CloseElement();
            }

            foreach (var onButtonClick in GetOnClickButtons(context))
            {
                var button = new ButtonFragment(onButtonClick.Name, onButtonClick.Callback, string.Empty, false);

                builder.AddContent(seq++, button.Render(context));
            }

            builder.CloseElement();
            builder.CloseElement();
        };
Exemple #4
0
        public bool AddUserService(UserView userView)
        {
            Users    users    = ViewModelParser.GetUsers(userView);
            UserFees userFees = ViewModelParser.GetUserFees(users.Id, userView);

            users.RegistrationNumber = _userRepository.GetUserRegistrationNUmber() + 1;
            return(_userRepository.AddUserRepository(users, userFees));
        }
Exemple #5
0
        private static PlanningGameManager BuildPlanningGameManager(MainWindow mainWindow)
        {
            var commandQueue        = new OperationsQueue(mainWindow.Dispatcher);
            var networkManager      = new NetworkManager();
            var stubDataLoader      = new XmlDataPersister(XmlSerializerFactoy.Create());
            var viewModelParser     = new ViewModelParser(mainWindow);
            var planningGameManager = new PlanningGameManager(mainWindow, commandQueue, networkManager, stubDataLoader,
                                                              viewModelParser);

            return(planningGameManager);
        }
        public void CreateAccount(AccountViewModel vm)
        {
            using (var db = new MedCredaEntities()) {
                Account account = new Account();

                var viewModelParser = new ViewModelParser <Account, AccountViewModel>(account, vm);
                viewModelParser.UpdateModelState();
                db.Accounts.Add(account);
                db.SaveChanges();
            }
            //throw new NotImplementedException();
        }
        public List <AccountViewModel> GetDoctors()
        {
            var list = new List <AccountViewModel>();

            using (var db = new MedCredaEntities()) {
                Account account = new Account();
                db.Accounts.Where(x => x.UserType == (int)UserType.Doctor).ToList().ForEach(x => {
                    var viewModelParser = new ViewModelParser <Account, AccountViewModel>(x);
                    var vm      = new AccountViewModel();
                    vm          = viewModelParser.TransferDataToViewModel();
                    vm.UserType = (UserType)(x.UserType ?? 0);
                    list.Add(vm);
                });
            }
            return(list);
        }
Exemple #8
0
        private static CrudeButton <EditContext>?GetOnSubmitButton(RenderContext context)
        {
            var methods = ViewModelParser.ParseMethods(context.ViewModel);

            CrudeButton <EditContext>?button = null;

            foreach (var method in methods)
            {
                if (method.Attributes.FirstOrDefault(x => x is CrudeOnSubmitAttribute) is CrudeOnSubmitAttribute crudeOnSubmitAttribute)
                {
                    button = new CrudeButton <EditContext>(
                        context.CreateEvent <EditContext>(ctx => method.MethodInfo.Invoke(context.ViewModel, new object[] { ctx })),
                        crudeOnSubmitAttribute.Name);
                }
            }

            return(button);
        }
        public List <AccountViewModel> GetAccounts()
        {
            var list = new List <AccountViewModel>();

            using (var db = new MedCredaEntities()) {
                Account account = new Account();
                db.Accounts.ToList().ForEach(x => {
                    var viewModelParser = new ViewModelParser <Account, AccountViewModel>(x);
                    var vm      = new AccountViewModel();
                    vm          = viewModelParser.TransferDataToViewModel();
                    vm.UserType = (UserType)(x.UserType ?? 0);
                    list.Add(vm);

                    //viewModelParser.UpdateModelState();
                });
            }

            return(list);
        }
Exemple #10
0
        private static IEnumerable <CrudeButton> GetOnClickButtons(RenderContext context)
        {
            var methods = ViewModelParser.ParseMethods(context.ViewModel);

            var result = new List <CrudeButton>();

            foreach (var method in methods)
            {
                if (method.Attributes.FirstOrDefault(x => x is CrudeOnButtonClickAttribute) is CrudeOnButtonClickAttribute crudeOnSubmitAttribute)
                {
                    var button = new CrudeButton(
                        context.CreateEvent(() => method.MethodInfo.Invoke(context.ViewModel, new object[] { context.EditContext })),
                        crudeOnSubmitAttribute.Name);

                    result.Add(button);
                }
            }

            return(result);
        }
Exemple #11
0
        public PlanningGameManager(IMainWindow mainWindow,
                                   OperationsQueue operationQueue,
                                   NetworkManager networkManager,
                                   IDataPersister dataPersister,
                                   ViewModelParser viewModelParser)
        {
            _mainWindow      = mainWindow;
            _operationQueue  = operationQueue;
            _networkManager  = networkManager;
            _dataPersister   = dataPersister;
            _viewModelParser = viewModelParser;

            mainWindow.WindowClosed += SaveData;

            mainWindow.NetworkConnect     += WindowOnNetworkConnect;
            mainWindow.HostNetworkSession += WindowOnHostNetworkSession;

            mainWindow.OpenProject += Window_OnOpenProject;
            mainWindow.SaveProject += Window_OnSaveProject;

            _operationQueue.OperationStatus += Operation_OnStatusMessage;
        }
Exemple #12
0
        public RenderFragment Render(RenderContext context) => builder =>
        {
            var seq = 0;

            builder.OpenElement(seq++, "crude-table-fragment");

            if (_table.IsSearchable)
            {
                builder.OpenElement(seq++, "crude-table-fragment-header");

                BuildSearchBox(ref seq, context, builder);

                builder.CloseElement();
            }

            builder.OpenElement(seq++, "table");

            builder.OpenElement(seq++, "thead");
            builder.OpenElement(seq++, "tr");

            var headerInstance = Activator.CreateInstance(typeof(T));

            if (headerInstance == null)
            {
                throw new ArgumentException($"Failed to construct table headers for type {typeof(T)}. Make sure you have an empty constructor");
            }

            var items = ViewModelParser.ParseProperties(headerInstance);

            foreach (var item in items)
            {
                builder.OpenElement(seq++, "th");

                CrudeEvent?sortEvent = null;

                if (_table.IsSortable)
                {
                    sortEvent = new CrudeEvent(() =>
                    {
                        if (_table.SortColumn == item.Info.Name)
                        {
                            _table.SortDescending = !_table.SortDescending;
                        }
                        else
                        {
                            _table.SortColumn     = item.Info.Name;
                            _table.SortDescending = false;
                        }
                    });
                }

                var header = new ActionDecoratorFragment(item.Name, sortEvent);

                builder.AddContent(seq++, header.Render(context));

                if (item.Info.Name == _table.SortColumn)
                {
                    builder.OpenElement(seq++, "crude-table-sort-icon");
                    builder.AddAttribute(seq++, "class", _table.SortDescending ? "sort-desc" : "sort-asc");
                    builder.CloseElement();
                }

                builder.CloseElement();
            }

            builder.CloseElement();
            builder.CloseElement();

            builder.OpenElement(seq++, "tbody");

            var elements = _table.GetElements();

            foreach (var element in elements)
            {
                builder.OpenElement(seq++, "tr");

                var rowItems = ViewModelParser.ParseProperties(element);

                foreach (var item in rowItems)
                {
                    builder.OpenElement(seq++, "td");
                    builder.AddContent(seq++, GetValue(item, context));
                    builder.CloseElement();
                }

                builder.CloseElement();
            }

            builder.CloseElement();

            builder.CloseElement();

            var elementCount = _table.GetTotalElementCount();

            if (elementCount > _table.TablePageSize)
            {
                builder.OpenElement(seq++, "crude-table-fragment-footer");

                BuildPaginationButtons(ref seq, elementCount, context, builder);

                builder.CloseElement();
            }

            builder.CloseElement();
        };
Exemple #13
0
        public List <DataTableUserView> GetUsers(UserPaginationModel paginationModel, out int recordsTotal)
        {
            var allUsers = _userRepository.GetUsersRepository(paginationModel, out recordsTotal);

            return(ViewModelParser.GetDTUserViews(allUsers));
        }
Exemple #14
0
        public UserView GetUserByRegMobileService(int registrationNumber, long mobile)
        {
            var data = _userRepository.GetUserByRegMobileRepository(registrationNumber, mobile);

            return(ViewModelParser.GetFeeUserView(data));
        }
 public OpenProjectOperation(string filename, ViewModelParser viewModelParser, DataContractSerializer xmlSerializer)
 {
     _filename        = filename;
     _viewModelParser = viewModelParser;
     _xmlSerializer   = xmlSerializer;
 }
Exemple #16
0
 public SaveProjectOperation(string fileName, ViewModelParser viewModelParser, DataContractSerializer dataContractSerializer)
 {
     _fileName               = fileName;
     _viewModelParser        = viewModelParser;
     _dataContractSerializer = dataContractSerializer;
 }