//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);
                }
            }
        }
Beispiel #2
0
 public async Task <int> InsertBusinessRule(BusinessRules businessRules)
 {
     try
     {
         context.BusinessRule.Add(businessRules);
         context.SaveChanges();
         return(businessRules.BusinessRuleId);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
 public async Task <int> InsertPaymentOptions(PaymentOptions paymentOptions)
 {
     try
     {
         context.PaymentOption.Add(paymentOptions);
         context.SaveChanges();
         return(paymentOptions.PaymentOptionId);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
 public async Task <int> InsertModule(Modules module)
 {
     try
     {
         context.Module.Add(module);
         context.SaveChanges();
         return(module.ModuleId);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
 public async Task <int> ActivateMemberShip(MemberShip memberShip)
 {
     try
     {
         context.MemberShip.Add(memberShip);
         context.SaveChanges();
         return(memberShip.MembershipId);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }