Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Revolutionswars

[Resolvido] Duplicar registro

Recommended Posts

Boa tarde Galera ...

Estou precisando de uma maozinha de vcs...

sou novo na programa csharp..

A ajuda que preciso é a seguinte....

Tenho um form com algumas informacoes e tambem tem a data inicial e data final...

Preciso que quando coloco as informacoes e datai e dataf e clico em salvar ele me duplica essae informacoes ate a datafinal..

Ex:

textbox 1

textbox 2

textbox 3

datai 10/03/2011

dataf 10/10/2011

 

Quando mandar salvar

primeiro registro

textbox 1

textbox 2

textbox 3

datai 10/03/2011

 

segundo registro

textbox 1

textbox 2

textbox 3

datai 10/04/2011

 

terceiro registro

textbox 1

textbox 2

textbox 3

datai 10/05/2011

 

e assim ate chegar ao final...

Por favor alguem pode me ajudar...

Muito grato..

 

Revolutionswars..

Compartilhar este post


Link para o post
Compartilhar em outros sites

E ai Revolutionswars, beleza...

 

Cara também iniciei a pouco tempo com c# e aqui no meu estágio me deparei com uma situação parecida!

 

para aumentar ou diminuir uma data você pode usado os métodos

AddDays()

AddHours()

AddMilliseconds()

AddMinutes()

AddMonths()

AddSeconds()

AddTicks()

AddYears()

 

Depois dá uma olhada nesse link, lá você pode vê o que cada método faz.

http://msdn.microsof...me_methods.aspx

 

O método AddMonths() recebe um valor que é a quantidade de meses que vai ser acrescida a data.

 

Com isso você pode fazer um for para inserir os dados e a cada iteração adicionar um mês.

 

mais ou menos assim:

 

 for (int i = 0; i < data.Month; i++)
           {
               //demais dados para inserir.
               data.AddMonths(i);
               // Parando a loop quando chegar mês = 12.
               if (data.Month + i == 12)
                   break;
           }

 

 

Espero ter ajudado!

Abraço...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu respondi isso em outro fórum rs...

mas vou postar aqui também ;D

 

Primeira coisa que fiz, foi criar uma classe internal só para testes, mas pode criar no arquivo de sua preferência.

   internal class seuTeste
   {
       #region Atributos
       private int id;
       private String strTextBox1;
       private String strTextBox2;
       private String strTextBox3;
       private DateTime? dtmDataInicio;
       private DateTime? dtmDataFinal; 
       #endregion

       #region Propriedades
       public int Id
       {
           get { return id; }
           set { id = value; }
       }
       public DateTime? DtmDataFinal
       {
           get { return dtmDataFinal; }
           set { dtmDataFinal = value; }
       }
       public DateTime? DtmDataInicio
       {
           get { return dtmDataInicio; }
           set { dtmDataInicio = value; }
       }
       public String StrTextBox3
       {
           get { return strTextBox3; }
           set { strTextBox3 = value; }
       }
       public String StrTextBox2
       {
           get { return strTextBox2; }
           set { strTextBox2 = value; }
       }
       public String StrTextBox1
       {
           get { return strTextBox1; }
           set { strTextBox1 = value; }
       } 
       #endregion

       internal static void Salvar(seuTeste st)
       {
           //Aqui você implementa seu método de salvar
       }
   }

 

Agora cria uma ação que será executada ao clicar do botão de salvar.

       protected void btnSalvar_Click(object sender, EventArgs e)
       {
           DateTime dtmFinal = Convert.ToDateTime(DataFinal.Text);
           DateTime dtmInicial = Convert.ToDateTime(DataInicio.Text);

           //Primeiro passo é preencher o objeto com os dados que irão se repetir
           seuTeste st = new seuTeste()
           {
               StrTextBox1 = String.IsNullOrEmpty(TextBox1.Text) ? "-" : TextBox1.Text,
               StrTextBox2 = String.IsNullOrEmpty(TextBox2.Text) ? "-" : TextBox2.Text,
               StrTextBox3 = String.IsNullOrEmpty(TextBox3.Text) ? "-" : TextBox3.Text,
               DtmDataInicio = dtmInicial
           };

           seuTeste stAuxiliar = null;
           int iDias = dtmFinal.Subtract(dtmInicial).Days;
           for (int i = 0; i < iDias; i++)
           {
               DateTime dtm = dtmInicial;
               dtm = dtm.AddDays(i);
               stAuxiliar = st;
               stAuxiliar.DtmDataInicio = dtm;
               seuTeste.Salvar(stAuxiliar);
           }
       }

 

agora que vi que você queria em meses rs...

dpois ajusto asidas

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.