Beispiel #1
0
        private void LoadData()
        {
            _modelImposto = _modelImposto.FindById(idImpSelected).FirstOrDefault <Model.Imposto>();

            nome.Text = _modelImposto.Nome ?? "";
            cfop.Text = _modelImposto.Cfop ?? "";

            GetImpostos(1);
        }
Beispiel #2
0
        private void LoadImpostoOne()
        {
            Impostos = new Model.Imposto().FindAll().WhereFalse("excluir").OrderByDesc("nome").Get();
            if (Impostos.Any())
            {
                ImpostoNFE.DataSource    = Impostos;
                ImpostoNFE.DisplayMember = "NOME";
                ImpostoNFE.ValueMember   = "ID";
            }

            ImpostoNFE.SelectedValue = 0;
        }
Beispiel #3
0
        private void Eventos()
        {
            KeyDown   += KeyDowns;
            KeyPreview = true;
            Masks.SetToUpper(this);

            Shown += (s, e) =>
            {
                Refresh();

                BeginInvoke((MethodInvoker) delegate
                {
                    IdPdtSelecionado = Produtos.IdPdtSelecionado;
                    backOn.RunWorkerAsync();
                });

                SetHeadersAdicionais(GridAdicionais);
                SetHeadersCombo(GridCombos);
                nome.Focus();
            };

            menuEstoque.Click  += (s, e) => Support.DynamicPanel(flowLayoutPanel, panelEstoque, menuEstoque);
            label27.Click      += (s, e) => Support.DynamicPanel(flowLayoutPanel, panelEstoque, menuEstoque);
            pictureBox12.Click += (s, e) => Support.DynamicPanel(flowLayoutPanel, panelEstoque, menuEstoque);

            menuImpostos.Click += (s, e) => Support.DynamicPanel(flowLayoutPanel, panelImpostos, menuImpostos);
            label35.Click      += (s, e) => Support.DynamicPanel(flowLayoutPanel, panelImpostos, menuImpostos);
            pictureBox16.Click += (s, e) => Support.DynamicPanel(flowLayoutPanel, panelImpostos, menuImpostos);

            menuAdicionais.Click += (s, e) => Support.DynamicPanel(flowLayoutPanel, panelAdicionais, menuAdicionais);
            label30.Click        += (s, e) => Support.DynamicPanel(flowLayoutPanel, panelAdicionais, menuAdicionais);
            pictureBox13.Click   += (s, e) => Support.DynamicPanel(flowLayoutPanel, panelAdicionais, menuAdicionais);

            menuCombo.Click    += (s, e) => Support.DynamicPanel(flowLayoutPanel, panelCombo, menuCombo);
            label33.Click      += (s, e) => Support.DynamicPanel(flowLayoutPanel, panelCombo, menuCombo);
            pictureBox17.Click += (s, e) => Support.DynamicPanel(flowLayoutPanel, panelCombo, menuCombo);

            menuInfoAdicionais.Click += (s, e) => Support.DynamicPanel(flowLayoutPanel, panelInfoAdicionais, menuInfoAdicionais);
            label31.Click            += (s, e) => Support.DynamicPanel(flowLayoutPanel, panelInfoAdicionais, menuInfoAdicionais);
            pictureBox15.Click       += (s, e) => Support.DynamicPanel(flowLayoutPanel, panelInfoAdicionais, menuInfoAdicionais);

            btnExit.Click += (s, e) =>
            {
                var dataProd = _modelItem.Query().Where("id", IdPdtSelecionado)
                               .Where("atualizado", "01.01.0001, 00:00:00.000").WhereNull("codebarras").FirstOrDefault();
                if (dataProd != null)
                {
                    var result = AlertOptions.Message("Atenção!", "Esse produto não foi editado, deseja deletar?",
                                                      AlertBig.AlertType.info, AlertBig.AlertBtn.YesNo);
                    if (result)
                    {
                        var data = _modelItem.Remove(IdPdtSelecionado, false);
                        if (data)
                        {
                            Close();
                        }
                    }

                    nome.Focus();
                    return;
                }

                Close();
            };

            btnSalvar.Click += (s, e) => Save();

            btnRemover.Click += (s, e) =>
            {
                var result = AlertOptions.Message("Atenção!", "Você está prestes a deletar um produto, continuar?",
                                                  AlertBig.AlertType.warning, AlertBig.AlertBtn.YesNo);
                if (result)
                {
                    var data = _modelItem.Remove(IdPdtSelecionado);
                    if (data)
                    {
                        Close();
                    }
                }
            };

            btnEstoque.Click += (s, e) =>
            {
                _modelItem.Nome = nome.Text;
                if (new Model.Item().ValidarDados(_modelItem))
                {
                    return;
                }

                var f = new AddEstoque {
                    TopMost = true
                };
                if (f.ShowDialog() == DialogResult.OK)
                {
                    LoadEstoque();

                    estoqueminimo.Focus();
                    DataTableEstoque();
                }
            };

            valorcompra.TextChanged += (s, e) =>
            {
                var txt = (TextBox)s;
                Masks.MaskPrice(ref txt);
            };

            valorvenda.TextChanged += (s, e) =>
            {
                var txt = (TextBox)s;
                Masks.MaskPrice(ref txt);
            };

            txtLimiteDesconto.TextChanged += (s, e) =>
            {
                var txt = (TextBox)s;
                Masks.MaskPrice(ref txt);
            };

            btnAddCategoria.Click += (s, e) =>
            {
                Home.CategoriaPage = "Produtos";
                var f = new AddCategorias
                {
                    FormBorderStyle = FormBorderStyle.FixedSingle,
                    StartPosition   = FormStartPosition.CenterScreen,
                    TopMost         = true
                };
                if (f.ShowDialog() == DialogResult.OK)
                {
                    Categorias.DataSource = new Categoria().GetAll("Produtos");
                    Categorias.Refresh();
                }
            };

            btnAddFornecedor.Click += (s, e) =>
            {
                Home.pessoaPage = "Fornecedores";
                AddClientes.Id  = 0;
                var f = new AddClientes
                {
                    FormBorderStyle = FormBorderStyle.FixedSingle,
                    StartPosition   = FormStartPosition.CenterScreen,
                    TopMost         = true
                };
                if (f.ShowDialog() == DialogResult.OK)
                {
                    LoadFornecedores();
                }
            };

            btnAddImpostoOne.Click += (s, e) =>
            {
                View.Produtos.Impostos.idImpSelected = 0;
                var f = new AddImpostos
                {
                    FormBorderStyle = FormBorderStyle.FixedSingle,
                    StartPosition   = FormStartPosition.CenterScreen,
                    TopMost         = true
                };
                if (f.ShowDialog() == DialogResult.OK)
                {
                    LoadImpostoOne();
                    LoadImpostoTwo();
                }
            };

            btnAddImpostoTwo.Click += (s, e) =>
            {
                View.Produtos.Impostos.idImpSelected = 0;
                var f = new AddImpostos
                {
                    FormBorderStyle = FormBorderStyle.FixedSingle,
                    StartPosition   = FormStartPosition.CenterScreen,
                    TopMost         = true
                };
                if (f.ShowDialog() == DialogResult.OK)
                {
                    LoadImpostoOne();
                    LoadImpostoTwo();
                }
            };

            valorvenda.TextChanged += (s, e) =>
            {
                if (Validation.ConvertToDouble(valorcompra.Text) == 0)
                {
                    return;
                }

                if (Validation.ConvertToDouble(valorvenda.Text) == 0)
                {
                    return;
                }

                var media =
                    (Validation.ConvertToDouble(valorvenda.Text) - Validation.ConvertToDouble(valorcompra.Text)) * 100 /
                    Validation.ConvertToDouble(valorcompra.Text);
                precoMedio.Text = $"{Validation.ConvertToDouble(Validation.RoundTwo(media))}%";
            };

            valorcompra.TextChanged += (s, e) =>
            {
                if (Validation.ConvertToDouble(valorcompra.Text) == 0)
                {
                    return;
                }

                if (Validation.ConvertToDouble(valorvenda.Text) == 0)
                {
                    return;
                }

                var media =
                    (Validation.ConvertToDouble(valorvenda.Text) - Validation.ConvertToDouble(valorcompra.Text)) * 100 /
                    Validation.ConvertToDouble(valorcompra.Text);
                precoMedio.Text = Validation.Price(media);
            };

            estoqueminimo.KeyPress += (s, e) => Masks.MaskDouble(s, e);
            codebarras.KeyPress    += (s, e) => Masks.MaskOnlyNumbers(s, e, 20);
            referencia.KeyPress    += (s, e) => Masks.MaskOnlyNumberAndChar(s, e, 50);
            ncm.KeyPress           += (s, e) => Masks.MaskOnlyNumbers(s, e, 8);
            cest.KeyPress          += (s, e) => Masks.MaskOnlyNumbers(s, e, 7);

            nome.TextChanged += (s, e) => { btnEstoque.Visible = nome.Text.Length >= 2; };

            nome.KeyPress += (s, e) => { Masks.MaskMaxLength(s, e, 100); };

            btnHelp.Click += (s, e) => Support.OpenLinkBrowser(Configs.LinkAjuda);

            chkImpostoNFE.Click += (s, e) =>
            {
                if (chkImpostoNFE.Checked)
                {
                    ImpostoNFE.Enabled = true;
                }
                else
                {
                    ImpostoNFE.Enabled       = false;
                    ImpostoNFE.SelectedValue = 0;
                }
            };

            chkImpostoCFE.Click += (s, e) =>
            {
                if (chkImpostoCFE.Checked)
                {
                    ImpostoCFE.Enabled = true;
                }
                else
                {
                    ImpostoCFE.Enabled       = false;
                    ImpostoCFE.SelectedValue = 0;
                }
            };

            btnRemoverImage.Click += (s, e) =>
            {
                _modelItem.Id = IdPdtSelecionado;

                if (File.Exists($@"{Program.PATH_IMAGE}\Imagens\{_modelItem.Image}"))
                {
                    File.Delete($@"{Program.PATH_IMAGE}\Imagens\{_modelItem.Image}");
                }

                _modelItem.Image = "";
                _modelItem.Save(_modelItem, false);

                imageProduct.Image      = Resources.sem_imagem;
                pathImage.Text          = "";
                btnRemoverImage.Visible = false;
                Alert.Message("Pronto!", "Imagem removida com sucesso.", Alert.AlertType.success);
            };

            btnImage.Click += (s, e) =>
            {
                ofd.RestoreDirectory = true;
                ofd.Filter           = @"Image files (*.jpg, *.jpeg, *.png) | *.jpg; *.jpeg; *.png";
                ofd.CheckFileExists  = true;
                ofd.CheckPathExists  = true;
                ofd.Multiselect      = false;
                if (ofd.ShowDialog() == DialogResult.OK)
                {
                    if (!ofd.CheckFileExists)
                    {
                        Alert.Message("Opps", "Não encontramos a imagem selecionada. Tente Novamente!",
                                      Alert.AlertType.error);
                        return;
                    }

                    var path = ofd.InitialDirectory + ofd.FileName;
                    var ext  = Path.GetExtension(ofd.FileName);

                    if (File.Exists(path))
                    {
                        if (!Directory.Exists(Program.PATH_IMAGE + @"\Imagens"))
                        {
                            Directory.CreateDirectory(Program.PATH_IMAGE + @"\Imagens");
                        }

                        var nameImage = $"{Validation.CleanString(nome.Text).Replace(" ", "-")}{ext}";

                        if (File.Exists($@"{Program.PATH_IMAGE}\Imagens\{nameImage}"))
                        {
                            File.Delete($@"{Program.PATH_IMAGE}\Imagens\{nameImage}");
                        }

                        File.Copy(path, $@"{Program.PATH_IMAGE}\Imagens\{nameImage}");

                        _modelItem.Id    = IdPdtSelecionado;
                        _modelItem.Image = nameImage;
                        _modelItem.Save(_modelItem, false);

                        var imageAsByteArray = File.ReadAllBytes($@"{Program.PATH_IMAGE}\Imagens\{nameImage}");
                        imageProduct.Image      = Support.ByteArrayToImage(imageAsByteArray);
                        pathImage.Text          = $@"{Program.PATH_IMAGE}\Imagens\{nameImage}";
                        btnRemoverImage.Visible = true;
                        Alert.Message("Pronto!", "Imagem atualizada com sucesso.", Alert.AlertType.success);
                    }
                    else
                    {
                        Alert.Message("Opps", "Não foi possível copiar a imagem. Tente novamente.",
                                      Alert.AlertType.error);
                    }
                }
            };

            filterTodos.Click        += (s, e) => DataTableEstoque();
            filterMaisRecentes.Click += (s, e) => DataTableEstoque();

            selecionarNCM.Click += (s, e) =>
            {
                var f = new ModalNCM {
                    TopMost = true
                };
                if (f.ShowDialog() == DialogResult.OK)
                {
                    ncm.Text = ModalNCM.NCM;
                }
            };

            backOn.DoWork += (s, e) =>
            {
                _modelItem       = _modelItem.FindById(IdPdtSelecionado).FirstOrDefault <Model.Item>();
                ListCategorias   = new Categoria().GetAll("Produtos");
                ListFornecedores = new Pessoa().GetAll("Fornecedores");
                Impostos         = new Model.Imposto().FindAll().WhereFalse("excluir").OrderByDesc("nome").Get();
                Impostos2        = new Model.Imposto().FindAll().WhereFalse("excluir").OrderByDesc("nome").Get();
            };

            backOn.RunWorkerCompleted += (s, e) =>
            {
                Start();

                if (IdPdtSelecionado > 0)
                {
                    LoadData();
                }
                else
                {
                    _modelItem = new Item {
                        Tipo = "Produtos", Id = IdPdtSelecionado
                    };
                    if (_modelItem.Save(_modelItem, false))
                    {
                        IdPdtSelecionado = _modelItem.GetLastId();
                        LoadData();
                    }
                    else
                    {
                        Alert.Message("Opss", "Erro ao criar.", Alert.AlertType.error);
                        Close();
                    }
                }
            };

            workerBackEstoque.DoWork += (s, e) =>
            {
                var query = new ItemEstoqueMovimentacao().Query()
                            .LeftJoin("USUARIOS", "USUARIOS.id_user", "ITEM_MOV_ESTOQUE.id_usuario")
                            .Select("ITEM_MOV_ESTOQUE.*", "USUARIOS.id_user", "USUARIOS.nome as nome_user")
                            .Where("id_item", IdPdtSelecionado)
                            .OrderByDesc("criado");

                if (LimitShowStock > 0)
                {
                    query.Limit(LimitShowStock);
                }

                ListEstoque = query.Get();
            };

            workerBackEstoque.RunWorkerCompleted += (s, e) =>
            {
                GetDataTableEstoque(listaEstoque);
            };

            btnVariacao.Click += (s, e) =>
            {
                ModalVariacao.idProduto = IdPdtSelecionado;
                var form = new ModalVariacao();
                form.ShowDialog();
            };

            GridAdicionais.CellContentClick += (s, e) =>
            {
                if (GridAdicionais.Columns[e.ColumnIndex].Name == "Selecione")
                {
                    GridAdicionais.SelectedRows[0].Cells["Selecione"].Value = (bool)GridAdicionais.SelectedRows[0].Cells["Selecione"].Value == false;
                }
            };

            GridAdicionais.CellMouseEnter += (s, e) =>
            {
                if (e.ColumnIndex < 0 || e.RowIndex < 0)
                {
                    return;
                }

                var dataGridView = s as DataGridView;
                if (GridAdicionais.Columns[e.ColumnIndex].Name == "Selecione")
                {
                    dataGridView.Cursor = Cursors.Hand;
                }
            };

            GridAdicionais.CellMouseLeave += (s, e) =>
            {
                if (e.ColumnIndex < 0 || e.RowIndex < 0)
                {
                    return;
                }

                var dataGridView = s as DataGridView;
                if (GridAdicionais.Columns[e.ColumnIndex].Name == "Selecione")
                {
                    dataGridView.Cursor = Cursors.Default;
                }
            };

            GridCombos.CellContentClick += (s, e) =>
            {
                if (GridCombos.Columns[e.ColumnIndex].Name == "Selecione")
                {
                    GridCombos.SelectedRows[0].Cells["Selecione"].Value = (bool)GridCombos.SelectedRows[0].Cells["Selecione"].Value == false;
                }
            };

            GridCombos.CellMouseEnter += (s, e) =>
            {
                if (e.ColumnIndex < 0 || e.RowIndex < 0)
                {
                    return;
                }

                var dataGridView = s as DataGridView;
                if (GridCombos.Columns[e.ColumnIndex].Name == "Selecione")
                {
                    dataGridView.Cursor = Cursors.Hand;
                }
            };

            GridCombos.CellMouseLeave += (s, e) =>
            {
                if (e.ColumnIndex < 0 || e.RowIndex < 0)
                {
                    return;
                }

                var dataGridView = s as DataGridView;
                if (GridCombos.Columns[e.ColumnIndex].Name == "Selecione")
                {
                    dataGridView.Cursor = Cursors.Default;
                }
            };
        }
