Copy... Copy → Paste !
Copy... Copy → Paste !
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.
Đăng Nhập
Top posters
5196 Số bài - 30%
3032 Số bài - 17%
2794 Số bài - 16%
1150 Số bài - 7%
1090 Số bài - 6%
1077 Số bài - 6%
925 Số bài - 5%
915 Số bài - 5%
677 Số bài - 4%
572 Số bài - 3%

NShinjuku
NShinjuku
Lang thang !!
Lang thang !!
Gender : Nam

Posts Posts : 5196
Thanked : 915
Coins Coins : 13258
Tham Gia : 26/08/2008
Birthday : 05/08/1992

06112014
Ở textbox chúng ta sử dụng DatePicker để lấy dữ liệu.
Code:
<script src="~/Scripts/jquery-ui.js"></script>

<script>
        $(function () {
            $("#datepicker").datepicker({ dateFormat: 'mm/dd/yy' }).val();
        });
</script>

Code:
<input type="text" name="birthday" id="datepicker" />

Sử dụng AJax để send data

Code:
<script type="text/javascript">
    function editpassenger() {
        if (document.getElementById("datepicker").value.toString() == "" || document.getElementById("identitynumber").value.toString() == "" || document.getElementById("passengername").value.toString() == "") {
            alert("Value is not available !");
        }
        else {
            var Birthday = new Date(document.getElementById("datepicker").value.toString());
            var passengerData = {
                "Passenger_ID": document.getElementById("passengerid").value.toString(),
                "Passenger_Name": document.getElementById("passengername").value.toString(),
                "IdentityNumber": document.getElementById("identitynumber").value.toString(),
                "Birthday": '\/Date(' + Birthday.getTime() + '-0000)\/'
            };
            $.ajax({
                type: "PUT",
                url: "http://localhost:1426/Service1.svc/UpdatePassenger",
                data: JSON.stringify(passengerData),
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                processData: true,
                success: function (data, status, jqXHR) {
                    alert(data);
                },
                error: function (xhr) {
                    alert('Error! Please try again !');
                }
            });
        }
    }
</script>

Chú ý: 
Code:
var Birthday = new Date(document.getElementById("datepicker").value.toString());


Code:
 var passengerData = {
                "Birthday": '\/Date(' + Birthday.getTime() + '-0000)\/'
            };

:04:
Share this post on:redditgoogle

Comments

FR
Code:
@using System.Web.Mvc
@using System.Web.Mvc.Html
@using Aptean.SNAP.Truition.ContentManagementSystem.Site
@using Aptean.SNAP.Truition.ContentManagementSystem.Services.Content
@using Aptean.SNAP.Truition.ContentManagementSystem.Services.ModuleModel

@model Aptean.SNAP.Truition.ContentManagementSystem.Services.ModuleModel.PageModel

<link href="@Url.Style("pageDetailEdit.css")" rel="stylesheet" />
<link href="@Url.Style("templatelayout.css")" rel="stylesheet" />
<style type="text/css">
    <!-- [Style] -->
