Пример #1
0
        public List <PartnerDetails> GetPartners()
        {
            SqlConnection  con = new SqlConnection(ConnectionString);
            SqlCommand     cmd = new SqlCommand("select Partner_id,Partner_name,Contact_fname,Contact_mname,Contact_lname,Contact_email,Contact_phno,Partner_address_line1,Partner_address_line2,Partner_city,Partner_state,Partner_zipcode from Partner", con);
            DataTable      dt  = new DataTable();
            SqlDataAdapter da  = new SqlDataAdapter(cmd);

            da.Fill(dt);
            List <PartnerDetails> partnerDetails = new List <PartnerDetails>();

            foreach (DataRow row in dt.Rows)
            {
                PartnerDetails partnerDetail = new PartnerDetails();
                partnerDetail.PartnerID           = Guid.Parse(row["Partner_id"].ToString());
                partnerDetail.PartnerName         = row["Partner_name"].ToString();
                partnerDetail.ContactFirstName    = row["Contact_fname"].ToString();
                partnerDetail.ContactMiddleName   = row["Contact_mname"].ToString();
                partnerDetail.ContactLastName     = row["Contact_lname"].ToString();
                partnerDetail.ContactEmail        = row["Contact_email"].ToString();
                partnerDetail.ContactPhoneNumber  = row["Contact_phno"].ToString();
                partnerDetail.PartnerAddressLine1 = row["Partner_address_line1"].ToString();
                partnerDetail.PartnerAddressLine2 = row["Partner_address_line2"].ToString();
                partnerDetail.PartnerCity         = row["Partner_city"].ToString();
                partnerDetail.PartnerState        = row["Partner_state"].ToString();
                partnerDetail.PartnerZipcode      = row["Partner_zipcode"].ToString();
                partnerDetails.Add(partnerDetail);
            }

            return(partnerDetails);
        }
Пример #2
0
        private static PartnerDetails GetRecipient(Int64 APartnerKey)
        {
            if (RecipientList.ContainsKey(APartnerKey))
            {
                return(RecipientList[APartnerKey]);
            }

            PartnerDetails Ret        = new PartnerDetails();
            PPartnerTable  PartnerTbl = PPartnerAccess.LoadByPrimaryKey(APartnerKey, FTransaction);

            if (PartnerTbl.Rows.Count > 0)
            {
                PPartnerRow PartnerRow = PartnerTbl[0];

                Ret.LastName = PartnerRow.PartnerShortName;

                if (PartnerRow.PartnerClass == "PERSON")
                {
                    PPersonTable PersonTbl = PPersonAccess.LoadByPrimaryKey(APartnerKey, FTransaction);

                    if (PersonTbl.Rows.Count > 0)
                    {
                        PPersonRow PersonRow = PersonTbl[0];
                        Ret.FirstName = PersonRow.FirstName;
                        Ret.LastName  = PersonRow.FamilyName;
                        Ret.Class     = "PERSON";
                    }
                }

                if (PartnerRow.PartnerClass == "FAMILY")
                {
                    PFamilyTable FamilyTbl = PFamilyAccess.LoadByPrimaryKey(APartnerKey, FTransaction);

                    if (FamilyTbl.Rows.Count > 0)
                    {
                        PFamilyRow FamilyRow = FamilyTbl[0];
                        Ret.FirstName = FamilyRow.FirstName;
                        Ret.LastName  = FamilyRow.FamilyName;
                        Ret.Class     = "FAMILY";
                    }
                }

                PPartnerLocationRow LocationRow;
                TLocationPK         LocationKey = ServerCalculations.DetermineBestAddress(APartnerKey, out LocationRow);

                if (LocationKey.LocationKey != -1)
                {
                    Ret.Email = LocationRow.EmailAddress;
                }
            }

            RecipientList.Add(APartnerKey, Ret);
            return(Ret);
        }