Beispiel #4
0
        private void Eventos()
        {
            KeyDown   += KeyDowns;
            KeyPreview = true;
            Masks.SetToUpper(this);

            Shown += (s, e) =>
            {
                Refresh();

                BeginInvoke((MethodInvoker) delegate { backOn.RunWorkerAsync(); });

                SetHeadersTable(GridListaProdutos);
            };

            label6.Click  += (s, e) => Close();
            btnExit.Click += (s, e) => Close();

            btnSalvar.Click += (s, e) =>
            {
                var result = AlertOptions.Message("Atenção!", "Confirmar alterações nos produtos?",
                                                  AlertBig.AlertType.warning, AlertBig.AlertBtn.YesNo);
                if (result)
                {
                    Save();
                }
            };

            valorcompra.TextChanged += (s, e) =>
            {
                var txt = (TextBox)s;
                Masks.MaskPrice(ref txt);
            };

            valorvenda.TextChanged += (s, e) =>
            {
                var txt = (TextBox)s;
                Masks.MaskPrice(ref txt);
            };

            txtLimiteDesconto.TextChanged += (s, e) =>
            {
                var txt = (TextBox)s;
                Masks.MaskPrice(ref txt);
            };

            btnAddFornecedor.Click += (s, e) =>
            {
                Home.pessoaPage = "Fornecedores";
                AddClientes.Id  = 0;
                var f = new AddClientes
                {
                    FormBorderStyle = FormBorderStyle.FixedSingle,
                    StartPosition   = FormStartPosition.CenterScreen
                };
                if (f.ShowDialog() == DialogResult.OK)
                {
                    LoadFornecedores();
                }
            };

            ncm.KeyPress  += (s, e) => Masks.MaskOnlyNumbers(s, e, 8);
            cest.KeyPress += (s, e) => Masks.MaskOnlyNumbers(s, e, 7);

            chkImpostoNFE.Click += (s, e) =>
            {
                if (chkImpostoNFE.Checked)
                {
                    ImpostoNFE.Enabled = true;
                }
                else
                {
                    ImpostoNFE.Enabled       = false;
                    ImpostoNFE.SelectedValue = 0;
                }
            };

            chkImpostoCFE.Click += (s, e) =>
            {
                if (chkImpostoCFE.Checked)
                {
                    ImpostoCFE.Enabled = true;
                }
                else
                {
                    ImpostoCFE.Enabled       = false;
                    ImpostoCFE.SelectedValue = 0;
                }
            };

            backOn.DoWork += (s, e) =>
            {
                categorias   = new Categoria().GetAll("Produtos");
                fornecedores = new Pessoa().GetAll("Fornecedores");
                impostos     = new Model.Imposto().FindAll().WhereFalse("excluir").OrderByDesc("nome").Get();
                impostos2    = new Model.Imposto().FindAll().WhereFalse("excluir").OrderByDesc("nome").Get();
            };

            backOn.RunWorkerCompleted += async(s, e) =>
            {
                Start();

                await SetContentTableAsync(GridListaProdutos);
            };

            btnAddImpostoOne.Click += (s, e) =>
            {
                Impostos.idImpSelected = 0;
                var f = new AddImpostos
                {
                    FormBorderStyle = FormBorderStyle.FixedSingle,
                    StartPosition   = FormStartPosition.CenterScreen
                };
                if (f.ShowDialog() != DialogResult.OK)
                {
                    return;
                }

                LoadImpostoOne();
                LoadImpostoTwo();
            };

            btnAddImpostoTwo.Click += (s, e) =>
            {
                Impostos.idImpSelected = 0;
                var f = new AddImpostos
                {
                    FormBorderStyle = FormBorderStyle.FixedSingle,
                    StartPosition   = FormStartPosition.CenterScreen
                };
                if (f.ShowDialog() != DialogResult.OK)
                {
                    return;
                }

                LoadImpostoOne();
                LoadImpostoTwo();
            };

            btnAddCategoria.Click += (s, e) =>
            {
                Home.CategoriaPage = "Produtos";
                var f = new AddCategorias
                {
                    FormBorderStyle = FormBorderStyle.FixedSingle,
                    StartPosition   = FormStartPosition.CenterScreen,
                    TopMost         = true
                };
                if (f.ShowDialog() != DialogResult.OK)
                {
                    return;
                }

                Categorias.DataSource = new Categoria().GetAll("Produtos");
                Categorias.Refresh();
            };

            FormClosing += (s, e) => { FormOpen = false; };
        }
