protected void AddNewPlan(object sender, EventArgs e) { // Add new var plan = new Plan { Name = NewPlanDetail.Name, Duration = NewPlanDetail.Duration, FlagFall = NewPlanDetail.Flagfall, FreeCallAmount = NewPlanDetail.FreeCallAmount, NetworkId = NetworkId, PlanAmount = NewPlanDetail.PlanAmount, UnitOfTime = NewPlanDetail.UnitOfTime }; var request = new InsertPlanRequest { Plan = plan, DefaultNetworkTariffId = NewPlanDetail.DefaultNetworkTariffId, User = Users.Current }; var response = PlanService.InsertPlan(request); if (response.IsSuccessful) { UserMessage.MessageType = "Success"; UserMessage.Message = "New Plan has been added."; NewPlanButton.Visible = false; } else { UserMessage.MessageType = "Failure"; UserMessage.Message = response.Message; } }
public static InvoiceLine GetFreeCallComponent(this Invoice invoice, Contract contract, Plan plan, IInvoiceSettings settings) { return new InvoiceLine { ContractId = contract.Id.Value, Call = null, Description = settings.FreeCallComponentDescription, Invoice = invoice, GstAmount = -plan.FreeCallAmount / 11M, LineAmount = -plan.FreeCallAmount }; }
public CanDeletePlanResponse CanDelete(Plan plan) { var response = new CanDeletePlanResponse(); if (plan == null) { response.IsSuccessful = false; response.Message = "No plan supplied"; return response; } try { var contracts = _contractRepository.FindByPlanId(plan.Id.Value); response.OpenContractCount = contracts.Count(c => c.ContractStatus != ContractStatus.Closed); response.IsSuccessful = true; } catch (Exception) { response.IsSuccessful = false; response.Message = Constants.Messages.INTERNAL_ERROR; } return response; }
public static Contract CreateActiveContract(Account account, Plan plan, DateTime orderReceivedDate) { return new Contract(1, orderReceivedDate) { AccountId = account != null ? account.Id.Value : 0, ActivationDate = DateTime.Parse("2008-10-01"), ContractNumber = "LW00001", AgentId = null, ContractStatus = ContractStatus.Active, Data = false, MessageBank = false, EndDate = DateTime.Parse("2010-10-01"), IMEINumber = "1234556", SimCard = "1234523", PhoneNumber1 = "0411331273", Pin = "1234", Puk = "1234", PlanId = plan != null ? plan.Id.Value : 0, UsedBy = "Test" }; }
/// <summary> /// Validates a new plan for entry. /// </summary> /// <returns>Returns a string List of all validation error messages</returns> private IList<string> ValidateNewPlan(Plan plan) { IList<string> messages = new List<string>(); if (plan == null) { messages.Add("No Plan was supplied."); return messages; } if (plan.Id != null) messages.Add("Please supply a new plan."); if (plan.NetworkId > 0) { var network = _networkRepository.GetNetwork(plan.NetworkId); if (network == null) messages.Add("No Network was found."); } else { messages.Add("No Network was found."); } if (string.IsNullOrEmpty(plan.Name)) { messages.Add("A plan name was not supplied."); } if (plan.FlagFall < 0) { messages.Add("Plan flag fall is negative."); } if (plan.FreeCallAmount < 0) { messages.Add("Plan free call amount is negative."); } if (plan.PlanAmount < 0) { messages.Add("Plan amount is negative."); } if (plan.FreeCallAmount > plan.PlanAmount) { messages.Add("Plan free call amount is greater than the plan amount."); } if (plan.Duration < 0) { messages.Add("Plan duration is negative."); } return messages; }
public bool UpdatePlan(Plan plan) { // When a plan is updated we may need to update the units of time on uninvoiced calls. var existingPlan = _planRepository.GetPlan(plan.Id.Value); if (existingPlan != null) { if (existingPlan.UnitOfTime != plan.UnitOfTime) { // Recalculate unit of time on calls for this plan. var calls = _planRepository.GetCallsForPlan(plan.Id.Value); foreach (var call in calls) { call.UnitsOfTime = new UnitsOfTimeCalculator(call.CallType).Calculate(plan.UnitOfTime, (double)call.ActualVolume); _contractRepository.UpdateCall(call); } } } return _planRepository.UpdatePlan(plan); }
public static Contract CreateActiveContract(Account account, Plan plan) { return CreateActiveContract(account, plan, DateTime.Parse("2008-10-01")); }
public static Contract CreateContractOnSubAccount(SubAccount _subAccount, Plan plan) { return new Contract(2, DateTime.Now) { AccountId = _subAccount.Id.Value, ActivationDate = DateTime.Today.AddMonths(-9), EndDate = DateTime.Today.AddMonths(2), AgentId = null, ContractNumber = "LW00002", ContractStatus = ContractStatus.Active, Data = true, MessageBank = true, IMEINumber = "42932323123", SimCard = "12312312313", PhoneNumber1 = "0410000000", Pin = "1234", Puk = "1234", UsedBy = "Test", PlanId = plan.Id.Value }; }
private static Plan GetPlan() { var plan = new Plan(1) { DefaultTariffId = 1, Duration = 12, FlagFall = 0.5M, FreeCallAmount = 30M, Name = "Test Plan", NetworkId = 1, PlanAmount = 50, UnitOfTime = 30 }; return plan; }
private AirtimeBilling.Core.Entities.Plan PopulatePlanEntityFromPlan(Plan plan) { AirtimeBilling.Core.Entities.Plan entity = null; if (plan != null) { entity = new AirtimeBilling.Core.Entities.Plan(plan.PlanId) { Duration = plan.Duration, FlagFall = plan.Flagfall, FreeCallAmount = plan.FreeCallAmount, Name = plan.Name, PlanAmount = plan.PlanAmount, NetworkId = plan.NetworkId, DefaultTariffId = plan.DefaultTariffId.Value, UnitOfTime = plan.UnitOfTime }; } return entity; }
public static InvoiceLine GetNetworkAccessLine(this Invoice invoice, Contract contract, Plan plan, IInvoiceSettings settings) { return new InvoiceLine { Call = null, Description = settings.NetworkAccessFeeDescription, Invoice = invoice, Quantity = 1.0, ContractId = contract.Id.Value, LineAmount = plan.PlanAmount, GstAmount = plan.PlanAmount / 11 }; }