/// <summary> /// Method that convert a MinimunRechargeEntity(Database) into MinimunRecharge /// </summary> /// <param name="minR">MinimunRechargeEntity</param> /// <returns>MinimunRecharge</returns> public MinimunRecharge convertToEntity(MinimunRechargeEntity minR) { try { MinimunRecharge minRecharge = new MinimunRecharge(); minRecharge.id = minR.Id; minRecharge.minValue = minR.MinimunValue; minRecharge.Period = minRecharge.Period; return(minRecharge); } catch (Exception ex) { throw ex; } }
/// <summary> /// Method that iterates into each promotion. /// </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> private void customerPromotions(ref string promAdv, ref decimal valueProm) { try { bool bonusGranted = false; List <Promotion> prom = dataAccess.getPromotions(); foreach (var p in prom) { switch (p.Id) { case 1: decimal sumRecharge = dataAccess.getAllCustomerRecharges(cus).Sum(c => c.Value); bonusGranted = saveGrantedBonus(ref promAdv, ref valueProm, p, sumRecharge); break; case 2: MinimunRecharge minRec = dataAccess.getMinRechargePerPeriod(Convert.ToInt32(Period.Weekly)); DateTime dt1 = DateTime.Today.AddDays(-7); var lRecharges = dataAccess.getAllCustomerRecharges(cus).Where(c => c.Date >= dt1 && c.Date <= DateTime.Today && c.Value == minRec.minValue).ToList(); decimal avgRecharge = 0; if (lRecharges.Count() > 0) { avgRecharge = lRecharges.Average(c => c.Value); } bonusGranted = saveGrantedBonus(ref promAdv, ref valueProm, p, avgRecharge); break; default: bonusGranted = false; break; } if (bonusGranted) { break; } } } catch (Exception ex) { throw new Exception("customerPromotions Error: " + ex.Message); } }