</style>
<input type="hidden" value="@Model.TemplateLayoutModelType" name="templateLayoutModuleCode">
<div class="container" id="createPage">
    <div class="action">
        <ul class="actionNav">
            <li>
                <a href="javascript:void(0)">
                    <span class="new btnNew" title="Create a new Page">@Localizer.Text("NEW")</span>
                </a>
            </li>
            <li>
                <a href="javascript:void(0)">
                    <span class="save btnSave" title="Save">@Localizer.Text("SAVE")</span>
                </a>
            </li>
            <li>
                <a href="javascript:void(0)">
                    <span class="saveclose btnSaveAndClose" title="Save & Close">@Localizer.Text("SAVE") & @Localizer.Text("CLOSE")</span>
                </a>
            </li>
            <li>
                <a href="javascript:void(0)">
                    <span class="@Model.Page.StatusString" title="@Model.Page.StatusString">@Model.Page.StatusString.ToUpper()</span>
                    <input type="hidden" name="activeStatus" value="@Model.Page.Status" />
                    @*<span class="Deactivate" title="Activate">Deactivate</span>
                        <input type="hidden" name="activeStatus" value="2">*@
                </a>
            </li>
        </ul>
    </div>
    <div class="row">
        <h2 class="pageTitle">@Model.Page.PageLocales[0].Name</h2>
    </div>
    <div class="row">
        <form class="form-horizontal" role="form" action="/site/post" method="Post" id="frmNewPage">
            @Html.Hidden("ModelType", Model.ModelType)

            @Html.Hidden("oldValue", Model.Page.Name)
            @Html.Hidden("Page.Id", Model.Page.Id)
            @Html.Hidden("Page.Code", Model.Page.Code)
            @Html.Hidden("Page.Status", Model.Page.Status)
         
            <div class="row">
                <div class="col-sm-3"></div>
                <div class="col-sm-6">
                    <div class="form-group">
                        <label for="Name" class="col-sm-3">@Localizer.Text("Name"):<span class="errorStar">*</span></label>
                        <div class="col-sm-9 input">
                            @Html.TextBoxFor(m => m.Page.PageLocales[0].Name, new { @class = "form-control", placeholder = @Localizer.Text("Name"), apteanunique = "apteanunique", apteanName = "apteanName", required = "", maxlength = 50 })
                        </div>
                    </div>
                    <div class="form-group">
                        <label for="Name" class="col-sm-3">@Localizer.Text("URL"):</label>
                        <div class="col-sm-6 input">
                            <label id="urlGoToPage">@(Model.Url == "#" ? "" : Model.Url)</label>
                        </div>
                        <div class="col-sm-3">
                            @{
                                if (Model.Url == "#")
                                {
                                    <a class="btn btnGoToPage" href="@Model.Url">@Localizer.Text("GotoPage")</a>
                                }
                                else
                                {
                                    <a class="btn btnGoToPage" href="@Model.Url" target="_blank">@Localizer.Text("GotoPage")</a>
                                }
                            }
                        </div>
                    </div>
                    <div class="form-group">
                        <label for="Name" class="col-sm-3">@Localizer.Text("VanityURL"):</label>
                        <div class="col-sm-9 input">
                            <input type="text" class="form-control" />
                        </div>
                    </div>
                    <div class="form-group">
                        <label for="Description" class="col-sm-3">@Localizer.Text("Description"):</label>
                        <div class="col-sm-9 input">
                            @Html.TextAreaFor(m => m.Page.PageLocales[0].Description, new { @class = "form-control", placeholder = @Localizer.Text("Description"), rows = 4, maxlength = 1000 })
                        </div>
                    </div>
                    <div class="form-group">
                        <label for="Template" class="col-sm-3">@Localizer.Text("Template"):</label>
                        <div class="col-sm-5 input">
                            @Html.DropDownList("Page.Template.Code", new SelectList(Model.TemplateItems, "value", "text"), new { @class = "form-control ddTemplate" })
                        </div>
                    </div>
                </div>
                <div class="col-sm-3"></div>
            </div>
            <div class="row">
                <div class="col-sm-2"></div>
                <div class="col-sm-8" id="formTemplate">
                    <input type="hidden" id="ModelType" name="ModelType" value="@Model.SearchModuleModelType">
                    <div class="form-group col-sm-12" id="templateLayout">
                       
                    </div>
                </div>
                <div class="col-sm-2"></div>
            </div>
            <div class="row">
                <div class="col-sm-8 col-sm-offset-2">
                    <div class="form-group col-sm-12">
                        <div class="col-sm-6 editer-css">
                            <div class="col-sm-12 title-editor-css">
                                <div class="col-sm-10">
                                    <label for="Name" class="editor-header">@Localizer.Text("CSSEditor") </label>
                                </div>
                                <div class="col-sm-2 upload-txt">
                                    <img class="upload-css" src="@Url.Image("upload.png")" />
                                </div>
                            </div>
                            <div>
                                @Html.TextArea("Page.PageLocales[0].Css", Model.Page.PageLocales.FirstOrDefault().Css, new { @class = "form-control", cols = 10, rows = 5, @id = "main-css" })
                                <label id="module-error-css" class="error" for="summary"></label>
                            </div>

                        </div>
                        <div class="col-sm-6 editer-js">
                            <div class="col-sm-12 title-editor-js">
                                <div class="col-sm-10">
                                    <label for="Name" class="editor-header">@Localizer.Text("JavaScriptEditor") </label>
                                </div>
                                <div class="col-sm-2 upload-txt">
                                    <img class="upload-js" src="@Url.Image("upload.png")" />
                                </div>
                            </div>
                            <div>
                                @Html.TextArea("Page.PageLocales[0].JavaScript", Model.Page.PageLocales.FirstOrDefault().JavaScript, new { @class = "form-control", cols = 10, rows = 5, @id = "main-js" })
                                <label id="module-error-js" class="error" for="summary"></label>
                            </div>
                        </div>
                    </div>
                    <div class="form-group col-sm-12 area">

                  @Html.Hidden("Page.PageLocales[0].Id", Model.Page.PageLocales.FirstOrDefault().Id)
                  @Html.Hidden("Page.PageLocales[0].Code", Model.Page.PageLocales.FirstOrDefault().Code)
                        <input type="file" id="flUploadCSS" onchange='readTextCSS(this)' style="display:none" />
                        <input type="file" id="flUploadJS" onchange='readTextJS(this)' style="display:none" />
                    </div>
                </div>
                <div class="col-sm-2"></div>
            </div>
        </form>
    </div>
</div>

<div class="modal fade" id="lookupPopup" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
    <div class="modal-dialog">
        <div class="modal-content">
            <input type="hidden" id="moduleRegion" />
            <div class="modal-header model-header-search">
                <h4 class="modal-title model-title-search" id="myModalLabel">@Localizer.Text("LOOK_FOR_MODULE_TYPE")</h4>
            </div>
            <div class="modal-body module-type">
                <div id="search-box">
                    <div class="input-group col-sm-12">
                        <input id="moduleTypeValue" type="text" class="form-control" placeholder=@Localizer.Text("Search") name="KeyWord" value="">
                        <label id="moduleTypeValue-error" class="error hidden" for="moduleTypeValue">Please enter a correct module type</label>
                    </div>
                </div>
            </div>
            <div class="modal-header model-header-search">
                <h4 class="modal-title model-title-search" id="myModalLabel">@Localizer.Text("LOOK_FOR_MODULE_NAME")</h4>
            </div>
            <div class="modal-body module-name">
                <div id="search-box">
                    <div class="input-group col-sm-12">
                        <input id="moduleValue" type="text" class="form-control" placeholder=@Localizer.Text("Search") name="KeyWord" value="">
                        <label id="moduleValue-error" class="error hidden" for="moduleValue">Please enter a correct module name</label>
                        <div id="placeholder" class="hidden">Module Code: <span id="containerCode"></span></div>
                        <input type="hidden" id="moduleCode" />
                  <input type="hidden" id="moduleName" />
                        <input type="hidden" id="moduleId" />
                    </div>
                </div>
            </div>
            <div class="modalfooter">
                <div class="action">
                    <button type="button" class="btn btn-lg" id="btnChooseMudule">@Localizer.Text("OK")</button>
                    <button type="button" class="btn btn-lg" id="btnCancel" data-dismiss="modal">@Localizer.Text("CANCEL")</button>
                </div>
            </div>
        </div>
    </div>
