//Get Participant IDs of a contact
        public MpParticipant GetParticipantRecord(string token)
        {
            var results = _ministryPlatformService.GetRecordsDict("MyParticipantRecords", token);
            Dictionary <string, object> result = null;

            try
            {
                result = results.SingleOrDefault();
            }
            catch (InvalidOperationException ex)
            {
                if (ex.Message == "Sequence contains more than one element")
                {
                    throw new MultipleRecordsException("Multiple Participant records found! Only one participant allowed per Contact.");
                }
            }

            if (result == null)
            {
                return(null);
            }
            var participant = new MpParticipant
            {
                ContactId                = result.ToInt("Contact_ID"),
                ParticipantId            = result.ToInt("dp_RecordID"),
                EmailAddress             = result.ToString("Email_Address"),
                PreferredName            = result.ToString("Nickname"),
                DisplayName              = result.ToString("Display_Name"),
                ApprovedSmallGroupLeader = result.ToBool("Approved_Small_Group_Leader")
            };

            return(participant);
        }
        private static MpMyContact ParseProfileRecord(Dictionary <string, object> recordsDict)
        {
            var contact = new MpMyContact
            {
                Address_ID        = recordsDict.ToNullableInt("Address_ID"),
                Address_Line_1    = recordsDict.ToString("Address_Line_1"),
                Address_Line_2    = recordsDict.ToString("Address_Line_2"),
                Congregation_ID   = recordsDict.ToNullableInt("Congregation_ID"),
                Household_ID      = recordsDict.ToInt("Household_ID"),
                Household_Name    = recordsDict.ToString("Household_Name"),
                City              = recordsDict.ToString("City"),
                State             = recordsDict.ToString("State"),
                County            = recordsDict.ToString("County"),
                Postal_Code       = recordsDict.ToString("Postal_Code"),
                Contact_ID        = recordsDict.ToInt("Contact_ID"),
                Date_Of_Birth     = recordsDict.ToDateAsString("Date_of_Birth"),
                Email_Address     = recordsDict.ToString("Email_Address"),
                Employer_Name     = recordsDict.ToString("Employer_Name"),
                First_Name        = recordsDict.ToString("First_Name"),
                Foreign_Country   = recordsDict.ToString("Foreign_Country"),
                Gender_ID         = recordsDict.ToNullableInt("Gender_ID"),
                Home_Phone        = recordsDict.ToString("Home_Phone"),
                Current_School    = recordsDict.ToString("Current_School"),
                Last_Name         = recordsDict.ToString("Last_Name"),
                Maiden_Name       = recordsDict.ToString("Maiden_Name"),
                Marital_Status_ID = recordsDict.ToNullableInt("Marital_Status_ID"),
                Middle_Name       = recordsDict.ToString("Middle_Name"),
                Mobile_Carrier    = recordsDict.ToNullableInt("Mobile_Carrier_ID"),
                Mobile_Phone      = recordsDict.ToString("Mobile_Phone"),
                Nickname          = recordsDict.ToString("Nickname"),
                Age                 = recordsDict.ToInt("Age"),
                Passport_Number     = recordsDict.ToString("Passport_Number"),
                Passport_Country    = recordsDict.ToString("Passport_Country"),
                Passport_Expiration = ParseExpirationDate(recordsDict.ToNullableDate("Passport_Expiration")),
                Passport_Firstname  = recordsDict.ToString("Passport_Firstname"),
                Passport_Lastname   = recordsDict.ToString("Passport_Lastname"),
                Passport_Middlename = recordsDict.ToString("Passport_Middlename")
            };

            if (recordsDict.ContainsKey("Participant_Start_Date"))
            {
                contact.Participant_Start_Date = recordsDict.ToDate("Participant_Start_Date");
            }
            if (recordsDict.ContainsKey("Attendance_Start_Date"))
            {
                contact.Attendance_Start_Date = recordsDict.ToNullableDate("Attendance_Start_Date");
            }

            if (recordsDict.ContainsKey("ID_Card"))
            {
                contact.ID_Number = recordsDict.ToString("ID_Card");
            }
            return(contact);
        }
