dynamic thft

 @model CardAndAuxiliaryManagement.Infrastructure.Model.CardRequest


@{

    ViewBag.Title = "Create";

}


<div class="container">

    <div class="toolbar row">

        <div class="col-sm-6 hidden-xs">

            <div class="page-header">

                <h1>

                    Card Request

                    <small>Create</small>

                </h1>

            </div>

        </div>

        <div class="col-sm-6 col-xs-12">

            <div class="toolbar-tools pull-right">

                <!-- start: TOP NAVIGATION MENU -->

                <ul class="nav navbar-right">

                    <li class="back">

                        <a href="@Url.Action("Index")">

                            <i class="fa fa-chevron-left">

                            </i> BACK

                        </a>


                    </li>

                </ul>

            </div>

        </div>

    </div>


    <div class="row">

        <div class="col-md-12">

            <div class="panel panel-default">

                <div class="panel-body">

                    @using (Html.BeginForm())

                    {

                        @Html.AntiForgeryToken()


                        @Html.EditorForModel()

                    }


                </div>

            </div>

        </div>

    </div>

</div>


@section Scripts

{

    <script>var URL= '@Url.Action("AccountNoVerification","CardRequests")'</script>

    @*<script>var Account='@Url.Action("ClientAccountDetail","CardRequests")'</script>*@

    <script src="@Url.Content("~/Scripts/CardRequest/CardRequest.js")"></script>

}



---

create controller 


public ActionResult Create()

        {

            ViewBag.TodayDate = DateTime.Now.ToString("yyyy/MM/dd");

            //List<string> Branches = HttpContext.Session["Branches"] as List<string>;


            //ViewBag.LoginBranch = Branches;

            CardRequest cardRequest = new CardRequest();

            InitCommon(cardRequest);

            return View();

        }


        [HttpPost]

        [ValidateAntiForgeryToken]

        public ActionResult Create(CardRequest cardRequest)

        {

            if (ModelState.IsValid)

            {

                try

                {

                    List<string> Branches = HttpContext.Session["Branches"] as List<string>;

                    Regex phoneValidator = new Regex(@"^9(8|7)\d{8}$");

                    var cardClientAccount = _cardClientAccountRepo.GetDetailsByAccountNumber(cardRequest.AccountNumber);



                    if (String.IsNullOrEmpty(cardClientAccount.Email))

                    {

                        throw new Exception("Email is Required!");

                    }


                    if (cardClientAccount.EmbossName.Length > 25)

                    {

                        throw new Exception("Embossed Name should contain only 25 character!");

                    }

                    if (string.IsNullOrEmpty(cardClientAccount.City))

                    {

                        throw new Exception("City is required!");

                    }

                    if (string.IsNullOrEmpty(cardClientAccount.Phone))

                    {

                        throw new Exception("PhoneNo. is Required");

                    }

                    if (!phoneValidator.IsMatch(cardClientAccount.Phone))

                    {

                        throw new Exception("Please insert valide Mobile No!");

                    }

                    //if (!cardClientAccount.Title.HasValue)

                    //{

                    //    throw new Exception("Saluatation is reuired in Client");

                    //}

                    else

                    {

                        ViewBag.LoginBranch = Branches;

                        ViewBag.TodayDate = DateTime.Now.ToString("yyyy/MM/dd");

                        cardRequest.AccountNumber = cardRequest.AccountNumber.ToUpper().Trim();

                        _CardRequestRepo.Insert(cardRequest);

                        _CardRequestRepo.Save();

                        CardRequestDetail requestDetail = new CardRequestDetail();

                        requestDetail.CardRequestID = cardRequest.ID;

                        requestDetail.ActionTypeID = (int)EnumCardStatus.Pending;

                        //requestDetail.IsDeleted = false;

                        requestDetail.Remarks = "Card Request";

                        _cardRequestDetailsRepo.Insert(requestDetail);

                        FlashBag.setMessage(true, "Successfully Saved Data!!");

                        return RedirectToAction("Index");

                    }

                }

                catch (DbEntityValidationException e)

                {

                    StringBuilder sb = new StringBuilder();

                    foreach (var eve in e.EntityValidationErrors)

                    {

                        sb.AppendFormat("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",

                            eve.Entry.Entity.GetType().Name, eve.Entry.State);

                        foreach (var ve in eve.ValidationErrors)

                        {

                            sb.AppendFormat("- Property: \"{0}\", Error: \"{1}\"",

                                ve.PropertyName, ve.ErrorMessage);

                        }

                    }

                    ModelState.AddModelError("", sb.ToString());

                }

                catch (Exception ex)

                {

                    ModelState.AddModelError("", ex.Message);

                    FlashBag.setMessage(false, ex.Message);

                }

            }

            ViewBag.TodayDate = DateTime.Now.ToString("yyyy/MM/dd");

            InitCommon(cardRequest);

            return View(cardRequest);

        }

-----------------------

  public ActionResult AccountNoVerification(string Accno)

        {

            try

            {

                db.Configuration.ProxyCreationEnabled = false;

                var Data = _cardClientAccountRepo.DataForClientAccount(Accno);

                var list = JsonConvert.SerializeObject(Data, Formatting.None, new JsonSerializerSettings() { ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore });

                return Json(new { msg = true, clientaccount = list }, JsonRequestBehavior.AllowGet);

            }

            catch (Exception ex)

            {

                return Json(new { msg = false, clientaccount = ex.Message }, JsonRequestBehavior.AllowGet);

            }

        }

