Пример #1
0
        //NOTE: Use Save() when calling directly, it will generate correct salt.
        //NOTE: Add and Update should be used only by Replication on the remote side, so that they don't regenerate salt again !!!
        public static void Update(string pSalt, PartnerDto pPartner)
        {
            using (Rbr_Db _db = new Rbr_Db()) {
                using (Transaction _tx = new Transaction(_db, pSalt, pPartner)) {
                    PartnerDto _originalPartner = PartnerManager.Get(_db, pPartner.PartnerId);

                    ContactInfoManager.Update(_db, pPartner.ContactInfo);

                    //TODO: NEW DAL - handle Person deletion...
                    if (pPartner.Employees != null)
                    {
                        foreach (PersonDto _employee in pPartner.Employees)
                        {
                            _employee.PartnerId = pPartner.PartnerId;
                            PersonManager.Save(_db, pSalt, _employee);
                        }
                    }

                    if (pPartner.BillingSchedule != null)
                    {
                        ScheduleManager.Save(_db, pPartner.BillingSchedule);
                    }
                    else if (_originalPartner.BillingSchedule != null)
                    {
                        ScheduleManager.Delete(_db, _originalPartner.BillingSchedule.ScheduleId);
                    }

                    PartnerManager.Update(_db, pPartner);

                    _tx.Commit();
                }
            }
        }
Пример #2
0
        public static void Credit(PersonDto pPerson, CustomerAcctPaymentDto pCustomerAcctPayment)
        {
            using (var _db = new Rbr_Db()) {
                using (var _tx = new Transaction(_db, pPerson, pCustomerAcctPayment)) {
                    pCustomerAcctPayment.DateTime = DateTime.Now;
                    //NOTE: make sure we got prev amnt
                    CustomerAcctRow _customerAcctRow = CustomerAcctManager.Get(_db, pCustomerAcctPayment.CustomerAcctId);
                    pCustomerAcctPayment.PreviousAmount = _customerAcctRow.Current_amount;
                    pCustomerAcctPayment.Person         = pPerson;
                    CustomerAcctManager.Credit(_db, pCustomerAcctPayment);
                    _tx.Commit();

                    PartnerDto     _partner     = PartnerManager.Get(_db, _customerAcctRow.Partner_id);
                    ContactInfoDto _contactInfo = ContactInfoManager.Get(_db, _partner.ContactInfo.ContactInfoId);
                    sendNotification(pPerson, pCustomerAcctPayment, _customerAcctRow, _partner, _contactInfo);
                }
            }
        }
Пример #3
0
 public static PartnerDto Get(int pPartnerId)
 {
     using (Rbr_Db _db = new Rbr_Db()) {
         return(PartnerManager.Get(_db, pPartnerId));
     }
 }