示例#3
0
 public static void ApplyConfiguration(ClassicPipeline Pipeline, Dictionary <string, string> Config)
 {
     Pipeline.CorrectSWARP          = Config.ToBool(nameof(ClassicPipeline.CorrectSWARP));
     Pipeline.DotDetectorThreshold  = Config.ToThreshold(nameof(ClassicPipeline.DotDetectorThreshold));
     Pipeline.ExtraMaskRadius       = Config.ToDouble(nameof(ClassicPipeline.ExtraMaskRadius));
     Pipeline.MaskRadiusMultiplier  = Config.ToDouble(nameof(ClassicPipeline.MaskRadiusMultiplier));
     Pipeline.MaskThreshold         = Config.ToThreshold(nameof(ClassicPipeline.MaskThreshold));
     Pipeline.NormalizationMeshSize = Config.ToInt(nameof(ClassicPipeline.NormalizationMeshSize));
     Pipeline.PoissonRadius         = Config.ToInt(nameof(ClassicPipeline.PoissonRadius));
     Pipeline.SecMedRadius          = Config.ToInt(nameof(ClassicPipeline.SecMedRadius));
     Pipeline.StandardBITPIX        = Config.ToInt(nameof(ClassicPipeline.StandardBITPIX));
 }
示例#4
0
        public MPRuleResult RulePasses(Dictionary <string, object> data)
        {
            var result = new MPRuleResult();

            if (!RuleIsActive())
            {
                result = new MPRuleResult
                {
                    Message    = "Rule Not Active",
                    RulePassed = true
                };
                return(result);
            }

            try
            {
                var genderId = data.ToInt("GenderId", true);
                result.RulePassed = (genderId == _genderRule.AllowedGenderId);
                result.Message    = result.RulePassed ? "Rule Passed" : $"Gender must be {_genderRule.AllowedGenderId}";
                return(result);
            }
            catch (Exception e)
            {
                throw new InvalidDataException("Invalid data provided to Gender Rule.", e);
            }
        }
示例#5
0
 private static int GetTemplateId(int templateId, Dictionary <string, object> response)
 {
     templateId = (templateId != AppSetting("RsvpChangeTemplate"))
         ? response.ToInt("templateId")
         : templateId;
     return(templateId);
 }
示例#6
0
 private MpPledge MapRecordToPledge(Dictionary <string, object> record)
 {
     return(new MpPledge()
     {
         PledgeId = record.ToInt("Pledge_ID"),
         PledgeCampaignId = record.ToInt("Pledge_Campaign_ID"),
         DonorId = record.ToInt("Donor_ID"),
         PledgeStatus = record.ToString("Pledge_Status"),
         CampaignName = record.ToString("Campaign_Name"),
         PledgeTotal = record["Total_Pledge"] as decimal? ?? 0,
         PledgeDonations = record["Donation_Total"] as decimal? ?? 0,
         CampaignStartDate = record.ToDate("Start_Date"),
         CampaignEndDate = record.ToDate("End_Date"),
         CampaignTypeId = record.ToInt("Pledge_Campaign_Type_ID"),
         CampaignTypeName = record.ToString("Campaign_Type")
     });
 }
示例#7
0
        public int Insert(int disPatchId, OrderRelationEntity orderRelationEntity, Dictionary <string, object> orderDic)
        {
            int downDisPatchId = orderDic.ToInt("DispatchId", 0);

            if (downDisPatchId == 0)
            {
                throw new Exception("代下单失败");
            }
            DispatchRelationEntity dispatchRelationEntity = new DispatchRelationEntity()
            {
                UpDispatchId    = disPatchId,
                OrderRelationId = orderRelationEntity.Id,
                DownDispatchId  = downDisPatchId
            };

            return(DbAccess.ExecuteUpsert(TableName, dispatchRelationEntity, new string[] { "UpDispatchId", "OrderRelationId", "DownDispatchId" }));
        }
示例#8
0
        /// <summary>
        /// 修改上游订单
        /// </summary>
        /// <param name="ConnectorEntity"></param>
        /// <param name="orderDic"></param>
        /// <returns></returns>
        public int UpdateUpOrder(ConnectorRelation ConnectorEntity, Dictionary <string, object> orderDic)
        {
            int     upOrderId  = orderDic.ToInt("OrderId", 0);
            decimal upPayables = Utils.ToDecimal(orderDic.ToValue("Payables"));

            if (upOrderId == 0)
            {
                throw new Exception("代下单失败");
            }
            OrderRelationEntity orderRelationEntity = new OrderRelationEntity()
            {
                UpConnectorId   = ConnectorEntity.ThirdConnectorId,
                UpOrderId       = upOrderId,
                UpPayables      = upPayables,
                DownConnectorId = ConnectorEntity.Id,
            };

            return(DbAccess.ExecuteUpdate(TableName, orderRelationEntity, new string[] { "UpConnectorId", "UpOrderId", "DownConnectorId" }));
        }