</div>
@Html.Hidden("ModelTypeUnique", new Aptean.SNAP.Truition.ContentManagementSystem.Services.ModuleModel.UniqueModel().LookupUniqueType)

<script src="/Content/Aptean/ApteanVn/Scripts/jquery.blockUI.js"></script>
<script src="/Content/Global/Scripts/custom-validation.js"></script>
<link href="@Url.Style("customautocomplete.css")" rel="stylesheet" />
<link href="/Content/Aptean/ApteanVn/Styles/jquery-ui.css" rel="stylesheet" />
<script src="/Content/Aptean/ApteanVn/Scripts/jquery-ui.js"></script>
<script src="/Content/Global/Scripts/custom-bootstrap-popup.js"></script>
<link href="/Content/Global/Styles/custom-bootstrap-popup.css" rel="stylesheet" />

<script type="text/javascript">
   <!--[JavaScript]-->
    $(document).ready(function () {
        var isBacktoList = false;
        var isWaiting = false;

        $(document).on("click", ".btnNew", function () {
            if (!isWaiting) {
                isWaiting = true;
                window.location = "@SiteService.GenerateUrl(SubSystem.cms, "createpage")";
            }
        });

        $(document).on("click", ".btnSave", function () {
            if (!isWaiting) {
                isWaiting = true;
                $('#frmNewPage').submit();
            }
        });

        $(document).on("click", ".btnSaveAndClose", function () {
            isBacktoList = true;
            if (!isWaiting) {
                isWaiting = true;
                isBacktoList = true;
                $('#frmNewPage').submit();
            }
        });

      $(document).on("click", ".btnCopy", function() {
         var pageCode = $("#Page_Code").val();
         var url = window.location.protocol + "//" + window.location.host + "@(SiteService.GenerateUrl(SubSystem.cms, "createpage?copyPage=CodeToReplace") ?? string.Empty)".replace("CodeToReplace", pageCode);

         window.open(url);
         window.focus();
      });

        $('#frmNewPage').validate({
            focusInvalid: false,
            ignore: '.ignore-validate',
            submitHandler: function (form) {

                $.blockUI();
                $.post('/site/post', $("#frmNewPage :not('#formTemplate #ModelType')").serialize(), function (data) {
                    //go to page
                    if (isBacktoList)
                    {
                        document.location.href = "@SiteService.GenerateUrl(SubSystem.cms, "pages")";
                    }
                    else
                    {
                        document.location.href = data.queryString;
                    }
                });

                isWaiting = false;
            },
            invalidHandler: function (form, validator) {

                $.unblockUI();
                isWaiting = false;
                isBacktoList = false;
            }
        });

        //$(document).on("show.bs.modal", "#lookupPopup", function () {
        //    //do something
        //});

        $('#lookupPopup').on('hide.bs.modal', function () {
            $.clearFormFields(this);
        })

        // Clear form fields in a designated area of a page
        $.clearFormFields = function (area) {
            $(area).find('input[type="text"],input[type="email"],textarea,select').val('');
            $(area).find("span").html('');
            $("#moduleTypeValue-error").addClass("hidden");
            $("#moduleValue-error").addClass("hidden");
         $("#placeholder").addClass("hidden");
         $("#moduleCode").val('');
         $("#moduleId").val('');
        };

        $(document).on("click", ".add-icon", function () {
            currentRegionSelected = this;
         currentRegionSelected = this;
         var save = $(currentRegionSelected).parent().find(".remove-icon");
         if(!save.hasClass('hidden'))
         {
            save.trigger("click");
         }
        });

        $(document).on("click", ".edit-icon", function () {
            var parent = $(this).parent().parent().next();

            $(this).next().removeClass("hidden");
            $(this).addClass("hidden");

            parent.find("textarea").show();
            parent.find("span").hide();
        });

        $(document).on("click", ".remove-icon", function () {
            var parent = $(this).parent().parent().next();

            $(this).prev().removeClass("hidden");
            $(this).addClass("hidden");

            var temp = parent.find("textarea").val();

            parent.find("span").text(temp);
            parent.find("span").show();
            parent.find("textarea").hide();
        });

        $(document).on("click", "#btnChooseMudule", function () {
            var value = $("#moduleCode").val();
            var text = "<!--" + $("#moduleName").val() + "-->";
         var name = $("#moduleName").val();
            var id = $("#moduleId").val();
            if (value != "") {
                var target = currentRegionSelected;
                ChooseModule(target, id, value, text,name);
                $(currentRegionSelected).parent().find(".edit-icon").removeClass("hidden");
            }
            $("#lookupPopup").modal('hide');
        });

        $(document).on("change",".ddTemplate",function(){

           var code = $(".ddTemplate").find("option:selected").val();
         var moduleCode = $("input[name=templateLayoutModuleCode]").val();
         $.ajax({
            url: "/Site/GetJsonData/",
            type: "GET",
            data: { modelType: moduleCode, code: code},
            beforeSend: function () {
               $.blockUI();
            },
            success: function (data) {
            
               $("#templateLayout").html(data.html);

               $.unblockUI();
            },
            error: function () {
               $.unblockUI();
            }
           });
        });

        $("#moduleValue").focusout(function () {
            if ($("#moduleCode").val() != "" || $(this).val() == "")
                $("#moduleValue-error").addClass("hidden");
            else
                $("#moduleValue-error").removeClass("hidden");
        });

        $("#moduleTypeValue").focusout(function () {
            if ($(this).val() != "" && $(this).val().toLowerCase() != "all") {
                $.ajax({
                    url: "/site/GetJsonData/",
                    type: "GET",
                    data: { modelType: modelType, keyWord: $(this).val(), typeSearching: "IsExistModuleType" },
                    success: function (data) {
                        if (data.IsExist)
                            $("#moduleTypeValue-error").addClass("hidden");
                        else
                            $("#moduleTypeValue-error").removeClass("hidden");
                    }
                });
            }
            else {
                $("#moduleTypeValue-error").addClass("hidden");
            }
        });

        var modelType = $("#formTemplate").find("input[name=ModelType]").val();

        $("#moduleValue").autocomplete({
            source: function (request, response) {
                var keyWord = request.term;
                var parent = $("#moduleTypeValue").val();

                $.ajax({
                    url: "/site/GetJsonData/",
                    type: "GET",
                    data: { modelType: modelType, keyWord: request.term, parent: parent, typeSearching: "ModuleName" },
                    success: function (data) {
                        response($.map(data.Modules, function (el) {
                            return {
                                label: el.Name,
                                value: el.Code,
                                desc: el.Id
                            };
                        }));
                    },
                    select: function (event, ui) {
                    }
                });
            }
        }).autocomplete("instance")._renderItem = function (ul, item) {
            return $("<li>")
              .append("<span>" + item.label + "</span>" + "<input type='hidden' value='" + item.desc + "'/>")
              .appendTo(ul);
        };

        $("#moduleValue").bind('autocompleteselect', function (event, ui) {
            $("#containerCode").html(ui.item.value);
            $("#moduleCode").val(ui.item.value);
         $("#moduleName").val(ui.item.label);
            $("#moduleValue").val(ui.item.label);
            $("#moduleId").val(ui.item.desc);
            $("#moduleValue-error").addClass("hidden");
            $("#placeholder").removeClass("hidden");
            return false;
        });


        $("#moduleValue").focusin(function () {
            var keyWord = $(this).val();
            keyWord = keyWord == "" ? " " : keyWord;

            $(this).autocomplete("search", keyWord);
        });

        $("#moduleTypeValue").focusin(function () {
            var keyWord = $(this).val();
            keyWord = keyWord == "" ? " " : keyWord;

            $(this).autocomplete("search", keyWord);
        });

        $("#moduleTypeValue").autocomplete({
            source: function (request, response) {
                var keyWord = request.term;
                $.ajax({
                    url: "/site/GetJsonData/",
                    type: "GET",
                    data: { modelType: modelType, keyWord: keyWord, typeSearching: "ModuleType" },
                    success: function (data) {
                        response($.map(data.Modules, function (el) {
                            return {
                                label: el.Name,
                                value: el.Name,
                            };
                        }));
                    },
                    minLength: 0
                });
            }
        }).autocomplete("instance")._renderItem = function (ul, item) {
            return $("<li>")
              .append("<span>" + item.label + "</span>" + "<input type='hidden' value='" + item.value + "'/>")
              .appendTo(ul);
        };

      // Load defaut template
        LoadDefautTemplateLayout();
    })

    var currentRegionSelected;

    function ChooseModule(target, id, value, text,name) {
        var tdParent = $(target).parent().parent();

        var _text = tdParent.next().find("span");
        _text.text(_text.text() + text);

        tdParent.next().find("textarea").val(_text.text());


        //get name of region
        var _name = $(target).parent().find("input[type=hidden]").val();

        //generate code
        var _value = tdParent.next().find("input[name=moduleCode]");

        var temp = "";
        if (_value.val() != "")
            temp = ";"

        _value.val(_value.val() + temp + value);

        var _container = tdParent.next().find(".containCode")
        _container.html('');

        $.each(_value.val().split(';'), function (index, code) {
            var _nameField = _name + "[" + index + "].Code";
            var _codeField = "<input type='hidden' name='" + _nameField + "' value='" + code + "'/>";
            _container.append(_codeField);
        });

        //generate id
        var _valueId = tdParent.next().find("input[name=moduleId]");

        var tempId = "";
        if (_valueId.val() != "")
            tempId = ";"

        _valueId.val(_valueId.val() + tempId + id);

        var _containerId = tdParent.next().find(".containId")
        _containerId.html('');

        $.each(_valueId.val().split(';'), function (index, id) {
            var _nameField = _name + "[" + index + "].Id";
            var _idField = "<input type='hidden' name='" + _nameField + "' value='" + id + "'/>";
            _containerId.append(_idField);
        });

      //generate name
      var _valueName = tdParent.next().find("input[name=moduleName]");

        var tempName = "";
        if (_valueName.val() != "")
            tempName = ";"

        _valueName.val(_valueName.val() + tempName + name);

        var _containerName = tdParent.next().find(".containName")
        _containerName.html('');

        $.each(_valueName.val().split(';'), function (index, name) {
            var _nameOfField = _name + "[" + index + "].Name";
            var _nameField = "<input type='hidden' name='" + _nameOfField + "' value='" + name + "'/>";
            _containerName.append(_nameField);
        });
    };

   function LoadDefautTemplateLayout(){

        var code = $(".ddTemplate").find("option:selected").val();
        var moduleCode = $("input[name=templateLayoutModuleCode]").val();
      var pageCode = $("#Page_Code").val();
        $.ajax({
            url: "/Site/GetJsonData/",
            type: "GET",
            data: { modelType: moduleCode, code: code, pageCode: pageCode },
            beforeSend: function () {
                $.blockUI();
            },
            success: function (data) {
            
                $("#templateLayout").html(data.html);

                $.unblockUI();
            },
            error: function () {
                $.unblockUI();
            }
        });


    }
</script>

<script type="text/javascript">
    var reader; 
   
    function readTextCSS(filePath) {
        var output = "";
        if (($("#flUploadCSS")[0].files[0].size / 1048576) > 1) {
            $('#module-error-css').html('File size must be less than or equal 1MB');
            return false;
        }
        else {
            $('#module-error-css').html('');
        }
        if (filePath.files && filePath.files[0]) {
            reader = new FileReader();
            reader.onload = function (e) {
                output = e.target.result;
                displayContentsCSS(output);
            }
            reader.readAsText(filePath.files[0]);
        }     
        else {
            return false;
        }
        return true;
    }

    function readTextJS(filePath) {
        var output = "";
        if (($("#flUploadJS")[0].files[0].size / 1048576) > 1) {
            $('#module-error-js').html('File size must be less than or equal 1MB');
            return false;
        }
        else {
            $('#module-error-js').html('');
        }
        if (filePath.files && filePath.files[0]) {
            reader = new FileReader();
            reader.onload = function (e) {
                output = e.target.result;
                displayContentsJS(output);
            };//end onload()
            reader.readAsText(filePath.files[0]);
        }       
        else {
            return false;
        }
        return true;
    }
   
    function displayContentsCSS(txt) {
        $('#main-css').val(txt);
    }

    function displayContentsJS(txt) {
        $('#main-js').val(txt);
    }

    $(".upload-css").click(function () {
        $('#flUploadCSS').click();
        return false;
    });

    $(".upload-js").click(function () {
        $('#flUploadJS').click();
        return false;
    });

   //begin active/deactive
    $(document).on("click", ".Activate,.Deactivate", function ()
    {
      var status=$("input[name=activeStatus]").val();
        if (status == "Deactivated")
        {
            $.fn.popupConfirm({
                title: 'Page Activation Confirmation',
                iconUrl: '/Content/Global/Images/icon-confirm.png',
                content: {
                    message: 'Are you sure you want to activate this page?',
                },
                callback: function ()
                {
                    var postdata = {};
                    postdata["ModelType"] = $("#ModelType").val();
                    postdata["Page.Id"] = "@Model.Page.Id.ToString()";
                    postdata["Action"] = "@PageModelAction.ChangeStatus.ToString()";
               postdata["Page.Status"]=status;
                    var result = $.ajax({
                        method: "post",
                        url: "/site/post",
                        data: postdata,
                        async: false,
                        success: function (data)
                        {
                            window.location.reload();                     
                        },
                        error: function (data)
                        {
                            return true;
                        }
                    });               
                }
            });
        }
        else
        {
            $.fn.popupConfirm({
                title: 'Page Deactivation Confirmation',
                iconUrl: '/Content/Global/Images/icon-confirm.png',
                content: {
                    message: 'Are you sure you want to deactivate this page?',
                },
                callback: function ()
                {
                    var postdata = {};
                    postdata["ModelType"] = $("#ModelType").val();
                    postdata["Page.Id"] = "@Model.Page.Id.ToString()";
                    postdata["Action"] = "@PageModelAction.ChangeStatus.ToString()";
               postdata["Page.Status"]=status;
                    var result = $.ajax({
                        method: "post",
                        url: "/site/post",
                        data: postdata,
                        async: false,
                        success: function (data)
                        {
                            window.location.reload();
                        },
                        error: function (data)
                        {
                            return true;
                        }
                    });
                }
            });

        }

    });
    $('#moduleTypeValue').on('input', function () {
        $("#moduleValue").val('');
        $("#placeholder").addClass("hidden");
        $("#moduleCode").val('');
        $("#moduleId").val('');
    });
