Beispiel #1
0
        private Custeio indexarDados(Custeio custeio)
        {
            //indexar


            return(custeio);
        }
Beispiel #2
0
        private Custeio indexarDados()
        {
            string container     = textEditContainer.Text;
            var    qtdeContainer = ParseUtil.ToInt(textEditQtdeContainer.Text);
            var    capatazia     = ParseUtil.ToDecimal(textEditCapatazia.Text);
            CliFor cliFor        = lookUpCliFor1.CliFor;
            string exportador    = textEditExportador.Text;
            string fabricante    = textEditFabricante.Text;
            string cotacao       = radioGroupCotacao.Text;
            string unidadeMed    = cbUnidadeMed.Text;
            string transporte    = cbTransporte.Text;
            var    cotacaoMoeda  = _cotacoes.IsValidIndex(0) ? _cotacoes.First().ValorMoeda : 0M;
            string moedas        = cbMoedas.Text;
            string paisDestino   = cbPaisDestino.Text;
            string paisOrigem    = cbPaisOrigem.Text;
            string moEditObs     = memoEditObs.Text;
            string destino       = textEditDestino.Text;
            string origem        = textEditOrigem.Text;

            Custeio c = new Custeio()
            {
                ValorMoedaEstrangeira = cotacaoMoeda,

                Container         = container,
                QuantideContainer = qtdeContainer,
                ValorCapatazia    = capatazia,
                Cliente           = cliFor,
                IdCliente         = cliFor.IdCliFor,
                Exportador        = exportador,
                Fabricante        = fabricante,
                PaisDestino       = paisDestino,
                PaisOrigem        = paisOrigem,
                Observacao        = moEditObs,
                PortoOrigem       = origem,
                PortoDestino      = destino,
                DataCalculo       = dtPickerData.Value,
                DespesasCusteio   = _despesas,
                ItensCusteio      = _mercadorias
                                    //Moedas = _cotacoes
            };

            c.ICMSTotal     = c.CalcICMSTotalBrl();
            c.ICMSSTTotal   = c.CalcICMSSTTotalBrl();
            c.IPITotal      = c.CalcIPITotalBrl();
            c.IITotal       = c.CalcIITotalBrl();
            c.PISTotal      = c.CalcPISTotalBrl();
            c.CofinsTotal   = c.CalcCofinsTotalBrl();
            c.ValorFobTotal = c.CalcFobTotal();

            c.TotalCusteio          = c.CalcTotalCusteioReais();
            c.ValorMoedaEstrangeira = c.CalcTotalCusteioME();

            return(c);
        }
Beispiel #3
0
        public bool Save(Custeio novo)
        {
            using (var ctx = new BalcaoContext())
            {
                //cancelando a referencia dos produtos do itens
                //referencia cancelada para save
                //pq os itens vieram de outro form
                //e nao fazem parte deste contexto
                novo.Usuario = null;

                novo.Cliente = null;

                return(ctx.CusteioDao.Save(novo));
            }
        }
Beispiel #4
0
 /// <summary>
 /// Salva ou atualiza a Custeio
 /// </summary>
 /// <param name="novo"></param>
 /// <returns></returns>
 public void SaveUpdate(Custeio novo)
 {
     if (novo.IdCusteio != 0)
     {
         if (Update(novo))
         {
             XMessageIts.Mensagem("Custeio atualizado.");
         }
     }
     else
     {
         if (Save(novo))
         {
             XMessageIts.Mensagem("Custeio salvo.");
         }
     }
 }
Beispiel #5
0
 public static Custeio FindCusteio(Custeio ci)
 {
     using (var ctx = new BalcaoContext(false))
     {
         try
         {
             return(ctx.Custeios
                    .Include(c => c.Cliente)
                    .Include(c => c.Usuario)
                    .Include(c => c.DespesasCusteio)
                    .Include(c => c.ItensCusteio)
                    .First(c => c.IdCusteio == ci.IdCusteio));
         }
         catch (Exception)
         {
             return(null);
         }
     }
 }
Beispiel #6
0
        private void UpdateMercadorias(Custeio novo, Custeio current)
        {
            var itensCurrent = current.ItensCusteio;

            //atualize as mercadorias
            foreach (var newItem in novo.ItensCusteio)
            {
                if (newItem.IdItemCusteio < 1)
                {
                    current.ItensCusteio.Add(newItem);
                }
                else
                {
                    var itemCurrent = itensCurrent.Where(i => i.IdItemCusteio == newItem.IdItemCusteio)
                                      .First();

                    itemCurrent.Update(newItem);
                }
            }
        }
