コード例 #1
0
        private void UpdateRoteiro()
        {
            using (var connection = DbConnectionFactory.GetInstance())
            {
                var query = @"update RoteirosColeta
                                set OrdemSeg = case when OrdemSeg is null then OrdemSeg else @ordem end,
                                    OrdemTer = case when OrdemTer is null then OrdemTer else @ordem end,
                                    OrdemQua = case when OrdemQua is null then OrdemQua else @ordem end,
                                    OrdemQui = case when OrdemQui is null then OrdemQui else @ordem end,
                                    OrdemSex = case when OrdemSex is null then OrdemSex else @ordem end,
                                    OrdemSab = case when OrdemSab is null then OrdemSab else @ordem end,
                                    OrdemDom = case when OrdemDom is null then OrdemDom else @ordem end
                                where id = @Id";

                foreach (var item in roteiros.Where(x => x.NovaOrdemTer != x.OrdemTer))
                {
                    try
                    {
                        connection.Execute(query, new { item.Id, ordem = item.NovaOrdemTer });
                    }
                    catch (Exception ex)
                    {
                    }
                }
            }
        }
コード例 #2
0
        static void Main(string[] args)
        {
            int           idx  = 0;
            IDbConnection conn = null;

            try
            {
                var ini = DateTime.Now;
                //var count = 0;
                using (conn = DbConnectionFactory.GetInstance())
                {
                    //count = conn.QuerySingle<int>("select count(*) from PlanejadoVsRealizado");

                    while (true)
                    {
                        Console.Write("Obtendo registros");
                        var lst = conn.Query <PlanejadoVsRealizado>(@"select top 10 Id=PlanejadoVsRealizadoId
                        from PlanejadoVsRealizadoRoteiro
                        group by PlanejadoVsRealizadoId
                        having COUNT(*) <> MAX(OrdemRoteiro)", commandTimeout: int.MaxValue).ToList();
                        Console.WriteLine(" - obtidos");
                        if (lst.Count == 0)
                        {
                            break;
                        }

                        foreach (var item in lst)
                        {
                            Console.Write("{0}º fazendo", ++idx);
                            var id = item.Id;
                            conn.Execute(@"update PlanejadoVsRealizadoRoteiro
                                            set OrdemRoteiro = tab.OrdemRoteiro
                                            from
                                            (
	                                            select id, OrdemRoteiro = ROW_NUMBER() OVER(ORDER BY HorarioPlanejado, OrdemRoteiro)
	                                            from PlanejadoVsRealizadoRoteiro
	                                            where PlanejadoVsRealizadoId = @id
                                            ) tab
                                            where PlanejadoVsRealizadoRoteiro.Id = tab.Id", new { id });
                            Console.WriteLine(" - feito");
                        }
                    }
                }
                var fim = DateTime.Now;
                Console.WriteLine("{0} - {1} - {2}", ini, fim, fim.Subtract(ini));
            }
            catch (Exception ex)
            {
                Console.WriteLine();
                Console.WriteLine("Erro: " + ex.Message);
            }
            finally
            {
                if (conn.State == ConnectionState.Open)
                {
                    conn.Close();
                }
                Console.ReadKey();
            }
        }
コード例 #3
0
        private List <RoteirosColeta> ObterRoteiros()
        {
            List <RoteirosColeta> ret = null;
            var query = @"select *
                            from RoteirosColeta
                            where TipoColeta = @tipoColeta
                              and Setor = @setor
                              and OrdemTer is not null
                            order by OrdemTer";

            using (var connection = DbConnectionFactory.GetInstance())
            {
                ret = connection.Query <RoteirosColeta>(query, new { tipoColeta, setor }).ToList();
            }

            return(ret);
        }
コード例 #4
0
        private void CreateRoteiro()
        {
            Cursor.Current = Cursors.WaitCursor;
            try
            {
                using (var connection = DbConnectionFactory.GetInstance())
                {
                    var queryDel = @"delete from RoteirosColeta where setor = @setor";
                    connection.Execute(queryDel, new { setor = txtNovoSetor.Text });

                    var query = @"insert into RoteirosColeta (CEPD,CEPE,Tipo,Titulo,Preposicao,Logradouro,Inicio,Fim,Distrito,SubPrefeitura,Frequencia,HorarioSeg,HorarioTer,HorarioQua,HorarioQui,HorarioSex,HorarioSab,HorarioDom,TipoColeta,Longitude,Latitude,Setor,NumeroIniD,NumeroFimD,NumeroIniE,NumeroFimE,DataAlteracao,IdMaptitude,TurnoOperacionalId,Lat,Lng,FormaColeta,OrdemSeg,OrdemTer,OrdemQua,OrdemQui,OrdemSex,OrdemSab,OrdemDom)
                             select CEPD,CEPE,Tipo,Titulo,Preposicao,Logradouro,Inicio,Fim,Distrito,SubPrefeitura,Frequencia,HorarioSeg,HorarioTer,HorarioQua,HorarioQui,HorarioSex,HorarioSab,HorarioDom,TipoColeta,Longitude,Latitude,@setor,NumeroIniD,NumeroFimD,NumeroIniE,NumeroFimE,DataAlteracao,IdMaptitude,TurnoOperacionalId,Lat,Lng,FormaColeta,
                                    case when OrdemSeg is null then OrdemSeg else @ordem end,
                                    case when OrdemTer is null then OrdemTer else @ordem end,
                                    case when OrdemQua is null then OrdemQua else @ordem end,
                                    case when OrdemQui is null then OrdemQui else @ordem end,
                                    case when OrdemSex is null then OrdemSex else @ordem end,
                                    case when OrdemSab is null then OrdemSab else @ordem end,
                                    case when OrdemDom is null then OrdemDom else @ordem end
                               from RoteirosColeta
                              where id = @Id";

                    foreach (var item in roteiros)
                    {
                        try
                        {
                            connection.Execute(query, new { item.Id, ordem = item.NovaOrdemTer, setor = txtNovoSetor.Text });
                        }
                        catch (Exception ex)
                        {
                        }
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                Cursor.Current = Cursors.Default;
            }
        }