</script>
FR
Code:
@using System.Web.Mvc
@using System.Web.Mvc.Html
@using Aptean.SNAP.Truition.ContentManagementSystem.Site
@using Aptean.SNAP.Truition.ContentManagementSystem.Services.Content

@model Aptean.SNAP.Truition.ContentManagementSystem.Services.ModuleModel.ItemVarianceModel

<link href="@Url.Style("createItemVarience.css")" rel="stylesheet" />

<style type="text/css">
    <!-- [Style] -->
</style>

<div class="container" id="createItemVariace">
    <div class="action">
        <ul class="actionNav">
            <li>
                <a href="javascript:void(0)">
                    <span class="new btnNew" title="Create A New Item Variance">NEW</span>
                </a>
            </li>
            <li>
                <a href="javascript:void(0)">
                    <span class="save btnSave" title="Save">SAVE</span>
                </a>
            </li>
            <li>
                <a href="javascript:void(0)">
                    <span class="saveclose btnSaveAndClose" title="Save & Close">SAVE & CLOSE</span>
                </a>
            </li>
        </ul>
    </div>
    <div class="row">
        <h2 class="pageTitle">New Item-Varience</h2>
    </div>
    <div class="row">
        <form class="form-horizontal" role="form" action="/site/post" method="Post" id="frmNewItemVarience">
            @Html.Hidden("ModelType", Model.ModelType)
            <div class="row">
                <div class="col-sm-8 col-sm-offset-2">
                    <div class="form-group">
                        <label for="Name" class="col-sm-4">Name:<span class="errorStar">*</span></label>
                        <div class="col-sm-6 input">
                            @Html.TextBoxFor(m => m.Item.Name, new { @class = "form-control", placeholder = "Name", required = "", maxlength = 50 })
                        </div>
                    </div>
                    <div class="form-group">
                        <label for="Template" class="col-sm-4">Item Master Type:<span class="errorStar">*</span></label>
                        <div class="col-sm-6 input">
                            @Html.DropDownList("MasterType", new SelectList(Model.ItemMasterTypes, "value", "text"), new { @class = "form-control ddTemplate", required = "", @style = "width:70%" })
                        </div>
                    </div>
                    <div class="form-group">
                        <ul id="pageTab" class="nav nav-tabs">
                            <li class="active"><a href="#eng" data-toggle="tab">English</a></li>
                        </ul>
                        <div id="pageTabContent" class="tab-content">
                            <div class="tab-pane active" id="eng">
                                <div class="form-group">
                                    <label for="Title" class="col-sm-4">Title:<span class="errorStar">*</span></label>
                                    <div class="col-sm-6 input">
                                        @Html.TextBoxFor(m => m.Item.ItemLocales[0].Title, new { @class = "form-control", placeholder = "Title", required = "", maxlength = 50 })
                                    </div>
                                </div>
                                <div class="form-group">
                                    <label for="Description" class="col-sm-4">Description:</label>
                                    <div class="col-sm-6 input">
                                        @Html.TextAreaFor(m => m.Item.ItemLocales[0].Description, new { @class = "form-control", placeholder = "Description", rows = 4, maxlength = 10000 })
                                    </div>
                                </div>
                                <div class="form-group">
                                    <label for="Name" class="col-sm-4">Item-Varience Value:</label>
                                    <div class="col-sm-6 input">
                                        <input type="text" id="value" name="Value" class="form-control ignore-validate" required maxlength="50" />
                                    </div>
                                    <div class="col-sm-2">
                                        <span class="add-icon"></span>
                                    </div>
                                </div>
                                <div class="container-value">
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </form>
    </div>
