Ejemplo n.º 1
0
        public IActionResult Index()
        {
            ViewData["Greeting"] = "Hellur! Lets calculate";
            CalculateVM model = new CalculateVM();

            model.FirstNumber  = 0;
            model.SecondNumber = 0;

            model.OperatorsList = new List <operatorlist> {
                new operatorlist {
                    Id = 1, operators = "Add"
                },
                new operatorlist {
                    Id = 2, operators = "Sub"
                },
                new operatorlist {
                    Id = 3, operators = "Mul"
                },
                new operatorlist {
                    Id = 4, operators = "Div"
                }
            };

            CalculateResultVM Model = new CalculateResultVM();

            return(View(model));
        }
 public IActionResult CalculateSum(CalculateVM model)
 {
     if (!ModelState.IsValid)
     {
         return(BadRequest(new Response <bool>()
         {
             Success = false,
             Data = false,
             ErrorMessage = "Model is not valid"
         }));
     }
     return(Ok(calculationService.CalculateSum(model)));
 }
Ejemplo n.º 3
0
        public IActionResult Calculate(CalculateVM model)
        {
            CalculateResultVM resultModel = new CalculateResultVM();

            resultModel.Operator = model.Operator;

            TryValidateModel(model);

            if (ModelState.IsValid)
            {
                Class1 calculator = new Class1();
                resultModel.Result = calculator.Calculate(model.FirstNumber, model.SecondNumber, resultModel.Operator);

                return(View(resultModel));
            }
            return(View("Index", model));
        }
Ejemplo n.º 4
0
        public Response <string> CalculateSum(CalculateVM model)
        {
            var result = SafeExecute(() => SumOfTwo(model.Num1, model.Num2));

            return(result);
        }
Ejemplo n.º 5
0
        public IHttpActionResult PostCost(CalculateVM model)
        {
            JWTManagement jwtObject = new JWTManagement();
            var           _token    = jwtObject.getToken();

            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }
                if (model == null)
                {
                    return(NotFound());
                }

                var           address_market   = _context.Addresses.FirstOrDefault(x => x.id_address == model.id_address);
                var           address_customer = _context.Addresses.FirstOrDefault(s => s.id_address == model.customer_address_id);
                GeoCoordinate sCoor            = new GeoCoordinate(address_market.lat ?? 0, address_market.@long ?? 0);
                GeoCoordinate cCoor            = new GeoCoordinate(address_customer.lat ?? 0, address_customer.@long ?? 0);
                var           distance_s_to_m  = sCoor.GetDistanceTo(cCoor);
                double        ship_cost        = 0;
                double        _point           = 0;
                if (distance_s_to_m > 1000)
                {
                    ship_cost = distance_s_to_m * 10;
                }
                else
                {
                    ship_cost = 10000;
                }
                var stime = new TimeSpan(17, 00, 00);
                var etime = new TimeSpan(19, 00, 00);
                if ((stime.CompareTo(model.time_to_ship ?? new TimeSpan(00, 00, 00)) < 0) && (etime.CompareTo(model.time_to_ship ?? new TimeSpan(00, 00, 00)) > 0))
                {
                    ship_cost = ship_cost + 10000;
                    _point   += 2;
                }
                byte[] buffer     = Guid.NewGuid().ToByteArray();
                var    order_code = BitConverter.ToInt64(buffer, 0).ToString().Substring(9);


                if (distance_s_to_m > 1000)
                {
                    _point += distance_s_to_m / 100;
                }
                else
                {
                    _point += 10;
                }

                ship_cost = (int)ship_cost;
                int nguyen = (int)ship_cost / 1000;
                int du     = (int)ship_cost % 1000;
                if (du < 500 && du > 0)
                {
                    ship_cost = (nguyen * 1000) + 500;
                }
                else
                {
                    ship_cost = (nguyen * 1000) + 1000;
                }

                distance_s_to_m = distance_s_to_m / 1000;
                distance_s_to_m = double.Parse(distance_s_to_m.ToString("0.0"));

                var    list_order_details = model.OrderDetails.ToList();
                double total = 0;
                foreach (var item in list_order_details)
                {
                    total += item.price * item.quanlity ?? 0;
                }
                double total_amount = 0;
                total_amount = total + ship_cost + 10000;

                DateTime dt = DateTime.Now;

                var CostObject = new
                {
                    shippingcost     = ship_cost,
                    system_cost      = 10000,
                    total            = total,
                    total_amount_all = total_amount,
                };
                return(Ok(CostObject));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }