Exemple #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="startDate"></param>
        /// <param name="endDate"></param>
        /// <param name="description"></param>
        /// <param name="partyTypeId"></param>
        /// <param name="partyCustomAttributeValues">CustomAttributeName or Id as key</param>
        /// <returns></returns>
        internal static Party CreateParty(DateTime?startDate, DateTime?endDate, string description, long partyTypeId, Dictionary <string, string> partyCustomAttributeValuesDict)
        {
            using (PartyTypeManager partyTypeManager = new PartyTypeManager())
                using (PartyManager partyManager = new PartyManager())
                    using (PartyRelationshipTypeManager partyRelationshipTypeManager = new PartyRelationshipTypeManager())
                    {
                        var       newParty        = new Party();
                        PartyType partyType       = partyTypeManager.PartyTypeRepository.Get(partyTypeId);
                        var       partyStatusType = partyTypeManager.GetStatusType(partyType, "Created");
                        // save party as temp if the reationships are required
                        var requiredPartyRelationTypes = partyRelationshipTypeManager.GetAllPartyRelationshipTypes(partyType.Id).Where(cc => cc.MinCardinality > 0);
                        //Create party
                        newParty = partyManager.Create(partyType, "", description, startDate, endDate, partyStatusType, requiredPartyRelationTypes.Any());
                        partyManager.AddPartyCustomAttributeValues(newParty, toPartyCustomAttributeValues(partyCustomAttributeValuesDict, partyTypeId));
                        // partyManager.AddPartyRelationship(null,TargetPartyId,PartyTypePairid)
                        //var systemPartyTypePairs = GetSystemTypePairs(newParty.PartyType.Id);
                        ////add relationship to the all targets
                        //foreach (var systemPartyTypePair in systemPartyTypePairs)
                        //{
                        //    foreach (var targetParty in systemPartyTypePair.TargetPartyType.Parties)
                        //    {
                        //        PartyTypePair partyTypePair = partyRelationshipTypeManager.PartyTypePairRepository.Reload(systemPartyTypePair);
                        //        partyManager.AddPartyRelationship(partyManager.PartyRepository.Reload(newParty), targetParty,  "system", "", systemPartyTypePair, permission: systemPartyTypePair.PermissionTemplate);
                        //    }
                        //}

                        return(newParty);
                    }
        }
Exemple #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="id">party type id</param>
        /// <returns></returns>
        public ActionResult LoadPartyRelationshipType(int id)
        {
            using (PartyRelationshipTypeManager partyRelManager = new PartyRelationshipTypeManager())
                using (PartyManager partyManager = new PartyManager())
                {
                    var partyId = Request.Params["partyId"] != null?long.Parse(Request.Params["partyId"]) : 0;

                    Party party = partyManager.PartyRepository.Get(partyId);
                    ViewBag.sourceParty = party;
                    var partyRelationshipTypes    = partyRelManager.GetAllPartyRelationshipTypes(party.PartyType.Id, true);
                    var addpartyRelationshipModel = new List <AddRelationshipModel>();
                    // foreach (var partyRelationshipType in partyRelationshipTypes)
                    var addRelationshipModel = new List <AddRelationshipModel>();
                    addRelationshipModel.Add(new AddRelationshipModel()
                    {
                        PartyRelationshipTypes = partyRelationshipTypes.Where(cc => cc.AssociatedPairs.Any(item => item.SourcePartyType.Id == party.PartyType.Id)),
                        SourceParty            = party,
                        isAsSource             = false
                    });
                    addRelationshipModel.Add(new AddRelationshipModel()
                    {
                        PartyRelationshipTypes = partyRelationshipTypes.Where(cc => cc.AssociatedPairs.Any(item => item.TargetPartyType.Id == party.PartyType.Id)),
                        SourceParty            = party,
                        isAsSource             = true
                    });
                    return(PartialView("_addPartyRelationshipPartial", addRelationshipModel));
                }
        }
Exemple #3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="id">party type id</param>
        /// <returns></returns>
        public ActionResult LoadPartyRelationshipType(int id)
        {
            PartyRelationshipTypeManager partyRelManager = null;

            try
            {
                partyRelManager = new PartyRelationshipTypeManager();
                Party party = Request.Params["partyId"] != null ? new PartyManager().PartyRepository.Get(long.Parse(Request.Params["partyId"])) : null;
                ViewBag.sourceParty = party;
                var partyRelationshipTypes = partyRelManager.GetAllPartyRelationshipTypes(party.PartyType.Id);

                return(PartialView("_addPartyRelationshipPartial", partyRelationshipTypes.ToList()));
            }
            finally
            {
                partyRelManager?.Dispose();
            }
        }