</div>

<script src="~/Content/Aptean/ApteanVn/Scripts/jquery.blockUI.js"></script>
<script src="~/Content/Global/Scripts/custom-validation.js"></script>
<link href="~/Content/Aptean/ApteanVn/Styles/customAutoComplete.css" rel="stylesheet" />
<link href="~/Content/Aptean/ApteanVn/Styles/jquery-ui.css" rel="stylesheet" />
<script src="~/Content/Aptean/ApteanVn/Scripts/jquery-ui.js"></script>

<script type="text/javascript">
    <!--[JavaScript]-->
    $(function () {
        var localeSection = "<div class='form-group'>" +
                            "<label for='Title' class='col-sm-4'>Title:<span class='errorStar'>*</span></label>" +
                            "<div class='col-sm-6 input'>" +
                                "<input class='form-control title' maxlength='50' name='Item.ItemLocales[#index].Title' placeholder='Title' required='' type='text' value='' aria-required='true'>" +
                            "</div>" +
                            "</div>" +
                            "<div class='form-group'>" +
                                "<label for='Description' class='col-sm-4'>Description:</label>" +
                                "<div class='col-sm-6 input'>" +
                                    "<textarea class='form-control' cols='20' maxlength='10000' name='Item.ItemLocales[#index].Description' placeholder='Description' rows='4'></textarea>" +
                                "</div>" +
                            "</div>" +
                            "<div class='form-group'>" +
                                "<label for='Name' class='col-sm-4'>Item-Varience Value:<span class='errorStar'>*</span></label>" +
                                "<div class='col-sm-6 input'>" +
                                    "<input type='text' id='value' name='Value' class='form-control ignore-validate' required='' maxlength='50' aria-required='true'>" +
                                "</div>" +
                                "<div class='col-sm-2'>" +
                                    "<span class='add-icon'></span>" +
                                "</div>" +
                            "</div>" +
                            "<div class='container-value'>" +
                            "</div>";

        var isBacktoList = false;
        var isWaiting = false;

        $(document).on("click", ".btnNew", function () {
            if (!isWaiting) {
                isWaiting = true;
                window.location = "@SiteService.GenerateUrl(SubSystem.user, "createpage")";
            }
        });

        $(document).on("click", ".btnSave", function () {
            if (!isWaiting) {
                isWaiting = true;
                $('#frmNewItemVarience').find(".ignore-validate").removeClass("error");
                $('#frmNewItemVarience').submit();
            }
        });

        $(document).on("click", ".btnSaveAndClose", function () {
            isBacktoList = true;
            if (!isWaiting) {
                isWaiting = true;
                isBacktoList = true;
                $('#frmNewItemVarience').submit();
            }
        });

        $('#frmNewItemVarience').validate({
            focusInvalid: false,
            ignore: '.ignore-validate',
            submitHandler: function (form) {


                $.blockUI();
                $.post('/site/post', $("#frmNewItemVarience").serialize(), function (data) {
                    //go to page
                    if (isBacktoList) {
                        document.location.href = "@SiteService.GenerateUrl(SubSystem.inventory, "pages")";
                    }
                    else {
                        document.location.href = data.queryString;
                    }
                });

                isWaiting = false;
            },
            invalidHandler: function (form, validator) {

                //$.unblockUI();
                isWaiting = false;
                isBacktoList = false;
            }
        });

        var itemValue = "<div class='form-group'><div class='col-sm-6 col-sm-offset-4'><span>" + "[[value]]</span>" +
                        "<input class='form-control hidden' maxlength='50' name='Item.ItemLocales[#index#].Values[[[index]]].Value' type='text' value='[[value]]'>" +
                        "</div><div class='col-sm-2'><span class='edit-icon'></span><span class='save-icon hidden'></span>" +
                        "<span class='remove-icon'></span></div></div>";

        $(document).on("click", ".add-icon", function () {
            var _length = $(this).parents(".tab-pane").find(".container-value .form-group").length;

            if (_length == 99) {
                $(this).remove();
            }

            var $value = $(this).parent().prev().find("input[name=Value]");
            $(this).parent().prev().find("input[name=multipleValue]").val("added");

            var _index = $("#pageTabContent .tab-pane").index($(this).parents(".tab-pane"));

            if ($value.valid()) {
                var _appendHtml = itemValue.replace("#index#", _index).replace("[[value]]", $value.val()).replace("[[value]]", $value.val()).replace("[[index]]", _length);
                $(this).parents(".tab-pane").find(".container-value").append(_appendHtml);
            }
        });

        $(document).on("click", ".remove-icon", function () {
            var _length = $(this).parents(".tab-pane").find(".container-value .form-group").length;

            if (_length == 100) {
                $("input[name=Value]").parent().next().append("<span class='add-icon'></span>");
            }

            var _index = $("#pageTabContent .tab-pane").index($(this).parents(".tab-pane"));

            if (_length == 1) {
                $(this).parents(".tab-pane").find("input[name=multipleValue]").val("");
                requiredWhenHaveAnyChange($(".required"),1)
            }

            $(this).closest(".form-group").remove();

            var _name = "Item.ItemLocales[#index#].Values[[[index]]].Value";

            $(".container-value .form-group").each(function (index, value) {
                $(this).find("input[type=text]").attr("name", _name.replace("#index#", _index).replace("[[index]]", index));
            });
        });

        function requiredWhenHaveAnyChange(input, parentContainer)
        {
            
            var empty_flds = 0;
            input.each(function () {
                if (!$.trim($(this).val())) {
                    empty_flds++;
                }
            });

            $("#Item_ItemLocales_1__Title").rules("remove");
            if (empty_flds) {
              
            } else {
              
            }
        }

        $(document).on("click", ".edit-icon", function () {
            $(this).parent().prev().find("span").addClass("hidden");
            $(this).parent().prev().find("input").removeClass("hidden");
            $(this).parent().find(".save-icon").removeClass("hidden");
            $(this).addClass("hidden");
        });

        $(document).on("click", ".save-icon", function () {
            var _span = $(this).parent().prev().find("span");
            var _input = $(this).parent().prev().find("input");

            _input.addClass("hidden");
            _span.removeClass("hidden");

            _span.text(_input.val());

            $(this).parent().find(".edit-icon").removeClass("hidden");
            $(this).addClass("hidden");
        });
    });