Beispiel #7
0
        private void UpdateCotacoes(Custeio novo, Custeio current)
        {
            var itensCurrent = current.CotacoesMoeda;

            //atualize as despesas
            foreach (var newItem in novo.CotacoesMoeda)
            {
                if (newItem.IdCotacaoCusteio < 1)
                {
                    current.CotacoesMoeda.Add(newItem);
                }
                else
                {
                    var itemCurrent = itensCurrent.Where(i => i.IdCotacaoCusteio == newItem.IdCotacaoCusteio)
                                      .First();

                    itemCurrent.Update(newItem);
                }
            }
        }
Beispiel #8
0
        /// <summary>
        /// Atualiza a cotação remove ou insere itens quando necessário
        /// </summary>
        /// <param name="novo"></param>
        /// <returns></returns>
        public bool Update(Custeio novo)
        {
            using (var ctx = new BalcaoContext())
            {
                //atualizando o contexto
                var current = ctx.CusteioDao.Find(novo.IdCusteio);

                //atualiza os dados da Custeio
                current.Update(novo);

                //update mercadorias
                UpdateMercadorias(novo, current);

                //udpate despesas
                UpdateDespesas(novo, current);

                //udpate cotações
                UpdateCotacoes(novo, current);

                //efetiva a transação
                return(ctx.CusteioDao.Update(current));
            }
        }
Beispiel #9
0
 public XFrmCusteio(Custeio custeio) : this(custeio.Usuario)
 {
     this._custeio = indexarDados(custeio);
 }
Beispiel #10
0
        public static void testeSave()
        {
            using (var ctx = new BalcaoContext())
            {
                var custeio = new Custeio
                {
                    IdCliente             = ctx.CliForDao.First().IdCliFor,
                    IdUsuario             = ctx.UsuarioDao.First().IdUsuario,
                    DataCalculo           = DateTime.Now,
                    NumeroProcesso        = "ITS0001",
                    ValorFobTotal         = 100,
                    ValorCapatazia        = 800,
                    ValorCif              = 100,
                    Fabricante            = "RF Valves, Hanover, MD, USA – 21079",
                    Exportador            = "RF Valves, Hanover, MD, USA – 21079",
                    Incoterms             = "N/A",
                    PortoOrigem           = "BALTIMORE",
                    PortoDestino          = "SANTOS",
                    PaisOrigem            = "UNITED STATE",
                    PaisDestino           = "GERMANY",
                    Observacao            = "NADA A DECLARAR",
                    ValorMoedaReais       = 3.254m,
                    ValorMoedaEstrangeira = 1,
                    QuantideContainer     = 1,
                    Container             = "20 DRY",
                    PISTotal              = 10,
                    CofinsTotal           = 10,
                    ICMSTotal             = 10,
                    IITotal      = 10,
                    IPITotal     = 10,
                    ICMSSTTotal  = 100,
                    TotalCusteio = 100
                };

                custeio.ItensCusteio.Add(new ItemCusteio("84818093",
                                                         "Vale VGR (Progen) - RFV1976 - PFF Filtration",
                                                         1000, 1, 10, 100, 3.254M, 18, 18, 1, 18
                                                         ));

                custeio.DespesasCusteio.Add(new DespesaCusteio("Frete Internacional", 575, 0, TypeDespesaCusteio.Aduaneira));

                custeio.CotacoesMoeda.Add(new CotacaoCusteio()
                {
                    IdMoeda     = 1,
                    ValorMoeda  = 3.33m,
                    DataCotacao = DateTime.Now.Date,
                    TipoCotacao = TypeTipoCotacao.Outras
                });

                var manager = new CusteioDaoManager();
                manager.SaveUpdate(custeio);

                var current = ctx.CusteioDao.Last();


                custeio.ItensCusteio.Add(new ItemCusteio("84818093",
                                                         "Vale VGR (Progen) - RFV1976 - PFF Filtration",
                                                         1000, 1, 10, 100, 3.254M, 18, 18, 1, 18
                                                         ));

                custeio.DespesasCusteio.Add(new DespesaCusteio("Seguro",
                                                               360, 0, TypeDespesaCusteio.Aduaneira));


                manager.SaveUpdate(current);
            }
        }