'use strict';

var RawMaterialCostCtrl = ['$scope', '$location', 'dateFilter', 'raw_material_cost', function ($scope, $location, dateFilter, raw_material_cost) {
    $scope.info = raw_material_cost;
    $scope.show = function () {
        if (angular.isDate($scope.info.StartDate)) {
            $scope.info.StartDate = dateFilter($scope.info.StartDate, 'dd-MMM-yyyy');
        }
        if (angular.isDate($scope.info.FinishDate)) {
            $scope.info.FinishDate = dateFilter($scope.info.FinishDate, 'dd-MMM-yyyy');
        }
        $location.path('/RawMaterialCost').search({StartDate: $scope.info.StartDate, FinishDate: $scope.info.FinishDate});
    };
    $('#txtStartDate').focus();
}];
RawMaterialCostCtrl.resolve = {
    raw_material_cost: ['$q', '$route', 'RawMaterialCost', function ($q, $route, RawMaterialCost) {
        var deferred = $q.defer();

        var id = $route.current.params.id;
        var start_date = $route.current.params.StartDate;
        var finish_date = $route.current.params.FinishDate;

        var successCb = function (result) {
            deferred.resolve(result);
        };

        if (typeof start_date === 'undefined' || typeof finish_date === 'undefined') {
            RawMaterialCost.get({}, successCb);
        } else if (typeof id === 'undefined') {
            RawMaterialCost.get({StartDate: start_date, FinishDate: finish_date}, successCb);
        } else {
            RawMaterialCost.get({id: id, StartDate: start_date, FinishDate: finish_date}, successCb);
        }
        return deferred.promise;
    }]
};