</script>



FR
Code:
using Aptean.SNAP.Global.Core.Enums;
using Aptean.SNAP.Truition.ContentManagementSystem.Core.Enums;
using Aptean.SNAP.Truition.ContentManagementSystem.Services.Content;
using Aptean.SNAP.Truition.ContentManagementSystem.Services.Contract;
using Aptean.SNAP.Truition.ContentManagementSystem.Core.Utilities;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Mvc;

namespace Aptean.SNAP.Truition.ContentManagementSystem.Services.ModuleModel
{
    public class OrderModel : AModuleModel
    {
        private EcommerceService _ecommerceService { get { return new EcommerceService(); } }
        private TransactionService _transactionService { get { return new TransactionService(); } }
        private CrmService _crmService { get { return new CrmService(); } }

        public string Action { get; set; }
        public string OrderCode { get; set; }
        public string ContactCodeRequest { get; set; }
        public string DataModelType { get { return typeof(OrderDataModel).AssemblyQualifiedName; } }
        public string PurchasedProductDataModelType { get { return typeof(PurchasedProductDataModel).AssemblyQualifiedName; } }

        public IList<CMSSiteDto> Sites { get; set; }
        public IList<CMSCarrierLightDto> Carriers { get; set; }
        public CMSPurchasedProductDto ItemListing { get; set; }
        public IList<CMSValueDto> ServiceTypes { get; set; }
        public IList<CMSShipmentBasicDto> Shipments { get; set; }
        public CMSShipmentBasicDto Shipment { get; set; }
        public IList<CMSShipmentBasicDto> ShipmentSplits { get; set; }
        public List<string> ShipmentCombineIds { get; set; }

        public CMSOrderNewDto Order { get; set; }
        public CMSContactDto Contact { get; set; }

        public CMSTransactionDto Transaction { get; set; }
        public CMSAddressLightDto Address { get; set; }
        public string Username { get; set; }
        public string ContactCode { get; set; }
        public string CartItemCode { get; set; }
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public string Email { get; set; }
        public CMSPhoneLightDto Phone { get; set; }
        public string PhoneNumber { get; set; }
        public UserDto User { get; set; }
        public IList<CMSCreditCardTypeDto> CardTypes { get; set; }
        public CMSAddressLightDto PaymentAddress { get; set; }



        public IList<CMSPurchasedProductDto> PurchasedProducts { get; set; }

        public override void InitializeData()
        {
            var orderCode = Helper.ParseQueryStringByKey(ParamerterOfModule.OrderDetail.GetEnumDescription());

            if (!string.IsNullOrEmpty(orderCode))
            {
                this.OrderCode = orderCode;
            }
        }

        public override ActionResult DoAction()
        {
            return new ActionResult()
            {
                Type = ResultType.Json,
                Data = "",
            };

        }
    }
}

