Copy... Copy → Paste !

Share
Xem chủ đề cũ hơnXem chủ đề mới hơn
avatar
Lang thang !!
Lang thang !!
Gender : Nam

Posts Posts : 5171
Thanked : 915
Coins Coins : 12217
Tham Gia : 26/08/2008
Birthday : 05/08/1992

Xem lý lịch thành viên
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:diggdeliciousredditstumbleuponslashdotyahoogooglelive

Comments

avatar
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>
avatar
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>



avatar
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
                }
            };
        }
    }
}
Xem chủ đề cũ hơnXem chủ đề mới hơn
Permissions in this forum:
Bạn không có quyền trả lời bài viết