Пример #3
0
        internal static void CreatePartner(string name, string accType, string accNo, string orgName)
        {
            if (name.Equals("AutoGen"))
            {
                name = "Automation" + DateTime.Now.ToString("yyMMddmm");
            }

            if (accNo.Equals("AutoGen"))
            {
                accNo = DateTime.Now.ToString("yyMMddmm");
            }

            PartnerDetails partner = new PartnerDetails(name, accType, accNo, orgName);

            queryBody = "[" + SimpleJson.SerializeObject(partner) + "]";

            StaticObjectRepo.restResponse = ExecuteAPI.CallAPI(queryBody);
        }
Пример #4
0
        public Partner Update(PartnerDetails partner)
        {
            var p = Partners
                    .Include(x => x.ResidentOf)
                    .First(x => x.Id == partner.Id);

            p.Address.UpdateFromModel(partner.Address);
            DbContext.Add(p.Address);
            p.Name       = partner.Name;
            p.Phone      = partner.Phone;
            p.IsResident = partner.IsResident;
            p.IsSupplier = partner.IsSupplier;
            p.ResidentOf = Condominiums
                           .Where(x =>
                                  partner.Condominiums
                                  .Select(c => c.Id)
                                  .ToArray()
                                  .Contains(x.Id ?? 0)).ToList();
            DbContext.SaveChanges();
            return(p.ToModel());
        }
Пример #5
0
        public Partner Create(PartnerDetails partner)
        {
            var entity = new Entities.Partner()
            {
                IsResident = partner.IsResident,
                Address    = Entities.Address.FromModel(partner.Address),
                IsSupplier = partner.IsSupplier,
                Name       = partner.Name,
                Phone      = partner.Phone,
                Owner      = User,
                ResidentOf = Condominiums
                             .Where(x =>
                                    partner.Condominiums
                                    .Select(c => c.Id)
                                    .ToArray()
                                    .Contains(x.Id ?? 0)).ToList()
            };

            DbContext.Add(entity);
            DbContext.Add(entity.Address);
            DbContext.SaveChanges();
            return(entity.ToModel());
        }
Пример #6
0
        protected void AddUser(object sender, EventArgs e)
        {
            PartnerDetails partnerObject = new PartnerDetails();

            partnerObject.PartnerID           = Guid.NewGuid();
            partnerObject.PartnerName         = Partner_name.Text;
            partnerObject.ContactFirstName    = Contact_fname.Text;
            partnerObject.ContactMiddleName   = Contact_mname.Text;
            partnerObject.ContactLastName     = Contact_lname.Text;
            partnerObject.ContactEmail        = Contact_email.Text;
            partnerObject.ContactPhoneNumber  = Contact_phno.Text;
            partnerObject.PartnerAddressLine1 = Partner_address_line1.Text;
            partnerObject.PartnerAddressLine2 = Partner_address_line2.Text;
            partnerObject.PartnerCity         = Partner_city.Text;
            partnerObject.PartnerState        = Partner_state.Text;
            partnerObject.PartnerZipcode      = Partner_zipcode.Text;

            SqlCommand cmd = new SqlCommand("Insert into Partner values('" + partnerObject.PartnerID + "','" + partnerObject.PartnerName + "','" + partnerObject.ContactFirstName + "','" + partnerObject.ContactMiddleName + "','" + partnerObject.ContactLastName + "','" + partnerObject.ContactEmail + "'," + partnerObject.ContactPhoneNumber + ",'" + partnerObject.PartnerAddressLine1 + "','" + partnerObject.PartnerAddressLine2 + "','" + partnerObject.PartnerCity + "','" + partnerObject.PartnerState + "','" + partnerObject.PartnerZipcode + "')", con);

            cmd.ExecuteNonQuery();
            con.Close();
            Panel1.Visible = true;
            Response.Redirect("~/PartnerManagement/Partner.aspx");
        }
Пример #7
0
 public Partner Patch([FromBody] PartnerDetails partner)
 {
     return(PartnerService.Update(partner));
 }
Пример #8
0
 public Partner Post([FromBody] PartnerDetails partner)
 {
     return(PartnerService.Create(partner));
 }
Пример #9
0
 public Partner Update(PartnerDetails partner)
 {
     return(PartnerRepository.Update(partner));
 }
