//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 HttpResponseMessage Commission(AgentCommission commission) { using (var context = new ApplicationDbContext()) { var entity = context.Commissions.Where(r => r.AgentCode == commission.AgentCode).FirstOrDefault(); if (entity != null) { entity.CommissionPercent = commission.CommissionPercent; } else //New Record { context.Commissions.Add(commission); } return(Request.CreateResponse(HttpStatusCode.OK, context.SaveChanges() == 1 ? true : false)); } }
public async Task <ResponseMessage> AddAgentCommission(PackingSlipHeader packingSlipHeader, decimal amount) { ResponseMessage message = new ResponseMessage { IsSuccess = false }; var commission = new AgentCommission { AgentName = packingSlipHeader.AgentName, Amount = amount, PackingSlipId = packingSlipHeader.Id }; _context.AgentCommissions.Add(commission); await _context.SaveChangesAsync(); message.IsSuccess = true; return(message); }
public ActionResult AddCommision(AgentCommissionModel model) { ModelState.Remove("Id"); ModelState.Remove("ManagementCommission"); if (ModelState.IsValid) { var agentCommission = InsuranceContext.AgentCommissions.Single(where : $"BusinessSourceId =" + model.BusinessSourceId); if (agentCommission == null) { AgentCommission agentCommision = new AgentCommission { BusinessSourceId = model.BusinessSourceId, CommissionName = model.CommissionName, CommissionAmount = model.CommissionAmount, CreatedOn = DateTime.Now }; InsuranceContext.AgentCommissions.Insert(agentCommision); } else { TempData["errorMsg"] = "Agent commmission alredy exist for selected source."; } } return(RedirectToAction("Commission")); }