Thursday, 12 May 2016

MVC-WEB APP

DisplayPlayer.cshtml

@model IEnumerable<MVC_WebAPP.Models.Player>
@{
    ViewBag.Title = "DisplayPlayer";
}
<script src="~/Scripts/jquery.js" type="text/javascript"></script>
<style>
    table{width:100%;}
    table tr td,th{border: 1px solid rgb(221, 221, 221);}
</style>
<style type="text/css">
    .edit-mode {
    }

    .edit-user {
    }

        .edit-user display-mode {
        }

    .save-user edit-mode {
    }

    .display-mode {
    }

    .cancel-user {
    }

    .webgrid-table {
        font-family: Arial,Helvetica,sans-serif;
        font-size: 14px;
        font-weight: normal;
        width: 650px;
        display: table;
        border-collapse: collapse;
        border: solid px #C5C5C5;
        background-color: white;
    }

        .webgrid-table td, th {
            border: 1px solid #C5C5C5;
            padding: 3px 7px 2px;
        }

    .webgrid-header, .webgrid-header a {
        background-color: #E3E3E3;
        color: black;
        text-align: left;
        text-decoration: none;
    }

    .webgrid-footer {
    }

    .webgrid-row-style {
        padding: 3px 7px 2px;
    }

    .webgrid-alternating-row {
        background-color: #F5F5F5;
        padding: 3px 7px 2px;
    }

    .col1Width {
        width: 50px;
    }

    .col2Width {
        width: 200px;
    }
</style>
<script type="text/javascript">
    $(function () {
        $('.edit-mode').hide();
        $('.edit-user, .cancel-user').on('click', function () {
            var tr = $(this).parents('tr:first');
            tr.find('.edit-mode, .display-mode').toggle();
        });
        $('.save-user').on('click', function () {
            var tr = $(this).parents('tr:first');
            alert(tr)
            var FirstName = tr.find("#FirstName").val();
            var LastName = tr.find("#LastName").val();
            var UserID = tr.find("#UserID").html();
            tr.find("#lblFirstName").text(FirstName);
            tr.find("#lblLastName").text(LastName);
            tr.find('.edit-mode, .display-mode').toggle();
            var UserModel =
            {
                "ID": UserID,
                "FirstName": FirstName,
                "LastName": LastName
            };
            $.ajax({
                url: '/Player/UpdateUser/',
                data: JSON.stringify(UserModel),
                type: 'PUT',
                contentType: 'application/json; charset=utf-8',
                success: function (data) {
                    alert(data);
                }
            });

        });
    })
</script>

@if (Model.Count() != 0)
{
    <table>
        <tr>
            <th>ID</th>
            <th>Name</th>
            <th>Gender</th>
            <th>DOB</th>
            <th>Rating</th>
            <th>Status</th>
        </tr>
       
        @foreach (var item in Model)
        {
        <tr>
            <td>@item.PlyID</td>
            <td>@item.Name</td>
            <td>@item.Gender</td>
            <td>@item.DOB</td>
            <td>@item.Rating</td>
            <td>@item.StatusRst</td>
        </tr>
        }
    </table>
}
@{
    var grid = new WebGrid(source : Model);
    @grid.GetHtml(htmlAttributes: new { id = "grd" },
             //tableStyle: "webgrid-table",
                //headerStyle: "webgrid-header",
                //footerStyle: "webgrid-footer",
                //alternatingRowStyle: "webgrid-alternating-row",
                //selectedRowStyle: "webgrid-selected-row",
                //rowStyle: "webgrid-row-style",
                mode: WebGridPagerModes.All,
            columns: grid.Columns(
            grid.Column("PlyID", format: @<text><span class="display-mode">@item.PlyID</span><label id="UserID" class="edit-mode">@item.PlyID</label></text>, style: "col1Width" ),
            grid.Column("Name", "Name", format: @<text><span class="display-mode"><label id="lblFirstName">@item.Name</label></span><input type="text" id="FirstName" value="@item.Name" class="edit-mode" /></text>, style: "col2Width"),
                                    //grid.Column("Gender", "Gender", format: @<text><span class="display-mode"><label id="lblFirstName">@item.Gender</label></span> @Html.RadioButtonFor("g", "F", new { @checked = true }) FeMale<input type="text" id="FirstName" value="@item.Name" class="edit-mode" /></text>, style: "col2Width"),
                         grid.Column("Gender", "Gender"),
                         grid.Column("DOB", "DOB"),
                         grid.Column("Rating", "Rating"),
                         grid.Column("StatusRst", "Status"),
                         grid.Column("Action", format: @<text>
                            <button class="edit-user display-mode">Edit</button>
                            <button class="save-user edit-mode">Update</button>
                            <button class="cancel-user edit-mode">Cancel</button>
                        </text>,  style: "col3Width" , canSort: true)
        ));
}
 

Model

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace MVC_WebAPP.Models
{
    public class Player
    {
        public int PlyID { get; set; }
        public string Name { get; set; }
        public string Gender { get; set; }
        public DateTime DOB { get; set; }
        public string Rating { get; set; }
        public bool Status { get; set; }
        public string StatusRst { get; set; }
    }
}

Controller

using DAL;
using MVC_WebAPP.Models;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Xml;