Beispiel #5
0
        public void SetImposto(int idPedidoItem, int idImposto = 0, string tipo = "", string NCM = "")
        {
            _modelpedidoItem = _modelpedidoItem.FindById(idPedidoItem).FirstOrDefault <Model.PedidoItem>();
            _modelItem       = _modelItem.FindById(_modelpedidoItem.Item).FirstOrDefault <Model.Item>();

            #region IMPOSTO

            if (idImposto == 0)
            {
                if (_modelItem.Count() != 0)
                {
                    switch (tipo)
                    {
                    case "CFe":

                        if (_modelItem.Impostoidcfe == 0)
                        {
                            break;
                        }

                        _modelImposto = _modelImposto.FindById(_modelItem.Impostoidcfe)
                                        .FirstOrDefault <Model.Imposto>();
                        break;

                    default:
                        if (_modelItem.Impostoid == 0)
                        {
                            break;
                        }

                        _modelImposto = _modelImposto.FindById(_modelItem.Impostoid)
                                        .FirstOrDefault <Model.Imposto>();
                        break;
                    }
                }
            }
            else
            {
                _modelImposto = _modelImposto.FindById(idImposto).FirstOrDefault <Model.Imposto>();
            }

            #endregion IMPOSTO

            #region NCM | CEST | ORIGEM

            _modelpedidoItem.Ncm    = string.IsNullOrEmpty(NCM) ? _modelItem.Ncm : NCM;
            _modelpedidoItem.Cest   = _modelItem.Cest;
            _modelpedidoItem.Origem = _modelItem.Origem;

            #endregion NCM | CEST | ORIGEM

            #region CFOP

            _modelpedidoItem.Cfop = _modelImposto.Cfop;

            #endregion CFOP

            #region ICMS

            _modelpedidoItem.Icms = _modelImposto.Icms;

            switch (_modelImposto.Icms)
            {
                #region REGIME NORMAL

            //00 = Tributada integralmente.
            //10 = Tributada e com cobrança do ICMS por substituição tributária
            //20 = Com redução de base de cálculo
            //30 = Isenta ou não tributada e com cobrança do ICMS por substituição tributária
            //40 = Isenta
            //41 = Não tributada
            //50 = Suspensão
            //51 = Diferimento
            //60 = ICMS cobrado anteriormente por substituição tributária
            //70 = Com redução de base de cálculo e cobrança do ICMS por substituição tributária
            //90 = Outros

            case "00":
            case "90":
                _modelpedidoItem.IcmsBase = _modelpedidoItem.Total;
                _modelpedidoItem.IcmsAliq = Validation.RoundAliquotas(_modelImposto.IcmsAliq / 100);
                _modelpedidoItem.IcmsVlr  = Validation.Round(_modelpedidoItem.IcmsBase * _modelpedidoItem.IcmsAliq);
                break;

                #endregion REGIME NORMAL

                #region SIMPLES NACIONAL

            //101 = Tributada pelo Simples Nacional com permissão de crédito
            //102 = Tributada pelo Simples Nacional sem permissão de crédito
            //103 = Isenção do ICMS no Simples Nacional para faixa de receita bruta
            //201 = Tributada pelo Simples Nacional com permissão de crédito e com cobrança do ICMS por Substituição Tributária202 = Tributada pelo Simples Nacional sem permissão de crédito e com cobrança do ICMS por Substituição Tributária
            //202
            //203 = Isenção do ICMS nos Simples Nacional para faixa de receita bruta e com cobrança do ICMS por Substituição Tributária
            //300 = Imune
            //400 = Não tributada pelo Simples Nacional
            //500 = ICMS cobrado anteriormente por substituição tributária (substituído) ou por antecipação
            //900 = Outros

            case "101":
                _modelpedidoItem.Icms101Aliq = Validation.RoundAliquotas(_modelImposto.IcmsAliq / 100);
                _modelpedidoItem.Icms101Vlr  =
                    Validation.Round(_modelpedidoItem.Total * _modelpedidoItem.Icms101Aliq);
                break;

            case "201":
            case "202":
                //---------------ICMS
                _modelpedidoItem.IcmsBase = _modelpedidoItem.Total;
                _modelpedidoItem.IcmsAliq = Validation.RoundAliquotas(_modelImposto.IcmsAliq / 100);
                _modelpedidoItem.IcmsVlr  = Validation.Round(_modelpedidoItem.IcmsBase * _modelpedidoItem.IcmsAliq);
                //---------------ICMS ST
                _modelpedidoItem.IcmsStBase =
                    Validation.Round(_modelpedidoItem.IcmsBase +
                                     _modelpedidoItem.IcmsBase * (_modelImposto.IcmsStIva / 100));
                _modelpedidoItem.IcmsStAliq = Validation.RoundAliquotas(_modelImposto.IcmsStAliq / 100);
                if (_modelImposto.IcmsStReducaoAliq > 0)
                {
                    _modelpedidoItem.IcmsStBase = Validation.Round(
                        _modelpedidoItem.IcmsStBase -
                        _modelpedidoItem.IcmsStBase * (_modelImposto.IcmsStReducaoAliq / 100));
                }
                _modelpedidoItem.Icmsstvlr =
                    Validation.Round(_modelpedidoItem.IcmsStBase * _modelpedidoItem.IcmsStAliq);

                //---------------ICMS ST - ICMS
                _modelpedidoItem.Icmsstvlr =
                    Validation.Round(_modelpedidoItem.Icmsstvlr - _modelpedidoItem.IcmsVlr);

                _modelpedidoItem.IcmsBase = 0;
                _modelpedidoItem.IcmsAliq = 0;
                _modelpedidoItem.IcmsVlr  = 0;
                break;

            case "900":
                break;

                #endregion SIMPLES NACIONAL

            default:

                _modelpedidoItem.IcmsBase = 0;
                _modelpedidoItem.IcmsAliq = 0;
                _modelpedidoItem.IcmsVlr  = 0;

                _modelpedidoItem.IcmsStAliq           = 0;
                _modelpedidoItem.IcmsStBase           = 0;
                _modelpedidoItem.IcmsStBaseComReducao = 0;
                _modelpedidoItem.IcmsStReducaoAliq    = 0;

                break;
            }

            if (_modelpedidoItem.IcmsAliq > 0)
            {
                _modelpedidoItem.IcmsAliq = _modelpedidoItem.IcmsAliq * 100;
            }

            if (_modelpedidoItem.IcmsStAliq > 0)
            {
                _modelpedidoItem.IcmsStAliq = _modelpedidoItem.IcmsStAliq * 100;
            }

            #endregion ICMS

            #region IPI

            _modelpedidoItem.Ipi = _modelImposto.Ipi;

            switch (_modelImposto.Ipi)
            {
            case "50":
            case "99":
                if (_modelImposto.IpiAliq > 0)
                {
                    _modelpedidoItem.IpiAliq = Validation.RoundAliquotas(_modelImposto.IpiAliq / 100);
                    _modelpedidoItem.IpiVlr  = Validation.Round(_modelpedidoItem.Total * _modelpedidoItem.IpiAliq);
                }

                break;

            default:
                _modelpedidoItem.Ipi     = "0";
                _modelpedidoItem.IpiAliq = 0;
                _modelpedidoItem.IpiVlr  = 0;
                break;
            }

            #endregion IPI

            #region PIS

            _modelpedidoItem.Pis = _modelImposto.Pis;

            switch (_modelImposto.Pis)
            {
            case "01":
            case "99":
                if (_modelImposto.PisAliq > 0)
                {
                    _modelpedidoItem.PisAliq = Validation.RoundAliquotas(_modelImposto.PisAliq / 100);
                    _modelpedidoItem.PisVlr  = Validation.Round(_modelpedidoItem.Total * _modelpedidoItem.PisAliq);
                }

                break;

            default:
                _modelpedidoItem.PisAliq = 0;
                _modelpedidoItem.PisVlr  = 0;
                break;
            }

            if (_modelpedidoItem.PisAliq > 0)
            {
                _modelpedidoItem.PisAliq = _modelpedidoItem.PisAliq * 100;
            }

            if (string.IsNullOrEmpty(_modelpedidoItem.Pis))
            {
                _modelpedidoItem.Pis = "0";
            }

            #endregion PIS

            #region COFINS

            _modelpedidoItem.Cofins = _modelImposto.Cofins;

            switch (_modelImposto.Cofins)
            {
            case "01":
            case "99":
                if (_modelImposto.CofinsAliq > 0)
                {
                    _modelpedidoItem.CofinsAliq = Validation.RoundAliquotas(_modelImposto.CofinsAliq / 100);
                    _modelpedidoItem.CofinsVlr  =
                        Validation.Round(_modelpedidoItem.Total * _modelpedidoItem.CofinsAliq);
                }

                break;

            default:
                _modelpedidoItem.CofinsAliq = 0;
                _modelpedidoItem.CofinsVlr  = 0;
                break;
            }

            if (_modelpedidoItem.CofinsAliq > 0)
            {
                _modelpedidoItem.CofinsAliq = _modelpedidoItem.CofinsAliq * 100;
            }

            if (string.IsNullOrEmpty(_modelpedidoItem.Cofins))
            {
                _modelpedidoItem.Cofins = "0";
            }

            #endregion COFINS

            #region vTotTrib

            _modelpedidoItem.Federal =
                Validation.Round(_modelpedidoItem.Total * Validation.Round(_modelItem.AliqFederal / 100));
            _modelpedidoItem.Estadual =
                Validation.Round(_modelpedidoItem.Total * Validation.Round(_modelItem.AliqEstadual / 100));
            _modelpedidoItem.Municipal =
                Validation.Round(_modelpedidoItem.Total * Validation.Round(_modelItem.AliqMunicipal / 100));

            #endregion vTotTrib

            _modelpedidoItem.Save(_modelpedidoItem);
        }