Code:
using Aptean.SNAP.Global.Core.Enums;
using Aptean.SNAP.Truition.ContentManagementSystem.Core.Enums;
using Aptean.SNAP.Truition.ContentManagementSystem.Services.Content;
using Aptean.SNAP.Truition.ContentManagementSystem.Services.Contract;
using Aptean.SNAP.Truition.ContentManagementSystem.Services.Security;
using Global.Core.Services;
using System;
using System.Collections.Generic;
using System.Linq;
using Aptean.SNAP.Truition.ContentManagementSystem.Core.Utilities;
using System.Web.Mvc;

namespace Aptean.SNAP.Truition.ContentManagementSystem.Services.ModuleModel
{
    public class OrderDataModel : ADataModel
    {
        private CrmService _crmService { get { return new CrmService(); } }
        private UserService _userService { get { return new UserService(); } }
        private EcommerceService _ecommerceService { get { return new EcommerceService(); } }
        private CommonService _commonService { get { return new CommonService(); } }
        private InventoryService _inventoryService { get { return new InventoryService(); } }
        private TransactionService _transactionService { get { return new TransactionService(); } }
        public PagingModel Paging { get; set; }


        public override ActionResult InitializeData()
        {
            string code = Helper.ParseQueryStringByKey(ParamerterOfModule.OrderDetail.GetEnumDescription());
            var actionType = (ActionType)Enum.Parse(typeof(ActionType), Helper.ParseQueryStringByKey(QueryParameter.ActionType.GetEnumDescription()));
            switch (actionType)
            {
                case ActionType.GetAllSites:
                    return new ActionResult()
                    {
                        Data = _ecommerceService.GetSite()
                    };
                default:
                    return new ActionResult()
                    {
                        Data = ShoppingCartDetail(code)
                    };
            }


        }

        public OrderModel ShoppingCartDetail(string code)
        {
            var model = new OrderModel();

            model.Order = _ecommerceService.GetOrderNewByCode(code);

            if (!string.IsNullOrEmpty(model.Order.Code))
            {
                model.Order.PurchasedProducts = _ecommerceService.GetPurchasedProductByOrderCode(model.Order.Code);

                model.Sites = _ecommerceService.GetSite();
                if (model.Sites.IsAny())
                {
                    var site = model.Sites.FirstOrDefault(w => w.Code.Equals(model.Order.SiteInstanceCode));
                    if (site != null)
                    {
                        model.Order.SiteInstanceName = site.Name;
                    }
                }

                model.User = _userService.GetUserByCode(model.Order.UserCode);
                if (model.User != null && !string.IsNullOrEmpty(model.User.Code))
                {
                    model.Username = model.User.Username;
                    model.FirstName = model.User.FirstName;
                    model.LastName = model.User.LastName;

                    var contact = _crmService.GetContactByUserCode(model.User.Code);
                    if (!string.IsNullOrEmpty(contact.Code))
                    {
                        model.ContactCode = contact.Code;
                        contact.Phones = _crmService.GetPhonesByContactCode(contact.Code);
                        contact.Emails = _crmService.GetEmailsByContactCode(contact.Code);
                        contact.Addresses = _crmService.GetAddressesByContactCode(contact.Code);

                        if (contact.Phones.IsAny())
                        {
                            if (contact.Phones.Any(w => w.IsPrimary))
                                model.Phone = contact.Phones.FirstOrDefault(w => w.IsPrimary);
                            else
                                model.Phone = contact.Phones[0];

                            model.PhoneNumber = model.Phone.Number;
                        }

                        if (contact.Emails.IsAny())
                        {
                            if (contact.Emails.Any(w => w.IsPrimary))
                                model.Email = contact.Emails.FirstOrDefault(w => w.IsPrimary).EmailAddress;
                            else
                                model.Email = contact.Emails[0].EmailAddress;
                        }

                        if (contact.Addresses.IsAny())
                        {
                            model.Address = contact.Addresses.FirstOrDefault();
                        }
                        else
                        {
                            model.Address = new CMSAddressLightDto();
                        }
                    }
                }

                //get shipment

                model.Shipments = _ecommerceService.GetShipmentByOrderCode(model.Order.Code);
                if (model.Shipments.IsAny())
                {
                    foreach (var shipment in model.Shipments)
                    {
                        shipment.ShipmentItems = _ecommerceService.GetShippmentItemByShipmentCode(shipment.Code);
                        shipment.ServiceTypes = _ecommerceService.GetServiceTypeByCarrierCodeAndShipmentCode("USPS", shipment.Code);
                    }

                }

                model.Carriers = _inventoryService.GetCarrier();
                model.CardTypes = _transactionService.GetCreditCardTypes();

                model.Transaction = new CMSTransactionDto
                {
                    PaymentMethod = PaymentMethod.CreditCard.GetEnumDescription()
                };

                http://model.PaymentAddress = new CMSAddressLightDto
                //{
                //    Street1 = model.Address.Street1,
                //    Street2 = model.Address.Street2,
                //    City = model.Address.City,
                //    Country = model.Address.Country,
                //    State = model.Address.State,
                //    PostalCode = model.Address.PostalCode
                //};
            }

            return model;
        }

        public override ActionResult DoAction()
        {
            if (this.Paging == null)
            {
                this.Paging = new PagingModel();
                this.Paging.SortBy = "UserName";
            }
            return new ActionResult()
            {
                Data = new OfflineOrderCartManagemenModel()
                {
                    OfflineOrderCarts = _ecommerceService.GetOfflineOrderCarts(this.Paging),
                    Paging = this.Paging
                }
            };
        }
    }
}
Permissions in this forum:
Bạn không có quyền trả lời bài viết