namespace MVC_WebAPP.Controllers
{
    public class PlayerController : Controller
    {   JSONHelper jsonobj = new JSONHelper();
        DataSet ds=new DataSet();
        DataTable dt =new DataTable();
        XmlDocument xmlDoc = new XmlDocument();
        IList<Player> lstModel = new List<Player>();
        SelectList Country = null;
        // GET: Player
        public ActionResult Index()
        {
            FillCountry();           
            return View();
        }
        public class Person
        {
            public int Id { get; set; }
            public string Name { get; set; }
        }
        public void FillCountry()
        {
            var ddList = new[] { new Person { Id = 1, Name = "India" }};
            Country = new SelectList(ddList, "Id", "Name");
            ViewData["Country"] = Country;
        }
        public void FillGender()
        {
            List<SelectListItem> objGender = new List<SelectListItem>();
            objGender.Add(new SelectListItem { Text = "-- Select Gender --", Value = "0" });
            objGender.Add(new SelectListItem { Text = "Female", Value = "F" });
            objGender.Add(new SelectListItem { Text = "Male", Value = "M" });
            objGender.Add(new SelectListItem { Text = "Transgender", Value = "T" });
            ViewData["Gender"] = objGender;
            ViewBag.Gender = objGender;
        }
        public ActionResult NewkRegUser(string Name, string Gender, string DOB, string Rating, string Status)
        {
            JObject QukRegUser = new JObject();          
            try
            {              
                QukRegUser.Add("Name", Name);
                QukRegUser.Add("Gender", Gender);
                QukRegUser.Add("DOB", DOB);
                QukRegUser.Add("Rating", Rating);
                QukRegUser.Add("Status", Status);
                TempData["QukRegPost"] = jsonobj.JSONPost(AppUrls.PlayerReg_POST, QukRegUser);
                string result = TempData["QukRegPost"].ToString();
                JObject objJson = JObject.Parse(result);
                string strStatus = objJson.SelectToken("ServerMsg.Msg").ToString();               
                if (strStatus.Equals(enumStatus.SUCCESS.ToString()))
                {                   
                    TempData["Alrdymsg"] = "Thanks for Registering. Kindly Login to Complete Registration.";
                    return RedirectToAction("Index");
                }
                else if (strStatus.Equals(enumStatus.LOGINID_EXISTS.ToString()))
                {
                    TempData["Alrdymsg"] = "You Have Already Registered. Click Here to Login";
                    return RedirectToAction("Index");
                }
                else
                {
                    TempData["RegFailed"] = "Registration Failed Try Again";
                    return View();
                }
            }
            catch (Exception ex)
            {
                TempData["RegFailed"] = "Registration Failed Try Again";
                return RedirectToAction("Index");
                throw ex;
            }
            finally
            {
                QukRegUser = null;
                jsonobj = null;
            }
        }
        public ActionResult UpdateUser(int PlyID,string Name, string Gender, string DOB, string Rating, string Status)
        {
            JObject UpdateUser = new JObject();
            try
            {
                UpdateUser.Add("PlyID", PlyID);
                UpdateUser.Add("Name", Name);
                UpdateUser.Add("Gender", Gender);
                UpdateUser.Add("DOB", DOB);
                UpdateUser.Add("Rating", Rating);
                UpdateUser.Add("Status", Status);
                TempData["QukRegPost"] = jsonobj.JSONPut(AppUrls.PlayerPut_PUT, UpdateUser);
                string result = TempData["QukRegPost"].ToString();
                JObject objJson = JObject.Parse(result);
                string strStatus = objJson.SelectToken("ServerMsg.Msg").ToString();
                if (strStatus.Equals(enumStatus.SUCCESS.ToString()))
                {
                    TempData["Alrdymsg"] = "Thanks for Registering. Kindly Login to Complete Registration.";
                    return RedirectToAction("Index");
                }
                else if (strStatus.Equals(enumStatus.LOGINID_EXISTS.ToString()))
                {
                    TempData["Alrdymsg"] = "You Have Already Registered. Click Here to Login";
                    return RedirectToAction("Index");
                }
                else
                {
                    TempData["RegFailed"] = "Registration Failed Try Again";
                    return View();
                }
            }
            catch (Exception ex)
            {
                TempData["RegFailed"] = "Registration Failed Try Again";
                return RedirectToAction("Index");
                throw ex;
            }
            finally
            {
                UpdateUser = null;
                jsonobj = null;
            }
        }

        public ActionResult DisplayPlayer()
        {
            FillCountry();
            var jsonSResult = jsonobj.JSONGet(AppUrls.PlayerGet_GET.ToString());
            if (jsonSResult != null && jsonSResult.ToString() != "")
            {
                xmlDoc = (XmlDocument)JsonConvert.DeserializeXmlNode(jsonSResult.ToString(), "Result");
                ds.ReadXml(new XmlNodeReader(xmlDoc));
                dt = ds.Tables["Result"];
                if (dt != null)
                {
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        lstModel.Add(new Player()
                        {
                            PlyID = Convert.ToInt32(dt.Rows[i]["PlyID"].ToString()),
                            Name = dt.Rows[i]["Name"].ToString(),
                            Gender = dt.Rows[i]["Gender"].ToString(),
                            DOB = Convert.ToDateTime(dt.Rows[i]["DOB"].ToString()),
                            Rating = dt.Rows[i]["Rating"].ToString(),
                            StatusRst = dt.Rows[i]["Status"].ToString()
                        });
                    }
                }
            }
            return View(lstModel);
        }

    }
}



No comments: