public Result Delete(InsuranceProduct model)
        {
            Result res = new Result(false);

            try
            {
                using (IDbConnection connection = OpenConnection(dataConnection))
                {
                    IDbTransaction txn = connection.BeginTransaction();

                    string query = @"DELETE FROM InsProductVsParameter WHERE InsPrdId = @InsPrdId;
                                     DELETE FROM InsuranceProduct  OUTPUT deleted.InsPrdId WHERE InsPrdId = @InsPrdId;";
                    //int id = connection.Execute(query, model);
                    int id = connection.Query <int>(query, model, txn).First();
                    txn.Commit();
                    if (id > 0)
                    {
                        return(new Result(true));
                    }
                }
            }
            catch (Exception ex)
            {
                return(new Result(false, ex.InnerException == null ? ex.Message : ex.InnerException.Message));
            }
            return(res);
        }
        //Add new product
        #region Add New Product
        protected void btnCreate_Click(object sender, EventArgs e)
        {
            InsuranceProduct prod = new InsuranceProduct();

            prod.Product_ID   = int.Parse(txtProductId.Text);
            prod.Product_name = txtProductName.Text;
            if (rdbLife.Checked == true)
            {
                prod.Product_description = "Life";
            }
            else
            {
                prod.Product_description = "NonLife";
            }
            int n = bll.CreateProduct(prod);

            if (n == 1)
            {
                Response.Write("<script type = 'text/javascript'>alert('Customer Added Successfully')</script>");

                Response.Redirect("AdminAddInsuranceProduct.aspx");
            }
            else
            {
                Response.Write("<script type = 'text/javascript'>alert('Customer Not Added!!! Try Again ')</script>");
            }
        }
        public Result Update(InsuranceProduct model)
        {
            Result res = new Result(false);

            try
            {
                using (IDbConnection connection = OpenConnection(dataConnection))
                {
                    string sql = @" UPDATE InsuranceProduct SET 
                                    InsPrdName=@InsPrdName
                                   ,InsPrdShortName=@InsPrdShortName
                                   ,InsTypeId=@InsTypeId 
                                   ,InsActiveDate=@InsActiveDate
                                    WHERE InsPrdId=@InsPrdId";
                    int    id  = connection.Execute(sql, model);
                    if (id > 0)
                    {
                        return(new Result(true));
                    }
                }
            }
            catch (Exception ex)
            {
                return(new Result(false, ex.InnerException == null ? ex.Message : ex.InnerException.Message));
            }
            return(res);
        }
        public static Product CreateProduct(ProductCategory productCategory)
        {
            Product product;

            switch (productCategory)
            {
            case ProductCategory.Insurance:
                product = new InsuranceProduct();
                break;

            case ProductCategory.Messenger:
                product = new GhasedakProduct();
                break;

            case ProductCategory.IaaS:
                product = new ArvanCloudProduct();
                break;

            case ProductCategory.CreditCalculation:
                product = new AbaciProduct();
                break;

            case ProductCategory.Security:
                product = new SejelProduct();
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }

            return(product);
        }
        protected override async Task <GetProductResponse> HandleCoreAsync(GetProductRequest request)
        {
            var abi = await CachedABIManager.GetAbiAsync(request.ProductAddress);

            var insuranceProductContract = new InsuranceProduct(request.ProductAddress, abi);

            var product = await insuranceProductContract.GetProductAsync();

            return(new GetProductResponse
            {
                Address = request.ProductAddress,
                PremiumCalcultator = product.PremiumCalcultator,
                InvestorsPool = product.InvestorsPool,
                StartDateUtc = product.StartDateUtc,
                EndDateUtc = product.EndDateUtc,
                Title = product.Title,
                Description = product.Description,
                PolicyTermInSeconds = product.PolicyTermInSeconds,
                BasePremium = product.BasePremium,
                Payout = product.Payout,
                Loading = product.Loading,
                PoliciesLimit = product.PoliciesLimit,
                ProductPoolLimit = product.ProductPoolLimit,
                CreatedUtc = product.CreatedUtc
            });
        }
        public static async Task <IInsuranceProduct> CreateProductFromAddressAsync(string productAddress)
        {
            var productAbi = await CachedABIManager.GetAbiAsync(productAddress);

            var insuranceProductContract = new InsuranceProduct(productAddress, productAbi);

            return(insuranceProductContract);
        }
        public ActionResult Create()
        {
            FillDropdowns();
            InsuranceProduct objProd = new InsuranceProduct();

            objProd.ProductParameters = new InsuranceProductRepository().GetProductionParameterList();
            return(View(objProd));
        }
