示例#1
0
        public void DeveCriarPrecoPromocional()
        {
            //Given
            var valor = 10;
            var dataInicioPromocao = DateTime.Now;
            var dataFimPromocao    = DateTime.Now.AddDays(7);
            //When
            var precoPromocional = new PrecoPromocional(valor, dataInicioPromocao, dataFimPromocao);

            //Then
            Assert.Equal(valor, precoPromocional.Valor);
            Assert.Equal(dataInicioPromocao, precoPromocional.DataInicioPromocao);
            Assert.Equal(dataFimPromocao, precoPromocional.DataFimPromocao);
        }
        public void DeveCriarProduto()
        {
            //Given
            var nome               = "Tenis";
            var grupo              = new Grupo("Sapato");
            var cores              = new Cor[] { new Cor("Verde"), new Cor("Preto") };
            var tamanho            = new Tamanho[] { new Tamanho("grande"), new Tamanho("Pequeno") };
            var subgrupo           = new Subgrupo("Tenis", grupo);
            var preco              = new decimal(10);
            var precoPromocional   = new PrecoPromocional(10, DateTime.Now, DateTime.Now.AddDays(1));
            var precosPromocionais = new [] { precoPromocional };
            //When
            var produto = new Produto(nome, tamanho, cores, subgrupo, preco, precosPromocionais);

            //Then
            Assert.Equal(nome, produto.Nome);
            Assert.Equal(preco, produto.Preco);
            Assert.Equal(cores, produto.Cores);
            Assert.Equal(tamanho, produto.Tamanhos);
            Assert.Equal(subgrupo, produto.Subgrupo);
            Assert.Equal(precosPromocionais, produto.PrecosPromocionais);
        }
示例#3
0
 private async Task RegistrarProdutoAsync()
 {
     if (!IsBusy)
     {
         Exception Error = null;
         try
         {
             IsBusy = true;
             var _realmDB = Realm.GetInstance();
             using (UserDialogs.Instance.Loading("Registrando Produto...", null, null, true, MaskType.Gradient))
             {
                 //Buscar Produto
                 var _produto = JsonConvert.DeserializeObject <Produto>(SettingsPreferences.GetValue("Produto", ""));
                 if (!string.IsNullOrWhiteSpace(PrecoPromocional.ToString()))
                 {
                     _precoPromocional = PrecoPromocional;
                 }
                 if (_produto == null)
                 {
                     //Registrar Produto
                     Produto objProduto = new Produto()
                     {
                         Descricao        = ProdutoModel.Descricao.Trim(),
                         Detalhes         = ProdutoModel.Detalhes.Trim(),
                         Preco            = Preco,
                         PrecoPromocional = _precoPromocional,
                         Imagem           = _mediaFile.FileName,
                         ImagemURL        = _mediaFile.FullPath,
                         DataCadastro     = System.DateTime.Now,
                         Ativo            = true,
                         CategoriaID      = ProdutoModel.CategoriaID
                     };
                     //------------ Registrar Produto ------------/
                     _realmDB.Write(() =>
                     {
                         _realmDB.Add(objProduto);
                     });
                     SettingsPreferences.SetValue("Mensagem", "Produto cadastrado com sucesso!");
                 }
                 else
                 {
                     //Atualizar Produto
                     var objProduto = _realmDB.Find <Produto>(_produto.ProdutoID);
                     using (var db = _realmDB.BeginWrite())
                     {
                         objProduto.Descricao        = ProdutoModel.Descricao.Trim();
                         objProduto.Detalhes         = ProdutoModel.Detalhes.Trim();
                         objProduto.Preco            = Preco;
                         objProduto.PrecoPromocional = _precoPromocional;
                         if (_mediaFile is not null)
                         {
                             objProduto.Imagem    = _mediaFile.FileName;
                             objProduto.ImagemURL = _mediaFile.FullPath;
                         }
                         objProduto.DataCadastro = System.DateTime.Now;
                         objProduto.Ativo        = true;
                         objProduto.CategoriaID  = ProdutoModel.CategoriaID;
                         db.Commit();
                     }
                     SettingsPreferences.SetValue("Mensagem", "Produto atualizado com sucesso!");
                 }
             }
         }
         catch (Exception ex)
         {
             IsBusy = false;
             Error  = ex;
         }
         finally
         {
             IsBusy = false;
             await Shell.Current.GoToAsync("Mensagem", true);
         }
         if (Error != null)
         {
             IsBusy = false;
             await DisplayAlert("Ooops!", "Ocorreu algo inesperado!" + Environment.NewLine + "Por favor, tente novamente!", "OK");
         }
     }
 }