Ejemplo n.º 1
0
 public Constraints GenerateDiferences(Constraints CamposOrigen, Constraints CamposDestino)
 {
     foreach (Constraint node in CamposDestino)
     {
         if (!CamposOrigen.Find(node.Name))
         {
             node.Status = StatusEnum.ObjectStatusType.CreateStatus;
             CamposOrigen.Parent.Status = StatusEnum.ObjectStatusType.AlterStatus;
             CamposOrigen.Add(node);
         }
         else
         {
             if (!Constraint.Compare(CamposOrigen[node.Name], node))
             {
                 node.Status = StatusEnum.ObjectStatusType.AlterStatus;
                 CamposOrigen[node.Name].Parent.Status = StatusEnum.ObjectStatusType.AlterStatus;
                 CamposOrigen[node.Name] = node.Clone((Table)CamposOrigen[node.Name].Parent);
             }
         }
     }
     foreach (Constraint node in CamposOrigen)
     {
         if (!CamposDestino.Find(node.Name))
         {
             node.Status = StatusEnum.ObjectStatusType.DropStatus;
             CamposOrigen.Parent.Status = StatusEnum.ObjectStatusType.AlterStatus;
         }
     }
     return(CamposOrigen);
 }