コード例 #1
0
        private EmitirPedidoItemDto EmissaoPedidoAdd(InfoPlaDto plaDto, ItemCarrinhoDetalhe itemCarrinho)
        {
            var emitirPedidoitem = new EmitirPedidoItemDto();

            emitirPedidoitem.Id = itemCarrinho.Id;
            //receiverCorresps.Where(p => p.Description == receiverCorrespsMapped).Select(p => p.Id).First()
            emitirPedidoitem.CodigoRecebedor    = plaDto.ReceiverCorresp.Where(p => p.Description == plaDto.ReceiverMapped).Select(p => p.Id).First();
            emitirPedidoitem.CodigoLocalEntrega = plaDto.PlacerMapped == null ? null : plaDto.PlaceCorresp.Where(p => p.Description == plaDto.PlacerMapped).Select(p => p.Id).First();
            emitirPedidoitem.Comprimento        = decimal.Parse(plaDto.detalheItem.Comprimento);
            emitirPedidoitem.Largura            = decimal.Parse(plaDto.detalheItem.Largura);
            emitirPedidoitem.Espessura          = decimal.Parse(plaDto.detalheItem.Espessura);
            emitirPedidoitem.Norma = plaDto.detalheItem.Qualidade;

            emitirPedidoitem.DataDesejada       = itemCarrinho.DisponPeriodo;
            emitirPedidoitem.DataDesejadaFormat = null;

            emitirPedidoitem.QuantidadeDesejada = itemCarrinho.DispToneleagem;
            //emitirPedidoitem.QuantidadeDesejadaEspecifica = false;
            emitirPedidoitem.PartNumber = plaDto.RefClient;

            emitirPedidoitem.Usuario       = auth.CurrentClient;
            emitirPedidoitem.CodigoEmissor = auth.CurrentClient;
            //////////////
            emitirPedidoitem.Dimensional = null;
            return(emitirPedidoitem);
        }
コード例 #2
0
        private EmitirPedidoItemDto EmissaoPedidoAdd(InfoPlaDto plaDto, int id, DateTime periodoDesejado, decimal tonelagem)
        {
            var emitirPedidoitem = new EmitirPedidoItemDto();

            emitirPedidoitem.Id = id;
            //receiverCorresps.Where(p => p.Description == receiverCorrespsMapped).Select(p => p.Id).First()
            emitirPedidoitem.CodigoRecebedor    = plaDto.ReceiverCorresp.Where(p => p.Description == plaDto.ReceiverMapped).Select(p => p.Id).First();
            emitirPedidoitem.CodigoLocalEntrega = plaDto.PlacerMapped == null ? null : plaDto.PlaceCorresp.Where(p => p.Description == plaDto.PlacerMapped).Select(p => p.Id).First();
            emitirPedidoitem.Comprimento        = decimal.Parse(plaDto.detalheItem.Comprimento);
            emitirPedidoitem.Largura            = decimal.Parse(plaDto.detalheItem.Largura);
            emitirPedidoitem.Espessura          = decimal.Parse(plaDto.detalheItem.Espessura);
            emitirPedidoitem.Norma              = plaDto.detalheItem.Qualidade;
            emitirPedidoitem.multiplo           = plaDto.minimoMultiplo.MED_PesoMult;
            emitirPedidoitem.DataDesejada       = periodoDesejado;
            emitirPedidoitem.DataDesejadaFormat = null;
            emitirPedidoitem.DataAceite         = plaDto.DataAceite.DataCompleta;
            emitirPedidoitem.QuantidadeDesejada = tonelagem;
            //emitirPedidoitem.QuantidadeDesejadaEspecifica = false;
            emitirPedidoitem.PartNumber = plaDto.RefClient;

            emitirPedidoitem.Usuario       = auth.CurrentClient;
            emitirPedidoitem.CodigoEmissor = auth.CurrentClient;
            //////////////
            emitirPedidoitem.Dimensional = null;
            return(emitirPedidoitem);
        }
コード例 #3
0
        private void TabPopulateItens()
        {
            GridCarrinho.Rows.Clear();
            TabQuantTotalItens    = 0;
            TabQuantTotalTonoDese = 0;
            TabQuantTotalTonoDisp = 0;
            TabidCarrinhoItem     = 1;
            TabemitirPedidoList   = new List <EmitirPedidoItemDto>();
            infoPlaDtos.OrderBy(p => p.RefClient).ThenBy(p => p.dataSelecionada);
            dtp = new DateTimePicker();
            GridCarrinho.Controls.Add(dtp);
            dtp.Visible       = false;
            dtp.Format        = DateTimePickerFormat.Custom;
            dtp.ValueChanged += new EventHandler(dtp_TextChange);
            //dtp.TextChanged += new EventHandler(dtp_TextChange);


            int        i            = 0;
            InfoPlaDto itemAnterior = new InfoPlaDto();

            foreach (var item in infoPlaDtos)
            {
                //Debug.WriteLine(item.ToString() + " - " + item.DataAceite.ToString() + " - " + item.minimoMultiplo.ToString());
                //popula o carrinho de acordo com o decendio
                if (item.RefClient == itemAnterior.RefClient)
                {
                    if (item.D1 != "" && item.D1 != "0")
                    {
                        addItemPedido(item, "D2");
                    }
                    if (item.D2 != "" && item.D2 != "0")
                    {
                        addItemPedido(item, "D2");
                    }
                    if (item.D3 != "" && item.D3 != "0")
                    {
                        addItemPedido(item, "D3");
                    }
                }
                else
                {
                    if (item.D1 != "" && item.D1 != "0")
                    {
                        addItemPedido(item, "D1");
                    }
                    if (item.D2 != "" && item.D2 != "0")
                    {
                        addItemPedido(item, "D2");
                    }
                    if (item.D3 != "" && item.D3 != "0")
                    {
                        addItemPedido(item, "D3");
                    }
                }
                itemAnterior = item;
                i++;
            }
            PreencherMultiplo();
        }
コード例 #4
0
        /// <summary>
        /// lista o de para de nomes que vao aparecer na coluna e do grid
        /// </summary>
        /// <returns></returns>
        public static Dictionary <string, string> ListNameClassSalesDto()
        {
            Dictionary <string, string> SetListNameClass = new Dictionary <string, string>();
            InfoPlaDto sale   = new InfoPlaDto();
            int        indice = 0;

            foreach (var item in sale.GetType().GetProperties().Select(f => f.Name).ToList())
            {
                switch (item)
                {
                case "RefClient":
                    SetListNameClass.Add(item, "Part Number");
                    break;

                case "Receiver":
                    SetListNameClass.Add(item, "Recebedor");
                    break;

                case "ReceiverCorresp":
                    SetListNameClass.Add(item, "Recebedor Map");
                    break;

                case "Place":
                    SetListNameClass.Add(item, "Beneficiador");
                    break;

                case "PlaceCorresp":
                    SetListNameClass.Add(item, "Beneficiador Map");
                    break;

                case "Mensagem":
                    SetListNameClass.Add(item, "Mensagem");
                    break;

                case "D1":
                    SetListNameClass.Add(item, "D1");
                    break;

                case "D2":
                    SetListNameClass.Add(item, "D2");
                    break;

                case "D3":
                    SetListNameClass.Add(item, "D3");
                    break;

                case "DesiredPeriod":
                    SetListNameClass.Add(item, "Periodo");
                    break;

                case "Validado":
                    SetListNameClass.Add(item, "Validado");
                    break;
                }
            }
            //Mensagem
            return(SetListNameClass);
        }
