示例#1
0
    /// <summary>
    /// Derived components should override this method to wire up event handlers.
    /// </summary>

    #endregion



    protected void cmdRemoveTemplate_Click1(object sender, EventArgs e)
    {
        Sage.Entity.Interfaces.IOpportunity _entity = BindingSource.Current as Sage.Entity.Interfaces.IOpportunity;
        if (_entity != null)
        {
            if (_entity.OppFulFilTasks.Count > 0)
            {
                do
                {
                    foreach (Sage.Entity.Interfaces.IOppFulFilStage tmpStage in _entity.OppFulFilStages)
                    {
                        _entity.OppFulFilStages.Remove(tmpStage);
                        tmpStage.Delete();
                        _entity.Save();
                        break;
                    }
                } while (_entity.OppFulFilStages.Count > 0);

                do
                {
                    foreach (Sage.Entity.Interfaces.IOppFulFilTask tmpTask in _entity.OppFulFilTasks)
                    {
                        _entity.OppFulFilTasks.Remove(tmpTask);
                        tmpTask.Delete();
                        _entity.Save();
                        break;
                    }
                } while (_entity.OppFulFilTasks.Count > 0);
            }
        }
    }
        /// <summary>
        /// Invokes the association lookup for competitors.
        /// </summary>
        /// <param name="form">the instance of the OpportunityCompetitor dialog</param>
        /// <param name="args">empty</param>
        public static void lueAssociateCompetitor_OnChangeStep(IOpportunityCompetitors form, EventArgs args)
        {
            if (form.lueAssociateCompetitor.LookupResultValue != null)
            {
                Sage.Entity.Interfaces.IOpportunity parentEntity  = form.CurrentEntity as Sage.Entity.Interfaces.IOpportunity;
                Sage.Entity.Interfaces.ICompetitor  relatedEntity = form.lueAssociateCompetitor.LookupResultValue as Sage.Entity.Interfaces.ICompetitor;
                Sage.Platform.WebPortal.SmartParts.EntityBoundSmartPart smartpart = form.NativeForm as Sage.Platform.WebPortal.SmartParts.EntityBoundSmartPart;
                Sage.Platform.WebPortal.EntityPage page = (Sage.Platform.WebPortal.EntityPage)smartpart.Page;

                if ((parentEntity != null) && (relatedEntity != null))
                {
                    // check for duplicates
                    bool found = false;
                    foreach (Sage.Entity.Interfaces.IOpportunityCompetitor oc in parentEntity.Competitors)
                    {
                        if (oc.Competitor == relatedEntity)
                        {
                            found = true;
                            break;
                        }
                    }

                    if (found)
                    {
                        if (smartpart != null && smartpart.DialogService != null)
                        {
                            string msg = string.Format(form.GetResource("DuplicateCompetitorMsg").ToString(), relatedEntity.CompetitorName);
                            smartpart.DialogService.ShowMessage(msg, form.GetResource("DuplicateCompetitorMsgTitle").ToString());
                        }
                    }
                    else
                    {
                        Sage.Entity.Interfaces.IOpportunityCompetitor relationshipEntity = Sage.Platform.EntityFactory.Create <Sage.Entity.Interfaces.IOpportunityCompetitor>();
                        relationshipEntity.Opportunity = parentEntity;
                        relationshipEntity.Competitor  = relatedEntity;
                        parentEntity.Competitors.Add(relationshipEntity);
                        if (page.ModeId.ToUpper() != "INSERT")
                        {
                            parentEntity.Save();
                        }

                        if (smartpart.DialogService != null)
                        {
                            smartpart.DialogService.SetSpecs(0, 0, 400, 600, "EditOpportunityCompetitor", string.Empty, true);
                            smartpart.DialogService.EntityType = typeof(Sage.Entity.Interfaces.IOpportunityCompetitor);
                            string id = string.Empty;

                            smartpart.DialogService.CompositeKeyNames = "OpportunityId,CompetitorId";
                            id = string.Format("{0},{1}", relationshipEntity.OpportunityId, relationshipEntity.CompetitorId);
                            if (Sage.Platform.WebPortal.PortalUtil.ObjectIsNewEntity(relationshipEntity))
                            {
                                id = relationshipEntity.InstanceId.ToString();
                                Sage.Platform.ChangeManagement.ChangeManagementEntityFactory.RegisterInstance(relationshipEntity, relationshipEntity.InstanceId);

                                if (relationshipEntity != null && relatedEntity != null)
                                {
                                    relationshipEntity.SetOppCompetitorDefaults(relatedEntity);
                                }
                            }
                            smartpart.DialogService.EntityID = id;
                            smartpart.DialogService.ShowDialog();
                        }
                    }
                }
                form.lueAssociateCompetitor.LookupResultValue = null; //34026
            }
        }