public void UpdateCurrentDefinitivePlans(UpdateSuggestedPlanModel updatePlan) { var defPlansList = _curretDefinitvePlans; var ofertPlan = _ofertPlanList.Where(x => x.Plan.Equals(updatePlan.Plan)).FirstOrDefault(); _curretDefinitvePlans = defPlansList.Select(x => new DefinitivePlanModel { RecomendadorId = x.RecomendadorId, Plan = x.Plan, Bono = x.Bono, Roaming = x.Roaming, TMM_s_iva = x.TMM_s_iva, TmmString = TelefonicaHelper.FormatCultureNumber(x.TMM_s_iva) }).ToList(); // foreach (var plan in _curretDefinitvePlans) { if (plan.RecomendadorId == updatePlan.PlanToEdit) { plan.Plan = ofertPlan.Plan; plan.Bono = ofertPlan.Bono_ / 1024; plan.Roaming = ofertPlan.Roaming; plan.TMM_s_iva = ofertPlan.TMM_s_iva; plan.TmmString = TelefonicaHelper.FormatCultureNumber(ofertPlan.TMM_s_iva); } } }
/// <summary> /// Metodo que genera los html con los datos de moviles y las tarifas /// </summary> private void GenerateHtml(string directoryUrl, List <DevicePymes> mobileDevices, List <OfertPlan> planList, string companyName, double devicePayment) { try { GenerateHtmlMobiles(directoryUrl, mobileDevices); var firstHtmlsourcePath = Path.Combine(directoryUrl, "Subsidy.html"); string content = string.Empty; decimal devicesCost = GetDevicesCost(mobileDevices); var contentPlans = GetContentPlans(planList); var monthyFee = GetMothlyFee(planList); double subsidio = (double)devicesCost; StreamReader objReader = new StreamReader(firstHtmlsourcePath); content = objReader.ReadToEnd(); objReader.Close(); var today = DateTime.Today; string formatDate = today.ToString("dd/M/yyyy", CultureInfo.InvariantCulture); content = Regex.Replace(content, "{date}", formatDate) .Replace("{company}", companyName) .Replace("{plans}", contentPlans) .Replace("{subsidio}", TelefonicaHelper.FormatCultureDouble(subsidio)) .Replace("{monthlyFee}", TelefonicaHelper.FormatCultureDouble((double)monthyFee)) .Replace("{devicePayment}", TelefonicaHelper.FormatCultureDouble(devicePayment)); StreamWriter writer = new StreamWriter(firstHtmlsourcePath); writer.Write(content); writer.Close(); } catch (Exception ex) { DeleteDirectory(directoryUrl); throw ex; } }