public async Task <Guid> CreatePlans(PlanInput Plans)
        {
            var @plan = Plan.CreatePlan(Plans.Title, Plans.Description);
            await _planRepository.InsertAsync(@plan);

            return(plan.Id);
        }
Esempio n. 2
0
        public JsonResult AddPlan(PlanInput planInput)
        {
            if (!ModelState.IsValid)
            {
                return(Json(ModelState.toJson()));
            }

            return(Json(planServices.CreatePlan(planInput)));
        }
Esempio n. 3
0
        public List <PlanOutput> CalculatePaymentPlan(PlanInput input)
        {
            var result        = new List <PlanOutput>();
            var planVariables = new List <PlanVariables>();

            switch (input.Price)
            {
            case decimal n when(n < 100 || n > 10000):
                return(null);

            case decimal n when(n >= 100 && n < 1000):
                planVariables = new List <PlanVariables>
                {
                    new PlanVariables {
                        deposit = 0.2M, InstalmentInterval = 15, InstalmentPeriod = 5
                    },
                    new PlanVariables {
                        deposit = 0.3M, InstalmentInterval = 15, InstalmentPeriod = 4
                    }
                };
                break;

            case 1000:
                planVariables = new List <PlanVariables> {
                    new PlanVariables {
                        deposit = 0.2M, InstalmentInterval = 15, InstalmentPeriod = 5
                    },
                    new PlanVariables {
                        deposit = 0.3M, InstalmentInterval = 15, InstalmentPeriod = 4
                    },
                    new PlanVariables {
                        deposit = 0.25M, InstalmentInterval = 30, InstalmentPeriod = 4
                    }
                };
                break;

            case decimal n when(n > 1000 && n <= 10000):
                planVariables = new List <PlanVariables>
                {
                    new PlanVariables {
                        deposit = 0.25M, InstalmentInterval = 30, InstalmentPeriod = 4
                    }
                };
                break;
            }
            foreach (var plan in planVariables)
            {
                result.Add(
                    new PlanOutput
                {
                    Deposit          = plan.deposit,
                    InstalmentAmount = GetInstalmentAmount(input.Price, plan.deposit, plan.InstalmentPeriod),
                    InstalmentDates  = GetInstalmentDates(input.PurchasedDate, plan.InstalmentInterval, plan.InstalmentPeriod)
                });
            }
            return(result);
        }
Esempio n. 4
0
        public IActionResult Get([FromQuery] PlanInputDto input)
        {
            PlanInput planInput = _mapper.Map <PlanInput>(input);
            var       result    = _calculator.CalculatePaymentPlan(planInput);

            if (result == null)
            {
                return(NotFound("Plans not offered"));
            }
            else
            {
                return(Ok(_mapper.Map <List <PlanOutputDto> >(result)));
            }
        }
Esempio n. 5
0
        public DayOne.Entities.DayPlan CreatePlan(PlanInput planInput)
        {
            if (planInput == null)
            {
                throw new ArgumentNullException("planInput");
            }

            DayPlan dayplan = planInput;

            dayplan.UserId = this.CurrentPrincipal.UserId;

            dayplan = CurrentDB.DayPlanTable.Add(dayplan);
            CurrentDB.SaveChanges();
            return(dayplan);
        }
Esempio n. 6
0
        public Object CreateCodeUrl([FromBody] PlanInput pi)
        {
            string ServerDateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture);

            PlanOutPutUrl popt          = new PlanOutPutUrl();
            DataSet       SelectedSlots = new DataSet();

            string sJSONResponse = "";

            DataTable dt_Promocode           = new DataTable();
            List <UrlCodeParameters> urlcode = new List <UrlCodeParameters>();

            Random ran = new Random();
            String b   = "ACDEFGHI0123456789JKLMNOPQRSTUVWXYZ";

            String randomurlcode = "";

            for (int i = 0; i < 9; i++)
            {
                int a = ran.Next(b.Length); //string.Lenght gets the size of string
                randomurlcode = randomurlcode + b.ElementAt(a);
            }

            string url          = "http://play.google.com/store/apps/details?id=" + randomurlcode;
            string alternateUrl = "http://app.naren.fit/" + randomurlcode;
            string Text         = "Invite your friends and family to Naren Fitness and get Rs.1000 Off when they purchase the package";

            DataTable dt_CodeUrl = new DataTable();

            dt_CodeUrl = getdata(string.Format("select Top 1 Url,GenertedCode from UrlCode where MobileNo='{0}'  and Used=0 order by SNO desc", pi.MobileNo));

            DataTable dt_PromoText = new DataTable();

            dt_PromoText = getdata(string.Format("select top 1 PID,PromoCodeDescription from PromoCodeMaster where PromoCode=''  and IsDeleted=0"));


            try
            {
                dt_Promocode = getdata(string.Format("select count(*) as count from UrlCode where MobileNo='{0}' and Used=0", pi.MobileNo));
                if (Convert.ToInt32(dt_Promocode.Rows[0][0].ToString()) == 0)
                {
                    cnn.Open();
                    SqlCommand     command = cnn.CreateCommand();
                    SqlTransaction transaction;
                    transaction         = cnn.BeginTransaction("SampleTransaction");
                    command.Connection  = cnn;
                    command.Transaction = transaction;

                    try
                    {
                        command.CommandText = "insert into UrlCode(MembershipCode,MobileNo,GenertedCode,Url,Used,CreatedBy,CreatedOn) values('" + pi.MembershipCode + "','" + pi.MobileNo + "','" + randomurlcode + "','" + url + "',0,'" + pi.CreatedBy + "','" + ServerDateTime + "')";
                        command.ExecuteNonQuery();
                        command.CommandText = "update PromoCodeMaster set PromoCode='" + randomurlcode + "' where PID='" + dt_PromoText.Rows[0]["PID"].ToString() + "' ";
                        command.ExecuteNonQuery();
                        transaction.Commit();
                        {
                        }
                    }
                    catch (Exception ex)
                    {
                        try
                        {
                            transaction.Rollback();
                        }
                        catch (Exception ex2)
                        {
                        }
                    }


                    try
                    {
                        List <UrlInfo> UrlInfo    = new List <UrlInfo>();
                        UrlInfo        UrlInfoDet = new UrlInfo {
                            Url = alternateUrl, OriginalUrl = url, Code = randomurlcode, Text = Text
                        };
                        UrlInfo.Add(UrlInfoDet);
                        popt.status = "success";
                        popt.value  = UrlInfo;
                    }
                    catch (Exception ec)
                    {
                        popt.status = "fail";
                    }

                    sJSONResponse = JsonConvert.SerializeObject(popt);
                }
                else
                {
                    try
                    {
                        List <UrlInfo> UrlInfo    = new List <UrlInfo>();
                        UrlInfo        UrlInfoDet = new UrlInfo {
                            Url = dt_CodeUrl.Rows[0]["Url"].ToString(), OriginalUrl = url, Code = dt_CodeUrl.Rows[0]["GenertedCode"].ToString(), Text = Text
                        };
                        UrlInfo.Add(UrlInfoDet);
                        popt.status = "success";
                        popt.value  = UrlInfo;
                    }
                    catch (Exception ec)
                    {
                        popt.status = "fail";
                    }

                    sJSONResponse = JsonConvert.SerializeObject(popt);
                }
            }
            catch (Exception ex)
            {
                popt.status   = "fail";
                sJSONResponse = JsonConvert.SerializeObject(popt);
            }
            finally
            {
                cnn.Close();
            }
            return(sJSONResponse);
        }