コード例 #5
0
        private void PopularDados(InfoPlaDto parametro)
        {
            //define tonelagem disponivel
            DisponDecendioList = new List <string>();
            DisponDecendioList.Add("D1");
            DisponDecendioList.Add("D2");
            DisponDecendioList.Add("D3");

            OvCbIcDecendio.DataSource   = DisponDecendioList;
            OvCbIcDecendio.SelectedItem = DispDecendio;

            if (placeCorresps != null)
            {
                OvCbIcBeneficiador.DisplayMember = "Description";
                OvCbIcBeneficiador.ValueMember   = "Id";
                OvCbIcBeneficiador.DataSource    = placeCorresps;
                OvCbIcBeneficiador.SelectedValue = placeCorrespsMapped == null ? "0" : placeCorresps.Where(p => p.Description == placeCorrespsMapped).Select(p => p.Id).First();
            }

            OvCbIcRecebedor.DisplayMember = "Description";
            OvCbIcRecebedor.ValueMember   = "Id";
            OvCbIcRecebedor.DataSource    = receiverCorresps;
            OvCbIcRecebedor.SelectedValue = receiverCorrespsMapped == null ? "0" : receiverCorresps.Where(p => p.Description == receiverCorrespsMapped).Select(p => p.Id).First();

            // parametros de tonelagem
            OvNuIcMultTonelage.Increment = DisponMultiplo;
            OvNuIcMultTonelage.Minimum   = DisponMultiplo;
            OvNuIcMultTonelage.Maximum   = 10000;

            if (DisponMultiplo >= DesejToneleagem)
            {
                OvNuIcMultTonelage.Value = DisponMultiplo;
            }
            else
            {
                //quando a tonelagem for maior que o multiplo, arredonda para cima o proximo valor do multiplo
                OvNuIcMultTonelage.Value = (Math.Ceiling((DesejToneleagem / DisponMultiplo))) * DisponMultiplo;
            }
            TonelagemAtualizar();
            //parametro de data de aceite
            OvDtAceiteDisp.MinDate = parametro.DataAceite.DataCompleta;

            if (DeseDt <= parametro.DataAceite.DataCompleta)
            {
                OvDtAceiteDisp.Value = parametro.DataAceite.DataCompleta;
            }
            else
            {
                OvDtAceiteDisp.Value = DeseDt;
            }

            DataAtualizar();
            RecebedorAlterar();
            BeneficiadorAlterar();
            OvLbIcDecendioMap.Text = DesejDecendio;
            OvLbIcTonelageMap.Text = DesejToneleagem.ToString();
            OvLbIcMesMap.Text      = DesejPeriodo;
        }
コード例 #6
0
        private void DadosDesejado(InfoPlaDto parametro, string Decendio, int Id)
        {
            this.Id       = Id;
            this.IdPai    = parametro.Id;
            DesejDecendio = Decendio;
            switch (Decendio)
            {
            case "D1":
                DesejToneleagem = decimal.Parse(parametro.D1);
                DeseDt          = DateTime.ParseExact("01/" + parametro.DesiredPeriod.ToString(), "dd/MM/yyyy", CultureInfo.InvariantCulture);
                break;

            case "D2":
                DesejToneleagem = decimal.Parse(parametro.D2);
                DeseDt          = DateTime.ParseExact("11/" + parametro.DesiredPeriod.ToString(), "dd/MM/yyyy", CultureInfo.InvariantCulture);
                break;

            case "D3":
                DesejToneleagem = decimal.Parse(parametro.D3);
                DeseDt          = DateTime.ParseExact("21/" + parametro.DesiredPeriod.ToString(), "dd/MM/yyyy", CultureInfo.InvariantCulture);
                break;
            }

            DesejPeriodo           = parametro.DesiredPeriod;
            receiverCorresps       = parametro.ReceiverCorresp;
            receiverCorrespsMapped = parametro.ReceiverMapped;

            if (parametro.PlaceCorresp.Count > 0)
            {
                placeCorrespsMapped = parametro.PlacerMapped;
                placeCorresps       = parametro.PlaceCorresp;
            }
            else
            {
                placeCorresps = new List <PlaceCorresp>();
            }
            ///// dados da API
            var decendioconvert = Convert.ToInt32(parametro.DataAceite.Decendio);

            if (decendioconvert >= 1 && decendioconvert <= 10)
            {
                DispDecendio = "D1";
            }
            else if (decendioconvert >= 11 && decendioconvert <= 20)
            {
                DispDecendio = "D2";
            }
            else if (decendioconvert >= 21 && decendioconvert <= 31)
            {
                DispDecendio = "D3";
            }
            DisponMultiplo = parametro.minimoMultiplo.MED_PesoMult;
            PopularDados(parametro);
        }
コード例 #7
0
        private void addItemPedido(InfoPlaDto item, string decendio)
        {
            ItemCarrinhoDetalhe itemCarrinhoDetalhe = new ItemCarrinhoDetalhe();

            itemCarrinhoDetalhe.Popular(item, decendio, idCarrinhoItem);

            itemCarrinhoDetalhe.ButtonClick += ItemCarrinhoDetalhe_ButtonClick;

            TotalizadoresInit(itemCarrinhoDetalhe);
            flowLayoutPanelCarrinho.Controls.Add(itemCarrinhoDetalhe);
            //item.QuantidadeSelecionada = itemCarrinhoDetalhe.DispToneleagem;
            //item.dataSelecionada = itemCarrinhoDetalhe.DisponPeriodo;
            emitirPedidoList.Add(EmissaoPedidoAdd(item, itemCarrinhoDetalhe));
            idCarrinhoItem += 1;
        }
        public List <InfoPlaDto> GetDataforAdress(SalesDto salesdto, DateTime dtPedido, List <PlaceCorresp> placeCorresp, List <ReceiverCorresp> receiverCorresp)
        {
            var infoscells           = ConvertRangeToArray(salesdto);
            List <InfoPlaDto> values = new List <InfoPlaDto>();


            int  contar = 0;
            bool repet  = true;


            while (repet == true)
            {
                InfoPlaDto infoPlaDto = new InfoPlaDto();

                foreach (var item in infoscells)
                {
                    var Valor = GetValueCell(item.Item2 + contar, item.Item3);
                    switch (item.Item1)
                    {
                    case "Place":
                        infoPlaDto.Place = Valor;
                        break;

                    case "Receiver":
                        infoPlaDto.Receiver = Valor;
                        break;

                    case "RefClient":
                        infoPlaDto.RefClient = Valor;
                        break;

                    case "D1":
                        infoPlaDto.D1 = Valor;
                        break;

                    case "D2":
                        infoPlaDto.D2 = Valor;
                        break;

                    case "D3":
                        infoPlaDto.D3 = Valor;
                        break;

                    default:
                        break;
                    }
                    //sempre adiciona o valor da data do pedido
                    infoPlaDto.DesiredPeriod = dtPedido.ToString("MM/yyyy");
                }

                //entender se é para filtrar os dados ou apenas retornar o erro

                //insere a lista de recebedores
                infoPlaDto.ReceiverCorresp.AddRange(receiverCorresp);
                if (infoPlaDto.D1 == "" && infoPlaDto.D2 == "" && infoPlaDto.D3 == "")
                {
                    contar += 1;
                    if (infoPlaDto.RefClient == "" && infoPlaDto.Receiver == "")
                    {
                        repet = false;
                    }
                }
                else
                {
                    //insere a lista de beneficiadores, caso exitir
                    if (infoPlaDto.Place != "" || infoPlaDto.Place != null)
                    {
                        infoPlaDto.PlaceCorresp.AddRange(placeCorresp);
                    }

                    if (infoPlaDto.RefClient != "" && infoPlaDto.Receiver != "")
                    {
                        values.Add(infoPlaDto);
                    }
                    else
                    {
                        repet = false;
                    }
                    contar       += 1;
                    infoPlaDto.Id = contar;
                }
            }
            return(values);
        }
コード例 #9
0
        private void PopulateItens()
        {
            flowLayoutPanelCarrinho.Controls.Clear();
            //flowLayoutPanelCarrinho.Click += new System.EventHandler();

            //foreach (var item in infoPlaDtos)
            //{
            //    Debug.WriteLine(item.ToString() + " - " + item.DataAceite.ToString() + " - " + item.minimoMultiplo.ToString());
            //}
            QuantTotalItens    = 0;
            QuantTotalTonoDese = 0;
            QuantTotalTonoDisp = 0;
            emitirPedidoList   = new List <EmitirPedidoItemDto>();

            infoPlaDtos.Sort((x, y) => x.RefClient.CompareTo(y.RefClient));

            int        i            = 0;
            InfoPlaDto itemAnterior = new InfoPlaDto();

            foreach (var item in infoPlaDtos)
            {
                Debug.WriteLine(item.ToString() + " - " + item.DataAceite.ToString() + " - " + item.minimoMultiplo.ToString());
                //popula o carrinho de acordo com o decendio
                if (item.RefClient == itemAnterior.RefClient)
                {
                    if (item.D1 != "" && item.D1 != "0")
                    {
                        addItemPedido(item, "D2");
                    }
                    if (item.D2 != "" && item.D2 != "0")
                    {
                        addItemPedido(item, "D2");
                    }
                    if (item.D3 != "" && item.D3 != "0")
                    {
                        addItemPedido(item, "D3");
                    }
                }
                else
                {
                    var Cabecalho = new ItemCarrinho();
                    Cabecalho.DetalCabecalho = item.detalheItem.ToString();
                    Cabecalho.DetalParNumber = item.RefClient;
                    flowLayoutPanelCarrinho.Controls.Add(Cabecalho);
                    if (item.D1 != "" && item.D1 != "0")
                    {
                        addItemPedido(item, "D1");
                    }
                    if (item.D2 != "" && item.D2 != "0")
                    {
                        addItemPedido(item, "D2");
                    }
                    if (item.D3 != "" && item.D3 != "0")
                    {
                        addItemPedido(item, "D3");
                    }
                }


                itemAnterior = item;
                i++;
            }
        }
コード例 #10
0
 public void Popular(InfoPlaDto parametro, string Decendio, int Id)
 {
     DadosDesejado(parametro, Decendio, Id);
 }
コード例 #11
0
        private void addItemPedido(InfoPlaDto item, string decendio)
        {
            decimal  DesejToneleagem = 0;
            DateTime DeseDt          = new DateTime();

            switch (decendio)
            {
            case "D1":
                DesejToneleagem = decimal.Parse(item.D1);
                DeseDt          = DateTime.ParseExact("01/" + item.DesiredPeriod.ToString(), "dd/MM/yyyy", CultureInfo.InvariantCulture);
                break;

            case "D2":
                DesejToneleagem = decimal.Parse(item.D2);
                DeseDt          = DateTime.ParseExact("11/" + item.DesiredPeriod.ToString(), "dd/MM/yyyy", CultureInfo.InvariantCulture);
                break;

            case "D3":
                DesejToneleagem = decimal.Parse(item.D3);
                DeseDt          = DateTime.ParseExact("21/" + item.DesiredPeriod.ToString(), "dd/MM/yyyy", CultureInfo.InvariantCulture);
                break;
            }

            string DispDecendio    = null;
            var    decendioconvert = Convert.ToInt32(item.DataAceite.Decendio);

            if (decendioconvert >= 1 && decendioconvert <= 10)
            {
                DispDecendio = "D1";
            }
            else if (decendioconvert >= 11 && decendioconvert <= 20)
            {
                DispDecendio = "D2";
            }
            else if (decendioconvert >= 21 && decendioconvert <= 31)
            {
                DispDecendio = "D3";
            }

            decimal DisponMultiplo          = item.minimoMultiplo.MED_PesoMult;
            decimal DisponMultiploPreencher = 0;

            if (DisponMultiplo >= DesejToneleagem)
            {
                DisponMultiploPreencher = DisponMultiplo;
            }
            else
            {
                //quando a tonelagem for maior que o multiplo, arredonda para cima o proximo valor do multiplo
                DisponMultiploPreencher = (Math.Ceiling((DesejToneleagem / DisponMultiplo))) * DisponMultiplo;
            }
            string dtDisponivel = DeseDt >= item.DataAceite.DataCompleta ? DeseDt.ToShortDateString() : item.DataAceite.DataCompleta.ToShortDateString();

            GridCarrinho.Rows.Add(item.Id, item.RefClient, item.detalheItem.ToString(), decendio, DeseDt.ToShortDateString(), DesejToneleagem.ToString(), DispDecendio,
                                  dtDisponivel, DisponMultiploPreencher, item.ReceiverMapped, item.PlacerMapped, TabidCarrinhoItem);

            TabemitirPedidoList.Add(EmissaoPedidoAdd(item, TabidCarrinhoItem, item.DataAceite.DataCompleta, DisponMultiploPreencher));
            TabidCarrinhoItem     += 1;
            TabQuantTotalItens    += 1;
            TabQuantTotalTonoDese += DesejToneleagem;
            TabQuantTotalTonoDisp += DisponMultiploPreencher;
            TabTotalizadoresInit();
        }