Нулевые данные поступают с ангулайса на контроллер MVC - PullRequest
0 голосов
/ 04 марта 2019

Уважаемые, у меня есть два класса Master и detail, названные Raterequest и Raterequestdetails.Я создал viewmodel содержит оба из них.в Angularjs у меня есть объект содержит скорость и список содержит детали заказа.когда я отлаживаю контроллер, полученные данные равны нулю для обоих, вот код

Класс запроса скорости

    public class RateRequests
{
    public int RateRequestsID { get; set; }
    public DateTime RateRequestsDate { get; set; }
    public string RateRequestName { get; set; }
    public string RateRequestType { get; set; }
    public string RateRequestMode { get; set; }
}

Класс сведений о запросе скорости

 public class RateRequestsLines
{
    public int RateRequestsLinesID { get; set; }
    public int RateRequestsID { get; set; }
    [ForeignKey("RateRequestsID")]
    public virtual RateRequests RateRequestsFK { get; set; }
    public short FCLCNTRS { get; set; }
    public short FCLCNTRSSIZE { get; set; }
    public string FCLCNTRSTYPE { get; set; }

}

Просмотр запроса скоростимодель

 public class RateRequestViewModel
{
    public RateRequests rate { get; set; }
    public IEnumerable<RateRequestsLines> ratelines { get; set; }
}

Angularjs

    var linkers = angular.module("linkers", [])
.service("linkersSrv", function ($http) {

    var urlBase = "/LinkersEgypt/";

    this.save = function (url, ratee) {
        return $http({
            method: "POST",
            url: urlBase + "/" + url,
            data: ratee,
            ̶a̶s̶y̶n̶c̶:̶ ̶f̶a̶l̶s̶e̶,̶
        })

    };

})
.controller("linkersCon", function ($scope, linkersSrv) {

    $scope.fcl = [];

    $scope.addFCL = function () {
        $scope.fcl.push({ FCLCNTRS: $scope.ncntrs, FCLCNTRSSIZE: $scope.csize, FCLCNTRSTYPE: $scope.ctype });
        console.log($scope.fcl);
    }

    $scope.save = function () {

        var ratee = {
            rate: {
                RateRequestsDate: $scope.rdate,
                RateRequestName: $scope.rname,
                RateRequestType: $scope.rtype,
                RateRequestMode: $scope.smode
            },
            RateRequestsLines: $scope.fcl
        };

        console.log(ratee);
        var promisepost = linkersSrv.save("RateRequest/AddAllRate", ratee);
        promisepost.then(function () {
            toastr.success("Successfully saved");

        })

    }
})

Регулятор скорости

[HttpPost]
public JsonResult AddAllRate (RateRequestViewModel rate)
{
    return new JsonResult();
}

Заранее спасибо

1 Ответ

0 голосов
/ 06 марта 2019
public RateRequests()
    {
        this.ratelines = new HashSet<RateRequestsLines>();
    }

    public int RateRequestsID { get; set; }
    public DateTime RateRequestsDate { get; set; }
    public string RateRequestName { get; set; }
    public string RateRequestType { get; set; }
    public string RateRequestMode { get; set; }


    public ICollection<RateRequestsLines> ratelines { get; set; }
}

[HttpPost]
    public JsonResult AddAllRate (RateRequestViewModel mainrate)
    {
        bool status = false;
        if (ModelState.IsValid)
        {
            using (ApplicationDbContext db = new ApplicationDbContext())
            {
                var raterequest = new RateRequests()
                {
                    RateRequestMode = mainrate.rate.RateRequestMode,
                    RateRequestName = mainrate.rate.RateRequestName,
                    RateRequestsDate = mainrate.rate.RateRequestsDate,
                    RateRequestType = mainrate.rate.RateRequestType,

                };

                foreach (var i in mainrate.ratelines)
                {
                    raterequest.ratelines.Add(i);
                }

                db.raterequests.Add(raterequest);
                db.SaveChanges();
                status = true;
            }

        }
        else
        {
            status = false;
        }
        return new JsonResult { Data = new { status = status } };
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...