public void Read()
        {
            var profile = new ProfileServer().GetProfile();
            var materials = Get(profile.Id);

            Publish(Messages.REQUEST_MATERIALS_RESPONSE, materials);
        }
        bool Save(object entity)
        {
            var service = entity as Service;
            var validated = new ServiceValidator().Validate(service);
            if (!validated) return false;

            Service serviceToProcess = null;

            var existingService = _services.FirstOrDefault(s => s.Id == service.Id);

            if (existingService == null)
            {
                var profile = new ProfileServer().GetProfile();

                service.UserId = profile.Id;
                service.Id = service.Id ?? Guid.NewGuid().ToString();

                _services.Add(service);
                serviceToProcess = service;
            }
            else
            {
                service.Update(existingService);
                serviceToProcess = existingService;
            }

            SaveData(serviceToProcess);
            SaveMaterials(serviceToProcess);

            return true;
        }
Пример #3
0
        public override void Read()
        {
            var profile = new ProfileServer().GetProfile();
            var quotes = ExecuteQueryStrategy(profile.Id);

            Publish(Messages.REQUEST_QUOTES_RESPONSE, quotes);
        }
Пример #4
0
        Quote GetQuote()
        {
            var registry = new CalculateTransaction.ViewModel();

            foreach (var sevice in SelectedServices)
            {
                registry.AddService.Execute(sevice);
            }

            var profile = new ProfileServer().GetProfile();

            _quote = new Quote()
            {
                Id = Guid.NewGuid().ToString(),
                TypeName = STATEMENT_TYPE_QUOTE,
                Title = Title,
                UserId = profile.Id,
                CloudSynced = false,
                CreatedOn = DateTime.Now,
                StatementNumber = GetStatementNumber(),
                Profile = profile,
                Services = new List<Service>(SelectedServices),
                Address = new Address(),
                Total = registry.Total,
                Subtotal = registry.Subtotal,
                Tax = registry.Tax
            };

            Subtotal = _quote.Subtotal;
            Tax = _quote.Tax;
            Total = _quote.Total;

            return _quote;
        }
        public override void Read()
        {
            var profileId = new ProfileServer().GetProfile()?.Id;
            if (profileId == null) return;

            var serviceMaterials = _databaseConnection.Table<ServiceMaterial>().Where(m => m.UserId == profileId);

            Publish(Messages.REQUEST_SERVICE_MATERIALS_MATERIALS_FROM_SERVICE_ID_RESPONSE, serviceMaterials);
        }
Пример #6
0
        public void get_material_from_service_material()
        {
            // Setup
            ClearSubscriptions();

            var mock = new Mock();
            var serviceMaterialsDatabase = mock.PrepareServiceMaterialsDependencies();
            new Autonomy().Activate();

            var profileId = new ProfileServer().GetProfile().Id;

            var material = new Material() { Name = SOME_TEXT, UserId = profileId };
            Publish(Messages.REQUEST_SAVE_MATERIAL, material);

            var service = new Service() { Name = SOME_TEXT, UserId = profileId };
            Publish(Messages.REQUEST_SAVE_SERVICE, service);

            var serviceMaterial = new ServiceMaterial()
            {
                MaterialId = material.Id,
                ServiceId = service.Id,
                Quantity = 1,
                UserId = profileId
            };

            Publish(Messages.REQUEST_SAVE_SERVICE_MATERIAL, serviceMaterial);

            // Test
            Material materialResult = null;
            Subscribe(Messages.REQUEST_SERVICE_MATERIAL_RESPONSE, obj => materialResult = obj as Material);
            Publish(Messages.REQUEST_SERVICE_MATERIAL, material.Id);

            // Verify
            var expected = material == materialResult;
            Assert.IsTrue(expected);
        }
Пример #7
0
        public void profile_created_on_new_service()
        {
            // Setup
            new Bootstrap().Run();

            var viewModel = new ViewModel();
            viewModel.Name = SOME_TEXT;
            viewModel.LaborCost = SOME_DECIMAL_VALUE.ToString();
            viewModel.TaxPercentage = SOME_DECIMAL_VALUE.ToString();
            viewModel.Description = SOME_TEXT;

            // Test
            viewModel.SaveCommand.Execute(null);

            // Verify
            var profileCreated = new ProfileServer().GetProfile() != null;
            Assert.IsTrue(profileCreated);
        }
Пример #8
0
        void OnGenerate(object obj)
        {
            var profile = new ProfileServer().GetProfile();
            var canEmailQuote = !string.IsNullOrEmpty(profile.Email);

            if (!canEmailQuote)
            {
                Publish(Messages.REQUEST_VIEW_PROFILE);
            }
            else
            {
                InitializeCustomer();
                Publish(Messages.REQUEST_VIEW_QUOTE, _customer);
            }
        }
Пример #9
0
        public void profile_created_on_new_material()
        {
            // Setup
            new Bootstrap().Run();

            var manageMaterialsViewModel = new ManageMaterials.ViewModel();
            var viewModel = new ViewModel();

            // Test
            viewModel.Name = SOME_TEXT;
            viewModel.Description = SOME_TEXT;
            viewModel.Quantity = SOME_DECIMAL_VALUE.ToString();
            viewModel.UnitType = SOME_TEXT;
            viewModel.BaseCost = SOME_DECIMAL_VALUE.ToString();
            viewModel.MarkupPrice = SOME_DECIMAL_VALUE.ToString();
            viewModel.Save.Execute(null);

            // Verify
            var expected = new ProfileServer().GetProfile() != null;
            Assert.IsTrue(expected);
        }
 protected IEnumerable<Service> GetServicesSkeleton()
 {
     var profile = new ProfileServer().GetProfile();
     return Get(profile.Id).ToList();
 }