/// <summary>
        /// Validate if the Customer won a Promotion for calculating the VAlue awarded and save it into the DB
        /// </summary>
        /// <param name="promAdv">Reference value for warning the customer if he/she won an promotion</param>
        /// <param name="valueProm">Reference value for retrieving the value won.</param>
        /// <param name="p">Promotion Enum type</param>
        /// <param name="valueRecharge">Value Recharged by the Customer</param>
        /// <returns>true if the customer won a promotion, otherwise exit method.</returns>
        private bool saveGrantedBonus(ref string promAdv, ref decimal valueProm, Promotion p, decimal valueRecharge)
        {
            try
            {
                bool bonusGranted = (valueRecharge > 0) ? true : false;
                if (bonusGranted)
                {
                    //calcule bonus
                    valueProm       = BussinessOps.calculateBonus(valueRecharge, p.ValueType, p.Value);
                    rec.Value       = valueProm;
                    rec.Date        = DateTime.Now;
                    rec.Id          = cus.Id;
                    rec.PhoneNumber = cus.PhoneNumber;
                    rec.State       = 1;
                    int i = dataAccess.phoneRecharge(rec);

                    cusBonus               = new CustomerBonus();
                    cusBonus.Id            = rec.Id;
                    cusBonus.PhoneNumber   = rec.PhoneNumber;
                    cusBonus.PromotionId   = p.Id;
                    cusBonus.ActivationDay = DateTime.Now;
                    int res = dataAccess.customerBonus(cusBonus);
                    promAdv = "You have won a recharge bonus of " + rec.Value;
                }
                return(bonusGranted);
            }
            catch (Exception ex)
            {
                throw new Exception("saveGrantedBonus Error: " + ex.Message);
            }
        }
Exemplo n.º 2
0
 public PhoneCall()
 {
     dataAccess       = new DAO();
     cus              = new Customer();
     resp             = new Response();
     cusPhone         = new CustomerPhone();
     rec              = new Recharge();
     call             = new Call();
     cusBonus         = new CustomerBonus();
     transValidations = new BusinessValidations();
 }
 public PhoneTransactions()
 {
     dataAccess       = new DAO();
     resp             = new Response();
     cus              = new Customer();
     phoneBalance     = new CustomerPhone();
     transValidations = new BusinessValidations();
     cusBonus         = new CustomerBonus();
     rec              = new Recharge();
     listCus          = new List <CustomerBonus>();
 }
Exemplo n.º 4
0
 /// <summary>
 /// Method that convert a CustomerBonusEntity(Database) into CustomerBonus
 /// </summary>
 /// <param name="cusBonus">CustomerBonusEntity</param>
 /// <returns>CustomerBonus</returns>
 public CustomerBonus convertToEntity(CustomerBonusEntity cusBonus)
 {
     try
     {
         CustomerBonus cBonus = new CustomerBonus();
         cBonus.Id            = cusBonus.Customer_Id;
         cBonus.PhoneNumber   = cusBonus.Phone_Number;
         cBonus.BonusCode     = cusBonus.Promotion_Id;
         cBonus.ActivationDay = cusBonus.Activation_day;
         return(cBonus);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Exemplo n.º 5
0
 /// <summary>
 /// Method that convert a IQueryable<CustomerBonusEntity>(Database) into List<CustomerBonus>
 /// </summary>
 /// <param name="queryable">IQueryable<CustomerBonusEntity></param>
 /// <returns>List<CustomerBonus></returns>
 public List <CustomerBonus> convertToEntity(IQueryable <CustomerBonusEntity> queryable)
 {
     try
     {
         List <CustomerBonus> lcusb = new List <CustomerBonus>();
         foreach (var item in queryable)
         {
             var cusBonus = new CustomerBonus();
             cusBonus.ActivationDay = item.Activation_day;
             cusBonus.BonusCode     = item.Bonus_Code;
             cusBonus.Id            = item.Customer_Id;
             cusBonus.PhoneNumber   = item.Phone_Number;
             cusBonus.PromotionId   = item.Promotion_Id;
             lcusb.Add(cusBonus);
         }
         return(lcusb);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Exemplo n.º 6
0
        /// <summary>
        /// insert an awarded bonus to a customer
        /// </summary>
        /// <param name="cusBonus"></param>
        /// <returns></returns>
        public int customerBonus(CustomerBonus cusBonus)
        {
            int res = 0;

            try
            {
                using (var dbCtx = new CallMonitorModelEntities())
                {
                    dbCtx.CUSTOMER_BONUS.Add(new CustomerBonusEntity
                    {
                        Customer_Id    = cusBonus.Id,
                        Phone_Number   = cusBonus.PhoneNumber,
                        Promotion_Id   = cusBonus.PromotionId,
                        Activation_day = cusBonus.ActivationDay
                    });
                    res = dbCtx.SaveChanges();
                }
                return(res);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }