//public bool SaveData(string actionName, Payment payment, SlipDeatils slipDeatils, MemberShip memberShip,string VideoType) //{ // switch (actionName) // { // case "Product": // GenerateProductSlip(payment, slipDeatils, 'P'); // //Generate Commission // break; // case "Book": // GenerateProductSlip(payment, slipDeatils, 'B'); // //Generate Commission // // Statements executed if expression(or variable) = value1 // break; // case "Activate": // MembershipPayment(payment, memberShip, 'S'); // //Generate Commission // // Statements executed if expression(or variable) = value1 // break; // case "Upgrade": // MembershipPayment(payment, memberShip, 'U'); // //Generate Commission // // Statements executed if expression(or variable) = value1 // break; // case "UpgradeEmail": // SendEmail(payment); // //Generate Commission // // Statements executed if expression(or variable) = value1 // break; // break; // case "Video": // if(VideoType=="First Aid") // { // SaveVideoPayment(payment); // } // break; // default: // break; // // Statements executed if no case matches // } // throw new NotImplementedException(); //} public async Task <bool> GenerateSlip(int moduleId, Payment payment, SlipDeatils slipDeatils, Char slipType) { using (var transaction = context.Database.BeginTransaction()) { try { context.Payment.Add(payment); context.SaveChanges(); slipDeatils.PaymentId = payment.PaymentId; slipDeatils.SlipType = slipType; context.SlipDeatil.Add(slipDeatils); context.SaveChanges(); var query = context.Agents.Where(a => a.ModuleId == moduleId); if (query != null) { decimal commision = payment.PaidAmount * (Convert.ToDecimal(query.Select(a => a.CommisionPercentage)) / 100); AgentCommission agentCommission = new AgentCommission(); agentCommission.AgentId = Convert.ToInt32(query.Select(a => a.AgentId)); agentCommission.CommisionAmount = commision; context.AgentCommission.Add(agentCommission); context.SaveChanges(); } transaction.Commit(); return(true); } catch (Exception ex) { transaction.Rollback(); return(false); } } }
public async Task GenerateSlipTest() { try { Payment payment = new Payment { PaymentOptionId = 1, IsPaid = true, Status = 'P', PaidDate = DateTime.Now, PaidAmount = 200 }; SlipDeatils slipDeatils = new SlipDeatils { SlipAddress = "aaa", ContactNumber = "2233" }; IPaymentRepository paymentRepository = GetPaymentRepository(); var result = await paymentRepository.GenerateSlip(1, payment, slipDeatils, 'P'); Assert.True(Convert.ToInt32(result) > 0, "The DataSved Successfully !!"); } catch (Exception ex) { Assert.NotNull(ex); Assert.IsType <InvalidOperationException>(ex); } }
public async Task GenerateBookSlipTest() { try { var controller = new PaymentController(); Payment payment = new Payment { PaymentOptionId = 2, IsPaid = true, Status = 'P', PaidDate = DateTime.Now, PaidAmount = 200 }; SlipDeatils slipDeatils = new SlipDeatils { SlipAddress = "aaa", ContactNumber = "2233" }; int moduleId = 2; var result = await controller.GenerateBookSlip(moduleId, payment, slipDeatils); Assert.Equal(result.Value, true); Assert.NotEqual(result.Value, true); } catch (Exception ex) { Assert.NotNull(ex); } }
public async Task <JsonResult> GenerateBookSlip(int moduleId, Payment payment, SlipDeatils slipDeatils) { var result = await paymentRepository.GenerateSlip(moduleId, payment, slipDeatils, 'B'); return(new JsonResult(result)); }