web api code :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using WebApplication39.Models;
namespace WebApplication39.Controllers
{
public class EmpserviceController : ApiController
{
[HttpGet]
[Route("api/Empservice/")]
public List<EMP> Gets()
{
using (Database1Entities obj = new Database1Entities())
{
return obj.EMPs.ToList();
}
}
[HttpGet]
[Route("api/Empservice/Getcountry")]
public List<COUNTRY> Getc()
{
using (Database1Entities obj = new Database1Entities())
{
return obj.COUNTRies.ToList();
}
}
[HttpGet]
[Route("api/Empservice/Getstate/{CID}")]
public List<STATE> Getst(int CID)
{
using (Database1Entities obj = new Database1Entities())
{
return obj.STATEs.Where(m => m.CID == CID).ToList();
}
}
[HttpGet]
[Route("api/Empservice/Get/{EID}")]
public EMP Get(int EID)
{
using (Database1Entities obj = new Database1Entities())
{
return obj.EMPs.Find(EID);
}
}
[HttpPost]
public string Post(EMP emp)
{
using (Database1Entities obj = new Database1Entities())
{
obj.EMPs.Add(emp);
obj.SaveChanges();
return "Data Saved.";
}
}
[HttpPut]
public string Put(EMP emp)
{
using (Database1Entities obj = new Database1Entities())
{
EMP emp1 = obj.EMPs.Find(emp.EID);
emp1.NAME = emp.NAME;
emp1.ADDRESS = emp.ADDRESS;
emp1.PASSWORD = emp.PASSWORD;
emp1.GENDER = emp.GENDER;
emp1.ISMARRIED = emp.ISMARRIED;
emp1.DOB = emp.DOB;
emp1.CID = emp.CID;
emp1.SID = emp.SID;
obj.SaveChanges();
return "Data Updated.";
}
}
[HttpDelete]
[Route("api/Empservice/Delete/{EID}")]
public string Delete(int EID)
{
using (Database1Entities obj = new Database1Entities())
{
EMP emp = obj.EMPs.Find(EID);
obj.EMPs.Remove(emp);
obj.SaveChanges();
return "Data Deleted.";
}
}
}
}
Angularjs Code :
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <link href="Content/bootstrap-theme.css" rel="stylesheet" />
    <link href="Content/bootstrap.css" rel="stylesheet" />
    <script src="Scripts/angular.js"></script>
</head>
<body ng-app="app" ng-controller="ctrl" style="margin-top:20px">
    <div class="container">
        <form class="form-horizontal" name="frmEmp" novalidate>
            <div class="form-group " ng-class="{'has-error':frmEmp.txtEid.$invalid,'has-success':frmEmp.txtEid.$valid}">
                <label class="control-label col-lg-4 ">EID</label>
                <div class="col-lg-4">
                    <input type="text" class="form-control" ng-model="EMP.EID" name="txtEid" required />
                </div>
                <span class="has-error help-block" ng-show="frmEmp.txtEid.$invalid">
                    Eid should not be blank.
                </span>
            </div>
            <div class="form-group " ng-class="{'has-error':frmEmp.txtName.$invalid,'has-success':frmEmp.txtName.$valid}">
                <label class="control-label col-lg-4 ">NAME</label>
                <div class="col-lg-4">
                    <input type="text" class="form-control" ng-model="EMP.NAME" name="txtName" required />
                </div>
                <span class="has-error help-block" ng-show="frmEmp.txtName.$invalid">
                    Name should not be blank.
                </span>
            </div>
            <div class="form-group " ng-class="{'has-error':frmEmp.txtAdd.$invalid,'has-success':frmEmp.txtAdd.$valid}">
                <label class="control-label col-lg-4 ">ADDRESS</label>
                <div class="col-lg-4">
                    <textarea class="form-control" ng-model="EMP.ADDRESS" name="txtAdd" required></textarea>
                </div>
                <span class="has-error help-block" ng-show="frmEmp.txtAdd.$invalid">
                    Address should not be blank.
                </span>
            </div>
            <div class="form-group " ng-class="{'has-error':frmEmp.txtPwd.$invalid,'has-success':frmEmp.txtPwd.$valid}">
                <label class="control-label col-lg-4 ">PASSWORD</label>
                <div class="col-lg-4">
                    <input type="password" class="form-control" ng-model="EMP.PASSWORD" name="txtPwd" required />
                </div>
                <span class="has-error help-block" ng-show="frmEmp.txtPwd.$invalid">
                    Password should not be blank.
                </span>
            </div>
            <div class="form-group " ng-class="{'has-error':frmEmp.rb.$invalid,'has-success':frmEmp.rb.$valid}">
                <label class="control-label col-lg-4 ">GENDER</label>
                <div class="col-lg-4">
                    <input type="radio" ng-model="EMP.GENDER" name="rb" required value="Male" />Male
                    <input type="radio" ng-model="EMP.GENDER" name="rb" required value="Female" />Female
                </div>
                <span class="has-error help-block" ng-show="frmEmp.rb.$invalid">
                   Please select a gender.
                </span>
            </div>
            <div class="form-group">
                <label class="control-label col-lg-4 ">ARE YOU MARRIED ?</label>
                <div class="col-lg-4">
                    <input type="checkbox" ng-model="EMP.ISMARRIED" />
                </div>
            </div>
            <div class="form-group " ng-class="{'has-error':frmEmp.txtDob.$invalid,'has-success':frmEmp.txtDob.$valid}">
                <label class="control-label col-lg-4 ">DOB</label>
                <div class="col-lg-4">
                    <input type="text" class="form-control" ng-model="EMP.DOB" name="txtDob" required />
                </div>
                <span class="has-error help-block" ng-show="frmEmp.txtDob.$invalid">
                    DOB should not be blank.
                </span>
            </div>
            <div class="form-group " ng-class="{'has-error':frmEmp.ddlCountry.$invalid,'has-success':frmEmp.ddlCountry.$valid}">
                <label class="control-label col-lg-4 ">COUNTRY</label>
                <div class="col-lg-4">
                    <select class="form-control" ng-model="EMP.CID" ng-change="fillddl()" name="ddlCountry" ng-options="c.CID as c.CNAME for c in listc" required >
                        <option value="">Select</option>
                    </select>
                </div>
                <span class="has-error help-block" ng-show="frmEmp.ddlCountry.$invalid">
                  Please select a country.
                </span>
            </div>
            <div class="form-group " ng-class="{'has-error':frmEmp.ddlState.$invalid,'has-success':frmEmp.ddlState.$valid}">
                <label class="control-label col-lg-4 ">STATE</label>
                <div class="col-lg-4">
                    <select class="form-control" ng-model="EMP.SID" name="ddlState" ng-options="c.SID as c.SNAME for c in lists" required>
                        <option value="">Select</option>
                    </select>
                </div>
                <span class="has-error help-block" ng-show="frmEmp.ddlState.$invalid">
                    Please select a state.
                </span>
            </div>
            <div class="form-group">
                <label class="control-label col-lg-4 "></label>
                <div class="col-lg-4">
                    <input type="button" value="Save" class="btn btn-primary" ng-click="save(frmEmp.$valid)" style="width:80px" />
                    <input type="button" value="Update" class="btn btn-primary" ng-click="update(frmEmp.$valid)" style="width:80px" />
                    <input type="button" value="Reset" class="btn btn-primary" ng-click="reset()" style="width:80px" />
                </div>
            </div>
            <div class="row">
                <table class="table table-bordered table-condensed table-hover table-responsive table-striped">
                   <thead class="bg-primary">
                       <tr>
                           <th>EID</th>
                           <th>NAME</th>
                           <th>ACTION</th>
                       </tr>
                   </thead>
                    <tbody>
                        <tr ng-repeat="c in liste">
                            <td>{{c.EID}}</td>
                            <td>{{c.NAME}}</td>
                            <td>
                                <a ng-click="edit(c.EID)">Edit</a>|
                                <a ng-click="del(c.EID)">Delete</a>
                            </td>
                        </tr>
                    </tbody>
                </table>
            </div>
        </form>
    </div>
</body>
</html>
<script type="text/javascript">
    angular.module("app", [])
    .controller("ctrl", function ($scope, facEmp) {
        function CLR()
        {
            $scope.EMP = new emp();
        } CLR();
        function fillCountry()
        {
            facEmp.Getc().then(function (d) {
                $scope.listc = d.data;
            });
        } fillCountry();
        $scope.fillddl = function ()
        {
            fx($scope.EMP.CID);
        }
        function fx(s)
        {
            facEmp.Gets(s).then(function (d) {
                $scope.lists = d.data;
            });
        }
$scope.reset = function ()
{
CLR();
}
$scope.reset = function ()
{
CLR();
}
        $scope.save = function (isValid)
        {
            if (isValid)
            {
                facEmp.Save($scope.EMP).then(function (d) {
                    alert(d.data);
                    fill();
                    CLR();
                });
            }
        }
        function fill()
        {
            facEmp.Gete().then(function (d) {
                $scope.liste = d.data;
            });
        } fill();
        $scope.edit = function (s)
        {
            facEmp.Get(s).then(function (d) {
                fx(d.data.CID);
                $scope.EMP = d.data;
                var cd = new Date(d.data.DOB);
                $scope.EMP.DOB = ((parseInt(cd.getMonth() + 1) < 10 )? '0' + parseInt(cd.getMonth() + 1) : parseInt(cd.getMonth() + 1) )+ '-' +( (cd.getDate() < 10 )? '0' + cd.getDate() : cd.getDate() )+ '-' + cd.getFullYear();
            });
        }
        $scope.update = function (isValid) {
            if (isValid) {
                facEmp.Update($scope.EMP).then(function (d) {
                    alert(d.data);
                    fill();
                    CLR();
                });
            }
        }
        $scope.del = function (s)
        {
            if (confirm('Do you want to delete it ?'))
            {
                facEmp.Delete(s).then(function (d) {
                    alert(d.data);
                    fill();
                });
            }
        }
    })
    .factory("facEmp", function ($http)
    {
        var empobj = {};
        empobj.Getc = function ()
        {
            return $http.get("http://localhost:57695/api/Empservice/Getcountry");
        }
        empobj.Gets = function (CID) {
            return $http.get("http://localhost:57695/api/Empservice/Getstate/"+CID);
        }
        empobj.Save = function (EMP)
        {
            return $http.post("http://localhost:57695/api/Empservice/Post", EMP);
        }
        empobj.Update = function (EMP) {
            return $http.put("http://localhost:57695/api/Empservice/Put", EMP);
        }
        empobj.Gete = function ()
        {
            return $http.get("http://localhost:57695/api/Empservice");
        }
        empobj.Get = function (EID) {
            return $http.get("http://localhost:57695/api/Empservice/Get/" + EID);
        }
        empobj.Delete = function (EID) {
            return $http.delete("http://localhost:57695/api/Empservice/Delete/" + EID);
        }
        return empobj;
    });
    function emp()
    {
        return{
            EID:null,
            NAME:null,
            ADDRESS:null,
            PASSWORD: null,
            GENDER:null,
            ISMARRIED: true,
            DOB: null,
            CID: null,
            SID:null
        }
    }
</script>

No comments:
Post a Comment