Пример #10
0
 public Partner Create(PartnerDetails partner)
 {
     return(PartnerRepository.Create(partner));
 }
Пример #11
0
        private static Boolean ExportDonations(Int32 ADaySpan)
        {
            GetGiftBatches(ADaySpan);

            StreamWriter sw1 = File.CreateText(FExportFilePath + "donor.csv");

            sw1.WriteLine("first_name,last_name,partner_key,email,address,telephone,anonymous,class");
            StreamWriter sw2 = File.CreateText(FExportFilePath + "donation.csv");

            sw2.WriteLine("donor,recipient,trans_amount,trans_currency,base_amount,admin_gif,admin_ict,admin_other," +
                          "base_currency,intl_amount,intl_currency,date,id,source_ledger,recipient_field,anonymous,comment1,for1,comment2,for2,comment3,for3");

            foreach (BatchKey Batch in GiftBatches)
            {
                String GiftBatchQuery = "SELECT " +
                                        "PUB_a_gift.p_donor_key_n AS DonorKey, " +
                                        "PUB_a_gift_detail.p_recipient_key_n AS RecipientKey, " +
                                        "PUB_a_gift_detail.a_gift_transaction_amount_n AS TransactionAmount, " +
                                        "PUB_a_gift_batch.a_currency_code_c AS CurrencyCode, " +
                                        "PUB_a_gift_detail.a_gift_amount_n AS GiftAmount, " +
                                        "PUB_a_ledger.a_base_currency_c AS BaseCurrency, " +
                                        "PUB_a_gift_detail.a_gift_amount_intl_n AS IntlAmount, " +
                                        "PUB_a_gift_detail.a_cost_centre_code_c AS CostCentre, " +
                                        "PUB_a_ledger.a_intl_currency_c AS IntlCurrency, " +
                                        "PUB_a_gift_batch.a_gl_effective_date_d AS EffectiveDate, " +
                                        "PUB_a_gift_batch.a_batch_number_i AS BatchNumber, " +
                                        "PUB_a_gift.a_gift_transaction_number_i AS TransactionNumber, " +
                                        "PUB_a_gift_detail.a_detail_number_i AS DetailNumber, " +
                                        "PUB_a_gift_detail.a_confidential_gift_flag_l AS Confidential, " +
                                        "PUB_a_gift_detail.a_gift_comment_one_c AS CommentOne, " +
                                        "PUB_a_gift_detail.a_comment_one_type_c AS CommentOneType, " +
                                        "PUB_a_gift_detail.a_gift_comment_two_c AS CommentTwo, " +
                                        "PUB_a_gift_detail.a_comment_two_type_c AS CommentTwoType, " +
                                        "PUB_a_gift_detail.a_gift_comment_three_c AS CommentThree, " +
                                        "PUB_a_gift_detail.a_comment_three_type_c AS CommentThreeType " +
                                        "FROM PUB_a_gift_batch " +
                                        "LEFT JOIN PUB_a_gift ON PUB_a_gift_batch.a_batch_number_i = PUB_a_gift.a_batch_number_i AND PUB_a_gift_batch.a_ledger_number_i = PUB_a_gift.a_ledger_number_i "
                                        +
                                        "LEFT JOIN PUB_a_gift_detail on PUB_a_gift_detail.a_ledger_number_i = PUB_a_gift.a_ledger_number_i AND PUB_a_gift_detail.a_batch_number_i = PUB_a_gift.a_batch_number_i AND PUB_a_gift_detail.a_gift_transaction_number_i  = PUB_a_gift.a_gift_transaction_number_i "
                                        +
                                        "LEFT JOIN PUB_a_motivation_detail ON PUB_a_motivation_detail.a_ledger_number_i = PUB_a_gift_detail.a_ledger_number_i AND PUB_a_motivation_detail.a_motivation_group_code_c = PUB_a_gift_detail.a_motivation_group_code_c AND PUB_a_motivation_detail.a_motivation_detail_code_c = PUB_a_gift_detail.a_motivation_detail_code_c "
                                        +
                                        "LEFT JOIN PUB_p_partner on PUB_a_gift.p_donor_key_n = PUB_p_partner.p_partner_key_n " +
                                        "LEFT JOIN PUB_a_ledger on PUB_a_gift_batch.a_ledger_number_i = PUB_a_ledger.a_ledger_number_i " +
                                        "WHERE PUB_a_gift_batch.a_ledger_number_i = " + Batch.LedgerNumber + " " +
                                        "AND PUB_a_gift_batch.a_batch_number_i = " + Batch.BatchNumber + " " +
                                        "AND PUB_a_motivation_detail.a_export_to_intranet_l = true " +
                                        "ORDER BY PUB_a_gift.p_donor_key_n";
                DataSet GiftBatchDS = DBAccess.GDBAccessObj.Select(GiftBatchQuery, "GiftBatchTbl", FTransaction);

                foreach (DataRow Row in GiftBatchDS.Tables["GiftBatchTbl"].Rows)
                {
                    Int32 RecipientKey  = Convert.ToInt32(Row["RecipientKey"]);
                    Int32 RecipientFund = Batch.LedgerNumber;

                    // If no RecipientKey was specified, I need to get one:
                    if (RecipientKey == 0)
                    {
                        // If the Gift is on a foreign ledger,
                        // then RecipientKey is the PartnerKey of that ledger
                        ACostCentreTable CostCentreTbl = ACostCentreAccess.LoadByPrimaryKey(Batch.LedgerNumber,
                                                                                            Row["CostCentre"].ToString(), FTransaction);

                        if ((CostCentreTbl.Rows.Count == 1) && (CostCentreTbl[0].CostCentreType == "Foreign"))
                        {
                            AValidLedgerNumberTable ValidLedgerNumberTbl =
                                AValidLedgerNumberAccess.LoadViaACostCentre(Batch.LedgerNumber, Row["CostCentre"].ToString(), FTransaction);

                            if (ValidLedgerNumberTbl.Rows.Count == 1)
                            {
                                RecipientKey  = Convert.ToInt32(ValidLedgerNumberTbl[0].PartnerKey);
                                RecipientFund = RecipientKey;
                            }
                        }
                    }

                    // Otherwise, I can derive a RecipientKey from the Ledger Number.
                    if (RecipientKey == 0)
                    {
                        RecipientKey  = Batch.LedgerNumber * 1000000;
                        RecipientFund = RecipientKey;
                    }

                    GetDonor(Convert.ToInt32(Row["DonorKey"])); // This adds the Donor to my list if it's not already present.
                    GetRecipient(RecipientKey);                 // This adds the recipient to my list if it's not already present.

                    decimal GIFFee;
                    decimal ICTFee;
                    decimal OtherFee;
                    GetAdminFees(Batch.LedgerNumber,
                                 Convert.ToInt32(Row["BatchNumber"]), Convert.ToInt32(Row["TransactionNumber"]), Convert.ToInt32(Row["DetailNumber"]),
                                 out GIFFee, out ICTFee, out OtherFee);
                    sw2.WriteLine(String.Format(
                                      "{0:D10},{1:D10},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11},\"{12},{13},{14},{15}\",{16:D10},{17:D10},{18},\"{19}\",\"{20}\",\"{21}\",\"{22}\",\"{23}\",\"{24}\"",
                                      Row["DonorKey"],               //  0
                                      RecipientKey,                  //  1
                                      Row["TransactionAmount"],      //  2
                                      Row["CurrencyCode"],           //  3
                                      Row["GiftAmount"],             //  4
                                      GIFFee,                        //  5
                                      ICTFee,                        //  6
                                      OtherFee,                      //  7
                                      Row["BaseCurrency"],           //  8
                                      Row["IntlAmount"],             //  9
                                      Row["IntlCurrency"],           // 10
                                      PutDate(Row["EffectiveDate"]), // 11
                                      Batch.LedgerNumber,            // 12
                                      Row["BatchNumber"],            // 13
                                      Row["TransactionNumber"],      // 14
                                      Row["DetailNumber"],           // 15
                                      Batch.LedgerNumber * 1000000,  // 16
                                      RecipientFund,                 // 17
                                      Row["Confidential"],           // 18
                                      Row["CommentOne"],             // 19
                                      Row["CommentOneType"],         // 20
                                      Row["CommentTwo"],             // 21
                                      Row["CommentTwoType"],         // 22
                                      Row["CommentThree"],           // 23
                                      Row["CommentThreeType"]        // 24
                                      ));
                }
            }

            foreach (Int64 PartnerKey in DonorList.Keys)
            {
                PartnerDetails Row = DonorList[PartnerKey];
                sw1.WriteLine(String.Format("\"{0}\",\"{1}\",{2:D10},\"{3}\",\"{4}\",{5},{6},{7}",
                                            Row.FirstName, Row.LastName, PartnerKey, Row.Email, Row.Address, Row.Telephone, Row.Anonymous ? "true" : "false", Row.Class));
            }

            sw1.Close();
            sw2.Close();

            StreamWriter sw3 = File.CreateText(FExportFilePath + "recipient.csv");

            sw3.WriteLine("recipient,first_name,last_name,email,class");

            foreach (Int64 PartnerKey in RecipientList.Keys)
            {
                PartnerDetails Row = RecipientList[PartnerKey];
                sw3.WriteLine(String.Format("{0},\"{1}\",\"{2}\",\"{3}\",{4}", PartnerKey, Row.FirstName, Row.LastName, Row.Email, Row.Class));
            }

            sw3.Close();

            return(true);
        }