示例#9
0
        /// <summary>
        /// 插入订单关联信息
        /// </summary>
        /// <param name="orderId"></param>
        /// <param name="oddNumber"></param>
        /// <param name="ConnectorEntity"></param>
        /// <param name="orderDic"></param>
        /// <returns></returns>
        public int Insert(int orderId, string oddNumber, ConnectorRelation ConnectorEntity, Dictionary <string, object> orderDic)
        {
            int    upOrderId   = orderDic.ToInt("OrderId", 0);
            string upOddNumber = orderDic.ToValue("OddNumber");

            if (upOrderId == 0)
            {
                throw new Exception("代下单失败");
            }
            OrderRelationEntity orderRelationEntity = new OrderRelationEntity()
            {
                UpConnectorId   = ConnectorEntity.Id,
                UpOrderId       = upOrderId,
                UpOddNumber     = upOddNumber,
                DownConnectorId = ConnectorEntity.ThirdConnectorId,
                DownOrderId     = orderId,
                DownOddNumber   = oddNumber
            };

            return(DbAccess.ExecuteUpsert(TableName, orderRelationEntity, new string[] { "UpConnectorId", "UpOrderId", "DownConnectorId", "DownOrderId" }));
        }
示例#10
0
 public MpGroup MapRecordToMpGroup(Dictionary <string, object> record)
 {
     return(new MpGroup
     {
         GroupId = record.ToInt("Group_ID"),
         CongregationId = record.ToInt("Congregation_ID"),
         KidsWelcome = (record.ContainsKey("Kids_Welcome") ? record["Kids_Welcome"] as bool? : null),
         Name = record.ToString("Group_Name"),
         GroupRoleId = record.ContainsKey("Group_Role_ID") ? record.ToInt("Group_Role_ID") : -1,
         GroupDescription = record.ToString("Description"),
         MinistryId = record.ToInt("Ministry_ID"),
         ContactId = record.ToInt("Primary_Contact"),
         PrimaryContactName = record.ContainsKey("Primary_Contact_Name") ? record.ToString("Primary_Contact_Name") : record.ToString("Primary_Contact_Text"),
         PrimaryContactEmail = record.ContainsKey("Primary_Contact_Email") ? record.ToString("Primary_Contact_Email") : string.Empty,
         GroupType = record.ToInt("Group_Type_ID"),
         GroupTypeName = record.ContainsKey("Group_Type_Name") ? record.ToString("Group_Type_Name") : string.Empty,
         StartDate = record.ToDate("Start_Date"),
         EndDate = record.ToNullableDate("End_Date"),
         MeetingDayId = record.ToInt("Meeting_Day_ID"),
         MeetingDay = (record.ContainsKey("Meeting_Day") ? record.ToString("Meeting_Day") : (record.ContainsKey("Meeting_Day_ID_Text") ? record.ToString("Meeting_Day_ID_Text") : string.Empty)),
         MeetingTime = !string.IsNullOrEmpty(record.ToString("Meeting_Time")) ? DateTime.Parse(record.ToString("Meeting_Time")).ToShortTimeString() : string.Empty,
         MeetingFrequency = (record.ContainsKey("Meeting_Frequency") ? record.ToString("Meeting_Frequency") : ((record.ContainsKey("Meeting_Frequency_ID_Text") ? record.ToString("Meeting_Frequency_ID_Text") : string.Empty))),
         AvailableOnline = record.ToBool("Available_Online"),
         MaximumAge = (record.ContainsKey("Maximum_Age") ? record["Maximum_Age"] as int? : null),
         RemainingCapacity = (record.ContainsKey("Remaining_Capacity") ? record["Remaining_Capacity"] as int? : null),
         Address = record.ContainsKey("Address_ID") ? new MpAddress()
         {
             Address_ID = record.ToInt("Address_ID"),
             Address_Line_1 = record.ToString("Address_Line_1"),
             Address_Line_2 = record.ToString("Address_Line_2"),
             City = record.ToString("City"),
             State = record.ToString("State"),
             Postal_Code = record.ToString("Zip_Code"),
             Foreign_Country = record.ToString("Foreign_Country")
         } : new MpAddress()
     });
 }
示例#11
0
        public MPRuleResult RulePasses(Dictionary <string, object> data)
        {
            var result = new MPRuleResult();

            if (!RuleIsActive())
            {
                result.RulePassed = true;
                result.Message    = "Rule Not Active";
                return(result);
            }

            try
            {
                var registrants = data.ToInt("registrantCount", true);
                result.RulePassed = (registrants <= _registrationRule.MaximumRegistrants);
                result.Message    = result.RulePassed ? "Rule Passed" : $"Exceeded Maximum of {_registrationRule.MaximumRegistrants}";
                return(result);
            }
            catch (Exception e)
            {
                throw new InvalidDataException("Invalid data provided to registration rule.", e);
            }
        }
示例#12
0
        private static MyContact ParseProfileRecord(Dictionary<string, object> recordsDict)
        {
            var contact = new MyContact
            {
                Address_ID = recordsDict.ToNullableInt("Address_ID"),
                Address_Line_1 = recordsDict.ToString("Address_Line_1"),
                Address_Line_2 = recordsDict.ToString("Address_Line_2"),
                Congregation_ID = recordsDict.ToNullableInt("Congregation_ID"),
                Household_ID = recordsDict.ToInt("Household_ID"),
                Household_Name = recordsDict.ToString("Household_Name"),
                City = recordsDict.ToString("City"),
                State = recordsDict.ToString("State"),
                County = recordsDict.ToString("County"),
                Postal_Code = recordsDict.ToString("Postal_Code"),                
                Contact_ID = recordsDict.ToInt("Contact_ID"),
                Date_Of_Birth = recordsDict.ToDateAsString("Date_of_Birth"),
                Email_Address = recordsDict.ToString("Email_Address"),
                Employer_Name = recordsDict.ToString("Employer_Name"),
                First_Name = recordsDict.ToString("First_Name"),
                Foreign_Country = recordsDict.ToString("Foreign_Country"),
                Gender_ID = recordsDict.ToNullableInt("Gender_ID"),
                Home_Phone = recordsDict.ToString("Home_Phone"),
                Last_Name = recordsDict.ToString("Last_Name"),
                Maiden_Name = recordsDict.ToString("Maiden_Name"),
                Marital_Status_ID = recordsDict.ToNullableInt("Marital_Status_ID"),
                Middle_Name = recordsDict.ToString("Middle_Name"),
                Mobile_Carrier = recordsDict.ToNullableInt("Mobile_Carrier_ID"),
                Mobile_Phone = recordsDict.ToString("Mobile_Phone"),
                Nickname = recordsDict.ToString("Nickname"),
                Age = recordsDict.ToInt("Age"),
                Passport_Number = recordsDict.ToString("Passport_Number"),
                Passport_Country = recordsDict.ToString("Passport_Country"),
                Passport_Expiration = ParseExpirationDate(recordsDict.ToNullableDate("Passport_Expiration")),
                Passport_Firstname = recordsDict.ToString("Passport_Firstname"),
                Passport_Lastname = recordsDict.ToString("Passport_Lastname"),
                Passport_Middlename = recordsDict.ToString("Passport_Middlename")                
            };
            if (recordsDict.ContainsKey("Participant_Start_Date"))
            {
                contact.Participant_Start_Date = recordsDict.ToDate("Participant_Start_Date");
            }
            if (recordsDict.ContainsKey("Attendance_Start_Date"))
            {
                contact.Attendance_Start_Date = recordsDict.ToNullableDate("Attendance_Start_Date");
            }

            if (recordsDict.ContainsKey("ID_Card"))
            {
                contact.ID_Number = recordsDict.ToString("ID_Card");
            }
            return contact;
        }
