tuskinhu

RenderCell

Sep 15th, 2011
173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 6.81 KB | None | 0 0
  1. procedure TfrmDefinirEquipe.grdCadEquipeParesRenderCell(ACell: TIWGridCell; const ARow, AColumn: Integer);
  2.  
  3.   function Existe(nome: String): TIWButton;
  4.   var
  5.     i: Integer;
  6.   begin
  7.     Result := nil;
  8.     for i := 0 to Length(btnDeletarEquipe) - 1 do
  9.       if btnDeletarEquipe[i].Name = nome then
  10.         Result := btnDeletarEquipe[i];
  11.     if not Assigned(Result) then
  12.     begin
  13.       SetLength(btnDeletarEquipe, Length(btnDeletarEquipe) + 1);
  14.       btnDeletarEquipe[Length(btnDeletarEquipe) - 1]               := TIWButton.Create(grdCadEquipePares);
  15.       btnDeletarEquipe[Length(btnDeletarEquipe) - 1].Font.FontName := 'Verdana';
  16.       btnDeletarEquipe[Length(btnDeletarEquipe) - 1].Font.Size     := 8;
  17.       btnDeletarEquipe[Length(btnDeletarEquipe) - 1].Height        := 17;
  18.       btnDeletarEquipe[Length(btnDeletarEquipe) - 1].Caption       := 'Excluir';
  19.       btnDeletarEquipe[Length(btnDeletarEquipe) - 1].Visible       := True;
  20.       btnDeletarEquipe[Length(btnDeletarEquipe) - 1].OnClick       := BotaoExcluiEmpregadoEquipe;
  21.  
  22.       if (dmGer.cdsConsultaPares.FieldByName('CMEQ_IND_SIT_TIPO_EQU').AsString <> 'C') and
  23.          ExisteRespostaPar then
  24.         btnDeletarEquipe[Length(btnDeletarEquipe) - 1].Enabled     := False;
  25.  
  26.       if (dmGer.cdsConsultaPares.FieldByName('CMEQ_IND_SIT_TIPO_EQU').AsString = 'C') then
  27.         btnDeletarEquipe[Length(btnDeletarEquipe) - 1].Enabled     := True;
  28.  
  29.       Result := btnDeletarEquipe[Length(btnDeletarEquipe) - 1];
  30.     end;
  31.   end;
  32.  
  33.   function Email(nome: String): TIWButton;
  34.   var
  35.     i: Integer;
  36.   begin
  37.     Result := nil;
  38.     for i := 0 to Length(btnEnviarEmail) - 1 do
  39.       if btnEnviarEmail[i].Name = nome then
  40.         Result := btnEnviarEmail[i];
  41.     if not Assigned(Result) then
  42.     begin
  43.       SetLength(btnEnviarEmail, Length(btnEnviarEmail) + 1);
  44.       btnEnviarEmail[Length(btnEnviarEmail) - 1]               := TIWButton.Create(grdCadEquipePares);
  45.       btnEnviarEmail[Length(btnEnviarEmail) - 1].Font.FontName := 'Verdana';
  46.       btnEnviarEmail[Length(btnEnviarEmail) - 1].Font.Size     := 8;
  47.       btnEnviarEmail[Length(btnEnviarEmail) - 1].Height        := 17;
  48.       btnEnviarEmail[Length(btnEnviarEmail) - 1].Caption       := 'Enviar';
  49.       btnEnviarEmail[Length(btnEnviarEmail) - 1].Visible       := True;
  50.       btnEnviarEmail[Length(btnEnviarEmail) - 1].OnClick       := BotaoClickEnvio;
  51.  
  52.       //Criar campo na tabela para tratar isso
  53.       if dmGer.cdsConsultaPares.FieldByName('CMEQ_QTD_ENVIO_EMAIL').AsInteger > 0 then
  54.         btnEnviarEmail[Length(btnEnviarEmail) - 1].Caption := 'ReEnviar'
  55.       else
  56.         btnEnviarEmail[Length(btnEnviarEmail) - 1].Caption := 'Enviar';
  57.  
  58.       if (dmGer.cdsConsultaPares.FieldByName('CMEQ_IND_SIT_TIPO_EQU').AsString = 'E') or
  59.          (dmGer.cdsConsultaPares.FieldByName('CMEQ_IND_SIT_TIPO_EQU').AsString = 'C') then
  60.         btnEnviarEmail[Length(btnEnviarEmail) - 1].Enabled := False;
  61.  
  62.       Result := btnEnviarEmail[Length(btnEnviarEmail) - 1];
  63.     end;
  64.   end;
  65.  
  66. begin
  67.   if (ARow > 0) and (AColumn = 3) then
  68.   begin
  69.     if dmGer.cdsConsultaPares.FieldByName('CMEQ_COD_MEMBRO_EQU').AsInteger > 0 then
  70.     begin
  71.       ACell.Control := Existe('btnEquipe' + dmGer.cdsConsultaPares.FieldByName('CMEQ_COD_MEMBRO_EQU').AsString);
  72.       with (ACell.Control as TIWButton) do
  73.       begin
  74.         Name          := 'btnEquipe' + dmGer.cdsConsultaPares.FieldByName('CMEQ_COD_MEMBRO_EQU').AsString;
  75.         FriendlyName  := 'btnEquipe' + dmGer.cdsConsultaPares.FieldByName('CMEQ_COD_MEMBRO_EQU').AsString;
  76.         Tag           := dmGer.cdsConsultaPares.FieldByName('CMEQ_COD_MEMBRO_EQU').AsInteger;
  77.       end;
  78.     end;
  79.   end;
  80.  
  81.   if (ARow > 0) and (AColumn = 4) then
  82.   begin
  83.     if dmGer.cdsConsultaPares.FieldByName('CMEQ_COD_MEMBRO_EQU').AsInteger > 0 then
  84.     begin
  85.       ACell.Control := Email('btnEnviarEmail' + dmGer.cdsConsultaPares.FieldByName('CMEQ_COD_MEMBRO_EQU').AsString);
  86.       with (ACell.Control as TIWButton) do
  87.       begin
  88.         Name          := 'btnEnviarEmail' + dmGer.cdsConsultaPares.FieldByName('CMEQ_COD_MEMBRO_EQU').AsString;
  89.         FriendlyName  := 'btnEnviarEmail' + dmGer.cdsConsultaPares.FieldByName('CMEQ_COD_MEMBRO_EQU').AsString;
  90.         Tag           := dmGer.cdsConsultaPares.FieldByName('CMEQ_COD_MEMBRO_EQU').AsInteger;
  91.       end;
  92.     end;
  93.   end;
  94.  
  95.   if ARow > 0 then
  96.     if dmGer.cdsConsultaPares.FieldByName('CMEQ_IND_SIT_TIPO_EQU').AsString = 'C' then
  97.       ACell.BGColor := clWebTOMATO;
  98.  
  99. end;
  100.  
  101.  
  102. procedure TfrmDefinirEquipe.BotaoClickEnvio(Sender: TObject);
  103. var
  104.   cdsLocal: TClientDataSet;
  105.   CodEquipe: Integer;
  106.   TipoAvr: String;
  107. begin
  108.  
  109.   CodEquipe := (Sender as TIWButton).Tag;
  110.  
  111.   if Pos('btnEmailCliente', (Sender as TIWButton).Name) > 0 then
  112.   begin
  113.     cdsLocal := DMGer.cdsConsultaCliente;
  114.     TipoAvr := 'CLIENTE';
  115.   end
  116.   else
  117.   begin
  118.     cdsLocal := DMGer.cdsConsultaPares;
  119.     TipoAvr := 'PAR';
  120.   end;
  121.  
  122.   cdsLocal.Filtered := False;
  123.   cdsLocal.Filter   := 'CMEQ_COD_MEMBRO_EQU = ' + IntToStr(CodEquipe);
  124.   cdsLocal.Filtered := True;
  125.  
  126.   cdsLocal.First;
  127.  
  128.   while not cdsLocal.Eof do
  129.   begin
  130.     try
  131.       MandarEmail(cdsLocal.FieldByName('COLA_COD_CHAVE_AVR').AsString,
  132.                   cdsLocal.FieldByName('COLA_NOM_COMPLETO_AVR').AsString,
  133.                   cdsLocal.FieldByName('EMAIL_AVR').AsString,
  134.                   TipoAvr);
  135.       AtualizaEnvioEmail(CodEquipe);
  136.       WebApplication.ShowMessage('Email enviado com Sucesso!!!');
  137.     except
  138.       on E:Exception do
  139.       begin
  140.         WebApplication.ShowMessage( 'Falha no envio de e-mail. Ocorreu o seguinte erro: ' + #10 + E.Message, smAlert, '');
  141.       end;
  142.     end;
  143.     cdsLocal.Next;
  144.   end;
  145.  
  146.   cdsLocal.Filtered := False;
  147.   cdsLocal.Filter   := '';
  148.   cdsLocal.Filtered := True;
  149. end;
  150.  
  151.  
  152. procedure TfrmDefinirEquipe.BotaoExcluiEmpregadoCliente(Sender: TObject);
  153. var
  154.   Ok: Boolean;
  155. begin
  156.   if dmGer.cdsConsultaCliente.Locate('CMEQ_COD_MEMBRO_EQU', (Sender as TIWButton).Tag, []) then
  157.   begin
  158.      Ok := True;
  159.  
  160.      if ExisteResposta((Sender as TIWButton).Tag) then  // no caso de NSA pode haver algumas
  161.        Ok := ExcluiResposta((Sender as TIWButton).Tag);
  162.  
  163.      if Ok then
  164.      begin
  165.        with dmGer.qryExcluiAvaliador do
  166.        begin
  167.          ParamByName('CMEQ_COD_MEMBRO_EQU').AsString := dmGer.cdsConsultaCliente.FieldByName('CMEQ_COD_MEMBRO_EQU').AsString;
  168.          try
  169.            ExecSQL;
  170.            dmConn.log(Usersession.Matricula, UserSession.MatriculaPrincipal, 'Removida Equipe Pares: ' + dmGer.cdsConsultaCliente.FieldByName('CMEQ_COD_MEMBRO_EQU').AsString);
  171.            WebApplication.ShowMessage('Empregado excluído.');
  172.          except
  173.            WebApplication.ShowMessage('Erro ao excluir o empregado.');
  174.          end;
  175.        end;
  176.      end;
  177.      AtualizaGrids;
  178.    end
  179.    else
  180.      WebApplication.ShowMessage('Não é possível realizar a operação desejada!');
  181. end;
Advertisement
Add Comment
Please, Sign In to add comment