Páginas filhas
  • Envio

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Deck of Cards
idExemplo
Card
labelAdapter Send
Bloco de código
languagec#
titleExemplo - Código
linenumberstrue
collapsetrue
using RM.Eai.TotvsMessage.Adapter;
using RM.Eai.TotvsMessage.IService;
using RM.Eai.TotvsMessage.Lib;
using RM.Lib;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;

namespace RM.Prj.TotvsMessage.Adapter.Projeto
{
  /// <summary>


  /// Adapter Envio de Projeto


  /// </summary>


  [AdapterAttr("PROJECT", "2.000", TransactionDescription = "Project")]


  public class Project_Send_2000 : AdapterWebServiceBase

{

  {
    /// <summary>


    ///

 
    /// </summary>


    protected override void DoInitializeAdapter()

{

    {
      this.AdapterName = "PROJECT";


      this.TableName = "MPRJ";


      base.DoInitializeAdapter();

}

    }

    /// <summary>


    ///

 
    /// </summary>


    /// <param name="parms"></param>


    /// <returns></returns>


    protected override EAITransformMessageResult DoTransformMessage(EAITransformMessageParam parms)

{
EAITransformMessageResult result = new

    {
      EAITransformMessageResult result = new EAITransformMessageResult(null, null);


      Project_Model_V2_BusinessContent businessContentObj = new Project_Model_V2_BusinessContent();
DataSet dsMPrj =


      DataSet dsMPrj = ((DataSet)parms.ObjOriginal);
DataTable dtProject =


      DataTable dtProject = dsMPrj.Tables["MPRJ"];

DataTable dtMPeriodo =

      DataTable dtMPeriodo = dsMPrj.Tables["MPERIODO"];
if


      if (dtProject.Rows.Count != 1)

throw new Exception

        throw new RMSValidateException(Properties.Resources.sPrjValidacaoSendProject);
DataRow rowProject =


      DataRow rowProject = dtProject.Rows[0];



      businessContentObj.CompanyId = RMSConvert.ToString(rowProject["CODCOLIGADA"]);


      businessContentObj.BranchId = RMSConvert.ToString(rowProject["CODFILIAL"]);


      businessContentObj.CompanyInternalId = RMSConvert.ToString(rowProject["COMPANYINTERNALID"]);


      businessContentObj.InternalId = RMSConvert.ToString(rowProject["INTERNALID"]);


      businessContentObj.Code = RMSConvert.ToString(rowProject["CODPRJ"]);


      businessContentObj.Description = RMSConvert.ToString(rowProject["DESCRICAO"]);
if


      if (rowProject["CODCCUSTO"] != DBNull.Value)


        businessContentObj.CostCenterCode = RMSConvert.ToString(rowProject["CODCCUSTO"]);
DataTable dtMprjStatusLog =


      DataTable dtMprjStatusLog = dsMPrj.Tables["MPRJSTATUSLOG"];
if


      if (dtMprjStatusLog.Rows.Count > 0)

{
DataRow rowDtStatusLog =

      {
        DataRow rowDtStatusLog = dtMprjStatusLog.Rows[0];


        businessContentObj.RegisterDate = RMSConvert.ToDateTime(rowDtStatusLog["DATAMUDANCA"]);


        businessContentObj.StatusProject = RMSConvert.ToInt32(rowProject["POSICAO"]);

}
if

      }
      if (dtMPeriodo.Rows.Count > 0)

{
DataRow rowMPeriodo =

      {
        DataRow rowMPeriodo = dtMPeriodo.Rows[0];

if

        if (rowMPeriodo["DTINICIO"] != DBNull.Value)


          businessContentObj.BeginDate = RMSConvert.ToDateTime(rowMPeriodo["DTINICIO"]);

if

        if (rowMPeriodo["DTFIM"] != DBNull.Value)


          businessContentObj.FinalDate = RMSConvert.ToDateTime(rowMPeriodo["DTFIM"]);
      }

      if (rowProject["CNOPRJ"] != DBNull.Value)
        businessContentObj.WorkCode = RMSConvert.ToString(rowProject["CNOPRJ"]).Replace(".", string.Empty).Replace("-", string.Empty).Replace("/", string.Empty);

      if (rowProject["INDPRESTSRV"] != DBNull.Value && (RMSConvert.ToInt32(rowProject["INDPRESTSRV"]) != 0))
      {
        switch (RMSConvert.ToInt32(rowProject["INDPRESTSRV"])
;
}
return
)
        {
          case 1:
            businessContentObj.WorkId = 0;
            break;
          case 2:
            businessContentObj.WorkId = 1;
            break;
          case 3:
            businessContentObj.WorkId = 2;
            break;
          default:
            break;
        }
      }

      if (rowProject["CGCCFO"] != DBNull.Value)
        businessContentObj.WorkGovernmentalId = RMSConvert.ToString(rowProject["CGCCFO"]).Replace(".", string.Empty).Replace("-", string.Empty).Replace("/", string.Empty);

      if (rowProject["TPPRJ"] != DBNull.Value)
        businessContentObj.WorkType = RMSConvert.ToString(rowProject["TPPRJ"]);

      return base.DoTransformMessage(parms);

}

    }

    /// <summary>


    ///

 
    /// </summary>


    /// <returns></returns>


    protected override List<InfoTableDePara> DoGetInfoTableDePara()

{
List<InfoTableDePara> tablesDePara = new

    {
      List<InfoTableDePara> tablesDePara = new List<InfoTableDePara>();

InfoTableDePara table = new

      InfoTableDePara table = new InfoTableDePara("MPRJ", "PROJECT");


      table.DescriptionName = "Projeto";
InfoColumnDePara column = new


      InfoColumnDePara column = new InfoColumnDePara(EAIConsts.ctINTERNALID, "CODCOLIGADA|IDPRJ", "MPRJ");


      column.ForeignKeyDePara = false;


      column.ColumnCaptionCode = "CODPRJ";


      column.ColumnCaption = Properties.Resources.sPrjCodPrj;


      table.ColumnsName.Add(column);
column = new


      column = new InfoColumnDePara("CompanyInternalId", "CODCOLIGADA|CODFILIAL", "GFILIAL");


      column.ForeignKeyDePara = true;


      column.ColumnCaptionCode = "CODCOLIGADA";


      column.ColumnCaption = Properties.Resources.SPrjEmpProjeto;


      table.ColumnsName.Add(column);
column = new


      column = new InfoColumnDePara("CostCenterInternalId", "CODCOLIGADA|CODCCUSTO", "GCCUSTO");


      column.ForeignKeyDePara = true;


      column.ColumnCaptionCode = "CODCCUSTO";


      column.ColumnCaption = Properties.Resources.SPrjCCustoProjeto;


      table.ColumnsName.Add(column);


      tablesDePara.Add(table);

return tablesDePara;
}

}


      return tablesDePara;
    }

  }
}

Card
labelModel
Bloco de código
languagec#
titleModel
linenumberstrue
collapsetrue
/// <summary>
  /// Project Model
  /// </summary>
  [System.SerializableAttribute()]
  [System.ComponentModel.DesignerCategoryAttribute("code")]
  [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
  [System.Xml.Serialization.XmlRootAttribute(ElementName = "BusinessContent", IsNullable = false)]
  [MessageContentTypeAttr("PROJECT", 2, MessageTypeEnum.tmBusinessMessage)]
  public partial class Project_Model_V2_BusinessContent : EAIBusinessContentModelBase
  {
    /// <summary>
    /// 
    /// </summary>
    public string CompanyId { get; set; }

    /// <summary>
    /// 
    /// </summary>
    public string BranchId { get; set; }

    /// <summary>
    /// 
    /// </summary>
    public string CompanyInternalId { get; set; }

    /// <summary>
    /// 
    /// </summary>
    public string ShortCode { get; set; }

    /// <summary>
    /// 
    /// </summary>
    public string Code { get; set; }

    /// <summary>
    /// 
    /// </summary>
    public string InternalId { get; set; }

    /// <summary>
    /// 
    /// </summary>
    public string Description { get; set; }

    /// <summary>
    /// 
    /// </summary>
    public string CostCenterCode { get; set; }

    /// <summary>
    /// 
    /// </summary>
    public string CostCenterInternalId { get; set; }

    /// <summary>
    /// 
    /// </summary>
    public DateTime RegisterDate { get; set; }

    /// <summary>
    /// 
    /// </summary>
    public DateTime BeginDate { get; set; }

    /// <summary>
    /// 
    /// </summary>
    public DateTime FinalDate { get; set; }

    /// <summary>
    /// 
    /// </summary>
    public int StatusProject { get; set; }
  }

  /// <summary>
  /// 
  /// </summary>
  [System.SerializableAttribute()]
  [System.ComponentModel.DesignerCategoryAttribute("code")]
  [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
  [System.Xml.Serialization.XmlRootAttribute(ElementName = "ReturnContent", IsNullable = false)]
  [MessageContentTypeAttr("PROJECT", 2, MessageTypeEnum.tmResponseMessage)]
  public partial class Project_Model_V2_ReturnContent : EAIReturnContentModelBase
  {
  }



Dica gerar a model a partir do XML:

Image AddedDica gerar a classe a partir do XML: