/// <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); } }
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>(); }
/// <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; } }
/// <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; } }
/// <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; } }