示例#13
0
 public IResultResponse CheckUpConnector(int downConnectorId, int id, int status)
 {
     try
     {
         ClearCache();
         int             val           = 0;
         ConnectorEntity downConnector = (ConnectorEntity) new ConnectorBusiness(_dapperFactory).GetEntity("Id=" + downConnectorId);
         if (downConnector == null || Utils.ToInt(downConnector.Id) == 0)
         {
             return(ResultResponse.ExceptionResult("不存在该下游"));
         }
         RelationEntity entRelation = (RelationEntity) new RelationBusiness(_dapperFactory).GetEntity("Id=" + id + " and DownConnectorId=" + downConnectorId);
         if (entRelation == null || Utils.ToInt(entRelation.Id) == 0)
         {
             return(ResultResponse.ExceptionResult("不存在合作关系"));
         }
         ConnectorEntity connector = (ConnectorEntity) new ConnectorBusiness(_dapperFactory).GetEntity("Id=" + entRelation.UpConnectorId);
         if (connector == null || Utils.ToInt(connector.Id) == 0)
         {
             return(ResultResponse.ExceptionResult("不存在该上游"));
         }
         GroupEntity group = (GroupEntity) new GroupBusiness(_dapperFactory).GetEntity("Id=" + connector.GroupId);
         if (group == null || Utils.ToInt(group.Id) == 0)
         {
             return(ResultResponse.ExceptionResult("不存在该上游机组"));
         }
         if (status == 1 && entRelation.UpBuyerId == 0)
         {
             DataTable allRecord = DBTable("DownConnectorId=" + downConnectorId + " and Status=1");
             if (allRecord != null && allRecord.Rows.Count > 0)
             {
                 return(ResultResponse.ExceptionResult("已存在上游合作商"));
             }
             //快马上游插入下游客户账户
             long ts = Utils.ToUnixTime(DateTime.Now.AddMinutes(1));
             Dictionary <string, string> dic = new Dictionary <string, string>()
             {
                 { "fk_id", connector.SellerId.ToString() },
                 { "expire", ts.ToString() },
                 { "mobile", downConnector.Mobile }
             };
             string          json   = dic.ToJson();
             string          token  = ECF.Security.AES.Encode(json);
             IResultResponse result = ApiRequest.GetResponse(group.Domain, "account.add.downconnector", new Dictionary <string, string>()
             {
                 { "exchange_token", HttpUtility.UrlEncode(token) },
             });
             if (result.Success)
             {
                 Dictionary <string, object> content = result.Content as Dictionary <string, object>;
                 int storeId = content.ToInt("StoreId", 0);
                 entRelation.IsDefault = 1;
                 entRelation.UpBuyerId = storeId;
             }
             else
             {
                 return(ResultResponse.ExceptionResult("上游零售商关联失败,请稍后在试"));
             }
         }
         entRelation.IsDefault  = 1;
         entRelation.Status     = status;
         entRelation.UpdateTime = DateTime.Now;
         val = DbAccess.ExecuteUpdate(TableName, entRelation, new string[] { "Id" });
         if (val > 0)
         {
             return(ResultResponse.GetSuccessResult(1));
         }
         return(ResultResponse.ExceptionResult("接受邀请失败"));
     }
     catch (Exception ex)
     {
         return(ResultResponse.ExceptionResult(ex));
     }
 }
示例#14
0
 private static int GetTemplateId(int templateId, Dictionary<string, object> response)
 {
     templateId = (templateId != AppSetting("RsvpChangeTemplate"))
         ? response.ToInt("templateId")
         : templateId;
     return templateId;
 }
示例#15
0
 public void StringToInt_Success()
 {
     Assert.AreEqual(456, _mockDictionary.ToInt("Int"));
 }
示例#16
0
 private Pledge MapRecordToPledge(Dictionary<string, object> record)
 {
     return new Pledge()
     {
         PledgeId = record.ToInt("Pledge_ID"),
         PledgeCampaignId = record.ToInt("Pledge_Campaign_ID"),
         DonorId = record.ToInt("Donor_ID"),
         PledgeStatus = record.ToString("Pledge_Status"),
         CampaignName = record.ToString("Campaign_Name"),   
         PledgeTotal = record["Total_Pledge"] as decimal? ?? 0,
         PledgeDonations = record["Donation_Total"] as decimal? ?? 0,
         CampaignStartDate = record.ToDate("Start_Date"),
         CampaignEndDate = record.ToDate("End_Date"),
         CampaignTypeId = record.ToInt("Pledge_Campaign_Type_ID"),
         CampaignTypeName = record.ToString("Campaign_Type")
     };
 }