/// <reference path="../typings/jquery/jquery.d.ts" />
"use strict";
var AutomatizovanySklad;
(function (AutomatizovanySklad) {
    var VytvorDodaciList;
    (function (VytvorDodaciList) {
        var tlacitkoUloz = ".save-button";
        var polozkyTabulky = "#product-items";
        var DodaciListModel = (function () {
            function DodaciListModel() {
                this.Zaznamy = new Array();
            }
            return DodaciListModel;
        }());
        var DodaciListZaznamModel = (function () {
            function DodaciListZaznamModel() {
                this.ProduktModel = new ProduktModel();
            }
            return DodaciListZaznamModel;
        }());
        var ProduktModel = (function () {
            function ProduktModel() {
            }
            return ProduktModel;
        }());
        var VytvorDodaciListViewModel = (function () {
            function VytvorDodaciListViewModel() {
                var _this = this;
                this.apply = function () {
                    $(tlacitkoUloz).click(_this.ulozDodaciList);
                };
                this.ulozDodaciList = function () {
                    var model = new DodaciListModel();
                    model.KodDodacihoListu = $("#KodDodacihoListu").val();
                    model.TypTransakce = $("#TypTransakce").val();
                    model.VybranySubjektId = $("#VybranySubjektId").val();
                    $(polozkyTabulky + ' tbody')
                        .find('tr')
                        .each(function (index, row) {
                        var produkt = new DodaciListZaznamModel();
                        produkt.VybranaKartaId = +$(row).find("td.karta-id").text();
                        produkt.ProduktModel.Cena = +$(row).find("td.produkt-cena").text();
                        produkt.ProduktModel.Pocet = +$(row).find("td.produkt-mnozstvi").text();
                        produkt.ProduktModel.Kod = $(row).find("td.nazev-produktu").text();
                        model.Zaznamy.push(produkt);
                    });
                    var token = $('input[name="__RequestVerificationToken"]').val();
                    var headers = {};
                    headers['__RequestVerificationToken'] = token;
                    var json = JSON.stringify(model);
                    function ajax() {
                        return $.ajax({
                            contentType: 'application/json; charset=utf-8',
                            dataType: 'json',
                            type: "POST",
                            headers: headers,
                            data: json,
                            async: false,
                            url: "/DodaciList/UlozDodaciList",
                            cache: false,
                            success: function (result) {
                                return result;
                            }
                        });
                    }
                    ajax().then(function (result) {
                        if (result.zprava === "provedeno") {
                            window.location.href = result.url;
                        }
                        else if (result.zprava === "nedostatek") {
                            $("#KodDodacihoListu").val(result.model.KodDodacihoListu);
                            $("VybranySubjektId").val(result.model.VybranySubjektId);
                            $("TypTransakce").val(result.model.TypTransakce);
                            result.model.Zaznamy.forEach(function (item) {
                                $("product-items tbody").append("<tr><td class='karta-id'>" +
                                    item.ProduktModel.VybranaKartaId +
                                    "</td><td class='karta-nazev'>" +
                                    item.ProduktModel.KartaNazev +
                                    "</td><td class='nazev-produktu'>" +
                                    item.ProduktModel.nazevLine +
                                    "</td><td class='produkt-cena'>" +
                                    item.ProduktModel.Cena +
                                    "</td><td class='produkt-mnozstvi'>" +
                                    item.ProduktModel.Pocet +
                                    "</td><td><button type='submit' onclick='smazatRadek(this)'>Smazat</button></div></td>");
                            });
                            alert("Nemůžeš prodat víc než máš nebo nakoupit víc než je kapacita skladu!");
                        }
                        else if (result.zprava === "chyba") {
                            $("#KodDodacihoListu").val(result.model.KodDodacihoListu);
                            $("VybranySubjektId").val(result.model.VybranySubjektId);
                            $("TypTransakce").val(result.model.TypTransakce);
                            result.model.Zaznamy.forEach(function (item) {
                                $("product-items tbody").append("<tr><td class='karta-id'>" +
                                    item.ProduktModel.VybranaKartaId +
                                    "</td><td class='karta-nazev'>" +
                                    item.ProduktModel.KartaNazev +
                                    "</td><td class='nazev-produktu'>" +
                                    item.ProduktModel.nazevLine +
                                    "</td><td class='produkt-cena'>" +
                                    item.ProduktModel.Cena +
                                    "</td><td class='produkt-mnozstvi'>" +
                                    item.ProduktModel.Pocet +
                                    "</td><td><button type='submit' onclick='smazatRadek(this)'>Smazat</button></div></td>");
                            });
                            alert("Zkontroluj si, zda jsou vyplněna všechna potřebná políčka!");
                        }
                        else if (result.zprava === "neplatnyNazev") {
                            $("#KodDodacihoListu").val(result.model.KodDodacihoListu);
                            $("VybranySubjektId").val(result.model.VybranySubjektId);
                            $("TypTransakce").val(result.model.TypTransakce);
                            result.model.Zaznamy.forEach(function (item) {
                                $("product-items tbody").append("<tr><td class='karta-id'>" +
                                    item.ProduktModel.VybranaKartaId +
                                    "</td><td class='karta-nazev'>" +
                                    item.ProduktModel.KartaNazev +
                                    "</td><td class='nazev-produktu'>" +
                                    item.ProduktModel.nazevLine +
                                    "</td><td class='produkt-cena'>" +
                                    item.ProduktModel.Cena +
                                    "</td><td class='produkt-mnozstvi'>" +
                                    item.ProduktModel.Pocet +
                                    "</td><td><button type='submit' onclick='smazatRadek(this)'>Smazat</button></div></td>");
                            });
                            alert("Neplatný název!");
                        }
                        else {
                            alert("Neznámá chyba!");
                        }
                    });
                };
            }
            return VytvorDodaciListViewModel;
        }());
        $(function () {
            var viewModel = new VytvorDodaciListViewModel();
            viewModel.apply();
        });
    })(VytvorDodaciList = AutomatizovanySklad.VytvorDodaciList || (AutomatizovanySklad.VytvorDodaciList = {}));
})(AutomatizovanySklad || (AutomatizovanySklad = {}));
var smazatRadek = function (e) {
    $(e).closest("tr").remove();
};
//# sourceMappingURL=Vytvor.js.map