Example #8
0
        public void GetDetailsTest()
        {
            var address = "0xFB205BFAF7D129f35f37eA5556A118ED3EE5cBf9";
            var abi     = EtherscanClient.GetABIAsync(address).Result;
            var product = new InsuranceProduct(address, abi);

            var details = product.GetProductAsync().Result;

            Assert.IsNotNull(details.Title);
        }
Example #9
0
 //To Add new  InsuranceProduct
 public int CreateProduct(InsuranceProduct product)
 {
     try
     {
         return(adminDAL.CreateProduct(product));
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
        protected override async Task <GetPolicyResponse> HandleCoreAsync(BaseInsuranceRequest request)
        {
            var response = new GetPolicyResponse();

            var abi = await CachedABIManager.GetAbiAsync(request.ProductAddress);

            var insuranceProductContract = new InsuranceProduct(request.ProductAddress, abi);

            response.Policy = await insuranceProductContract.GetPolicyAsync(request.PolicyId);

            return(response);
        }
        public ActionResult Delete(InsuranceProduct model)
        {
            Result res = new InsuranceProductRepository().Delete(model);

            if (res.Value)
            {
                TempData["Success"] = "Deleted Successfully!";
            }
            else
            {
            }
            return(RedirectToAction("Index"));
        }
        public static async Task <PremiumCalculator> CreatePremiumCalculatorFromAddressAsync(string productAddress)
        {
            var productAbi = await CachedABIManager.GetAbiAsync(productAddress);

            var insuranceProductContract = new InsuranceProduct(productAddress, productAbi);

            var premiumCalculatorAddress = await insuranceProductContract.GetPremiumCalculatorAddressAsync();

            var premiumCalculatorAbi = await CachedABIManager.GetAbiAsync(premiumCalculatorAddress);

            var premiumCalculatorContract = new PremiumCalculator(premiumCalculatorAddress, premiumCalculatorAbi);

            return(premiumCalculatorContract);
        }
Example #13
0
        public static InsuranceProduct GetProductOnProductNameBL(string name)
        {
            InsuranceProduct prod = null;

            try
            {
                PolicyDAL obj = new PolicyDAL();
                prod = obj.GetProductOnProductNameDAL(name);
            }
            catch (Exception)
            {
                throw;
            }
            return(prod);
        }
Example #14
0
        public static InsuranceProduct GetInsuranceproductOnProductIdBL(int proid)
        {
            InsuranceProduct product = null;

            try
            {
                PolicyDAL obj = new PolicyDAL();
                product = obj.GetInsuranceproductOnProductIdDAL(proid);
            }
            catch (Exception)
            {
                throw;
            }
            return(product);
        }
Example #15
0
        protected override async Task <GetProductStatsResponse> HandleCoreAsync(GetProductStatsRequest request)
        {
            var abi = await CachedABIManager.GetAbiAsync(request.ProductAddress);

            var insuranceProductContract = new InsuranceProduct(request.ProductAddress, abi);


            var stats = await insuranceProductContract.GetProductStatsAsync();

            return(new GetProductStatsResponse
            {
                Paused = stats.Paused,
                PoliciesLength = stats.PoliciesLength,
                ProductTokensPool = stats.TokenBalance,
                PayoutsCount = stats.PayoutsCount,
                TotalCalculatedPayouts = stats.TotalCalculatedPayouts,
                TotalPayouts = stats.TotalPayouts
            });
        }
        public ActionResult Edit(InsuranceProduct model)
        {
            if (!ModelState.IsValid)
            {
                var allErrors = ModelState.Values.SelectMany(v => v.Errors);
                return(View(model));
            }
            Result res = new InsuranceProductRepository().Update(model);


            if (res.Value)
            {
                TempData["Success"] = "Updated Successfully!";
            }
            else
            {
            }
            return(RedirectToAction("Index"));
        }
        public ActionResult Create(InsuranceProduct model)
        {
            //FillDropdowns();
            if (!ModelState.IsValid)
            {
                var allErrors = ModelState.Values.SelectMany(v => v.Errors);
                return(View(model));
            }
            Result res = new InsuranceProductRepository().Insert(model);

            if (res.Value)
            {
                TempData["Success"] = "Saved Successfully!";
            }
            else
            {
            }
            return(RedirectToAction("Index"));
        }
        public Result Insert(InsuranceProduct model)
        {
            Result res = new Result(false);

            try
            {
                string sql;
                using (IDbConnection connection = OpenConnection(dataConnection))
                {
                    sql = @"INSERT INTO InsuranceProduct
                                   (InsPrdName
                                   ,InsPrdShortName
                                   ,InsTypeId
                                   ,InsActiveDate)
                                   VALUES
                                   (@InsPrdName
                                   ,@InsPrdShortName
                                   ,@InsTypeId
                                   ,@InsActiveDate);SELECT CAST(SCOPE_IDENTITY() as int);";

                    model.InsPrdId = connection.Query <int>(sql, model).Single();

                    foreach (var item in model.ProductParameters)
                    {
                        item.InsPrdId = model.InsPrdId;
                        sql           = @"INSERT INTO InsProductVsParameter
                                   (InsPrdId,InsPrdParamId
                                   ,InsParamValue )VALUES(@InsPrdId,@InsPrdParamId,@InsParamValue);SELECT CAST(SCOPE_IDENTITY() as int);";
                    }
                    int id = connection.Execute(sql, model.ProductParameters);
                    if (id > 0)
                    {
                        return(new Result(true));
                    }
                }
            }
            catch (Exception ex)
            {
                return(new Result(false, ex.InnerException == null ? ex.Message : ex.InnerException.Message));
            }
            return(res);
        }
Example #19
0
        //Create InsuranceProduct
        #region To Add New Insurance Product
        public int CreateProduct(InsuranceProduct product)
        {
            int n = 0;

            try
            {
                pol.InsuranceProducts.Add(new InsuranceProduct
                {
                    Product_ID          = product.Product_ID,
                    Product_name        = product.Product_name,
                    Product_description = product.Product_description
                });

                pol.SaveChanges();
                n = 1;
            }
            catch (Exception)
            {
                throw;
            }
            return(n);
        }
Example #20
0
        private static void CreateAndReportProduct(ProductCategory productCategory)
        {
            Console.WriteLine();
            Console.WriteLine(new string('=', 50));
            Console.WriteLine("\tCreating product somewhere in application");

            Product product;

            switch (productCategory)
            {
            case ProductCategory.Insurance:
                product = new InsuranceProduct();
                break;

            case ProductCategory.Messenger:
                product = new GhasedakProduct();
                break;

            case ProductCategory.IaaS:
                product = new ArvanCloudProduct();
                break;

            case ProductCategory.CreditCalculation:
                product = new AbaciProduct();
                break;

            case ProductCategory.Security:
                product = new SejelProduct();
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }


            Console.WriteLine($"\tproduct: {product.GetType().Name}");
            Console.WriteLine(new string('=', 50));
        }
Example #21
0
        private static void Main()
        {
            var productCategory = ShowMenu();

            #region Naive implementation

            Product product;
            switch (productCategory)
            {
            case ProductCategory.Insurance:
                product = new InsuranceProduct();
                break;

            case ProductCategory.Messenger:
                product = new GhasedakProduct();
                break;

            case ProductCategory.IaaS:
                product = new ArvanCloudProduct();
                break;

            case ProductCategory.CreditCalculation:
                product = new AbaciProduct();
                break;

            case ProductCategory.Security:
                product = new SejelProduct();
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
            Report("Naive Method", product);

            #endregion

            #region Using SimpleFactory

            var productViaSimpleFactory = SimpleFactory.CreateProduct(productCategory);
            Report("Using SimpleFactory", productViaSimpleFactory);

            #endregion

            #region Using factory method

            Product productViaFactoryMethod;
            switch (productCategory)
            {
            case ProductCategory.Insurance:
                productViaFactoryMethod = new InsuranceFactory().CreateProduct();
                break;

            case ProductCategory.Messenger:
                productViaFactoryMethod = new MessengerFactory().CreateProduct();
                break;

            case ProductCategory.IaaS:
                productViaFactoryMethod = new IaaSFactory().CreateProduct();
                break;

            case ProductCategory.CreditCalculation:
                productViaFactoryMethod = new CreditCalculationFactory().CreateProduct();
                break;

            case ProductCategory.Security:
                productViaFactoryMethod = new SecurityFactory().CreateProduct();
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
            Report("Using FactoryMethod", productViaFactoryMethod);

            #endregion

            #region Using abstract factory

            var apf2 = new AbstractProductFactory2(new IaaSFactory());
            var p2   = apf2.CreateProductInstance();
            Report("Using apf2:", p2);


            var apf           = new MessengerAbstractProductFactory();
            var productViaApf = apf.CreateProductInstance();
            Report("Using Abstract Factory", productViaApf);

            #endregion

            //CreateAndReportProduct(productCategory);
        }