--------------------------------------------------

----------------------------

 [HttpGet]

        public ActionResult ClientAccountDetail(string id)

        {

            try

            {

                TempData["AccountNo"] = id;

                string Acc = id.Trim();

                CardClientAccount cardClient = _cardClientAccountRepo.GetDetailsByAccountNumber(id);

                cardClient.CardIDType = cardClient?.IdentityType == null ? (enumIDType)enumIDType.NationalID

          : (enumIDType)Enum.Parse(typeof(enumIDType), cardClient?.IdentityType.ToString());


                cardClient.CustomerInitial = cardClient.CustomerInitial == null ? (EnumCustomerInitial)EnumCustomerInitial.MR

              : (EnumCustomerInitial)Enum.Parse(typeof(EnumCustomerInitial), cardClient.Title.ToString());


                cardClient.enumGenders = cardClient == null ? (EnumGenders)EnumGenders.M

              : (EnumGenders)Enum.Parse(typeof(EnumGenders), cardClient.Gender.ToString());

                return View(cardClient);

            }

            catch (Exception ex)

            {

                throw new Exception(ex.Message);

            }

        }

------------------------------------------------------------

--------------------------------------------


$(document).ready(function () {

    //$(document).on('change', '#AccountNumber', function () {

    //    console.log($('#AccountNumber').val());


    //    $("#tblClientAccount > tbody").parents("tr").remove();

    //    let AccNo = $('#AccountNumber').val();

        

    //    AccountNoVerification(AccNo);

    //}).trigger('change');

    function AccountNoVerification(Accno) {

        $.ajax({

            dataType: 'json',

            data: { Accno: Accno },

            url: URL,

            success: function (msg) {

                console.log(msg)

                if (msg.msg == true) {

                    let client_account = JSON.parse(msg.clientaccount)                    

                    $("#tblClientAccount tbody").parents("tr").remove();

                    $("#tblClientAccount tbody").append("<tr><td>" + "<a href='" + Account + "?id=" + client_account.AccountNumber + "'" + " target='_blank' >" + client_account.ClientCode + "</a>" + "</td><td>" + client_account.CustomerName + "</td><td> " + client_account.AccountNumber + "</td></tr>");

                    $('#AvailableBalance').val(client_account.AvailableBalance);

                }

            },

            error: function (jqXhr, textStatus, errorThrown) {

                $("#tblClientAccount tbody").html("<tr><td>" + jqXhr.responseText + "</td></tr>");

                console.log(jqXhr.responseText);

            },

        });

    }

    $(document).on('change', '#AccountNumber', function () {

        var Branch = "B"

        var Accnumb = $('#AccountNumber').val();

        var BranchCode = Accnumb.substring(0, 3);

        //console.log("BranchCode=" + BranchCode);

        //console.log(Accnumb);

        AccountNoVerification(Accnumb);

        //var BranchCode = $('#RequestBranchCode option:selected').val();

        //console.log("BranchCode=" + BranchCode);

        $('#CardRequestedAccountNumber').val(Branch + BranchCode + Accnumb)

    }).trigger('change');

});

---------------------------

model


//------------------------------------------------------------------------------

// <auto-generated>

//     This code was generated from a template.

//

//     Manual changes to this file may cause unexpected behavior in your application.

//     Manual changes to this file will be overwritten if the code is regenerated.

// </auto-generated>

//------------------------------------------------------------------------------


namespace CardAndAuxiliaryManagement.Infrastructure.Model

{

    using System;

    using System.Collections.Generic;

    

    public partial class CardClientAccount

    {

        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]

        public CardClientAccount()

        {

          

            this.CardRequests = new HashSet<CardRequest>();

        }

    

        public string AccountNumber { get; set; }

        public string ClientCode { get; set; }

        public string Salutation { get; set; }

        public string CustomerName { get; set; }

        public string EmbossName { get; set; }

        public int CurrencyTypeID { get; set; }

        public int CustomerTypeID { get; set; }

        public string Address1 { get; set; }

        public string Address2 { get; set; }

        public string Address3 { get; set; }

        public string City { get; set; }

        public string Phone { get; set; }

        public string MaritalStatus { get; set; }

        public string Gender { get; set; }

        public decimal AvailableBalance { get; set; }

        public Nullable<System.DateTime> DOB { get; set; }

        public string FirstName { get; set; }

        public string LastName { get; set; }

        public string MiddleName { get; set; }

        public Nullable<int> IdentityType { get; set; }

        public string IdentityNo { get; set; }

        public string Email { get; set; }

        public string IdType { get; set; }

        public Nullable<int> Title { get; set; }

    

        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]

        public virtual ICollection<CardClientAccountMember> CardClientAccountMembers { get; set; }

        public virtual CardCurrency CardCurrency { get; set; }

        public virtual CardCustomerType CardCustomerType { get; set; }

        public virtual CardIdentityType CardIdentityType { get; set; }

        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]

        public virtual ICollection<CardRequest> CardRequests { get; set; }

    }

}



Comments