Пример #12
0
        private static PartnerDetails GetDonor(Int64 APartnerKey)
        {
            if (DonorList.ContainsKey(APartnerKey))
            {
                return(DonorList[APartnerKey]);
            }

            PartnerDetails Ret        = new PartnerDetails();
            PPartnerTable  PartnerTbl = PPartnerAccess.LoadByPrimaryKey(APartnerKey, FTransaction);

            if (PartnerTbl.Rows.Count > 0)
            {
                PPartnerRow PartnerRow = PartnerTbl[0];

                Ret.LastName  = PartnerRow.PartnerShortName;
                Ret.Anonymous = PartnerRow.AnonymousDonor;

                if (PartnerRow.PartnerClass == "PERSON")
                {
                    PPersonTable PersonTbl = PPersonAccess.LoadByPrimaryKey(APartnerKey, FTransaction);

                    if (PersonTbl.Rows.Count > 0)
                    {
                        PPersonRow PersonRow = PersonTbl[0];
                        Ret.FirstName = PersonRow.FirstName;
                        Ret.LastName  = PersonRow.FamilyName;
                        Ret.Class     = "PERSON";
                    }
                }

                if (PartnerRow.PartnerClass == "FAMILY")
                {
                    PFamilyTable FamilyTbl = PFamilyAccess.LoadByPrimaryKey(APartnerKey, FTransaction);

                    if (FamilyTbl.Rows.Count > 0)
                    {
                        PFamilyRow FamilyRow = FamilyTbl[0];
                        Ret.FirstName = FamilyRow.FirstName;
                        Ret.LastName  = FamilyRow.FamilyName;
                        Ret.Class     = "FAMILY";
                    }
                }

                PPartnerLocationRow PartnerLocationRow;
                TLocationPK         LocationKey = ServerCalculations.DetermineBestAddress(APartnerKey, out PartnerLocationRow);

                if (LocationKey.LocationKey != -1)
                {
                    Ret.Email     = PartnerLocationRow.EmailAddress;
                    Ret.Telephone = PartnerLocationRow.TelephoneNumber;
                    PLocationTable LocationTbl = PLocationAccess.LoadByPrimaryKey(PartnerLocationRow.SiteKey,
                                                                                  PartnerLocationRow.LocationKey,
                                                                                  FTransaction);

                    if (LocationTbl.Rows.Count > 0)
                    {
                        PLocationRow LocationRow = LocationTbl[0];
                        Ret.Address = Calculations.DetermineLocationString(LocationRow, Calculations.TPartnerLocationFormatEnum.plfCommaSeparated);
                    }
                }
            }

            DonorList.Add(APartnerKey, Ret);
            return(Ret);
        }