Business ERP Part 29 Edit Account Heads in ASP.NET MVC

  Business ERP Part 26 Edit Account Activity in ASP.NET MVC

Hi, Dear's here we learn how to implement Auto Time Table Generator in Visual Studio using C# Windows Form. Ilyasoft software company provide full project step by step training on our YouTube Channel ilyasoft software company so now subscribe, share and like for more project base tutorials


In this part we are going to edit accounts heads in tblAccountHead Table, so now follow below code.

Source Code: 
Action C# Code :
using DatabaseLayer;
using ERP_App.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace ERP_App.Controllers
{
    public class AdminConfigController : Controller
    {
        private BusinessERPDbEntities DB = new BusinessERPDbEntities();
public ActionResult EditAccountHead(int? accountheadid)
        {
            if (string.IsNullOrEmpty(Convert.ToString(Session["UserName"])))
            {
                return RedirectToAction("Login", "Home");
            }
            var userid = 0;
            var usertypeid = 0;
            int.TryParse(Convert.ToString(Session["UserID"]), out userid);
            int.TryParse(Convert.ToString(Session["UserTypeID"]), out usertypeid);
            if (usertypeid != 1)
            {
                return RedirectToAction("Admin", "Dashboard");
            }
            var accounthead = DB.tblAccountHeads.Find(accountheadid);
            var accountheadmv = new AccountHeadMV();
            accountheadmv.AccountHeadID = accounthead.AccountHeadID;
            accountheadmv.AccountHeadName = accounthead.AccountHeadName;
            accountheadmv.Code = accounthead.Code;
            accountheadmv.UserID = userid;
            return View(accountheadmv);
        }

        [HttpPost]
        [ValidateAntiForgeryToken]
        public ActionResult EditAccountHead(AccountHeadMV accountheadmv)
        {
            if (string.IsNullOrEmpty(Convert.ToString(Session["UserName"])))
            {
                return RedirectToAction("Login", "Home");
            }
            var userid = 0;
            var usertypeid = 0;
            int.TryParse(Convert.ToString(Session["UserID"]), out userid);
            int.TryParse(Convert.ToString(Session["UserTypeID"]), out usertypeid);
            if (usertypeid != 1)
            {
                return RedirectToAction("Admin", "Dashboard");
            }
            if (ModelState.IsValid)
            {
                var checkaccounthead = DB.tblAccountHeads.Where(u => u.AccountHeadName == accountheadmv.AccountHeadName.Trim() && u.AccountHeadID != accountheadmv.AccountHeadID).FirstOrDefault();
                if (checkaccounthead == null)
                {
                    var newaccounthead = new tblAccountHead();
                    newaccounthead.AccountHeadID = accountheadmv.AccountHeadID;
                    newaccounthead.AccountHeadName = accountheadmv.AccountHeadName;
                    newaccounthead.Code = accountheadmv.Code;
                    newaccounthead.UserID = userid;
                    DB.Entry(newaccounthead).State = System.Data.Entity.EntityState.Modified;
                    DB.SaveChanges();
                    return RedirectToAction("AllAccountHeads");
                }
                else
                {
                    ModelState.AddModelError("AccountHeadName", "Already Exist!");
                }
            }
            return View(accountheadmv);
        }
    }
}
View Code :
@model ERP_App.Models.AccountHeadMV
@{
    ViewBag.Title = "Account Head's";
}
<div class="col-lg-6">
    <div class="card card-default mb-6">
        <div class="card-header">Edit Account Head</div>
        <div class="card-body">
            @using (Html.BeginForm("EditAccountHead", "AdminConfig", FormMethod.Post))
            {
                @Html.AntiForgeryToken()
                <div class="form-horizontal">
                    @Html.ValidationSummary(true, "", new { @class = "text-danger" })
                    @Html.HiddenFor(u => u.AccountHeadID)
                    @Html.HiddenFor(u => u.CreatedBy)
                    @Html.HiddenFor(u => u.UserID)
                    <div class="form-group">
                        @Html.LabelFor(model => model.AccountHeadName, htmlAttributes: new { @class = "control-label col-md-6" })
                        <div class="col-md-10">
                            @Html.EditorFor(model => model.AccountHeadName, new { htmlAttributes = new { @class = "form-control" } })
                            @Html.ValidationMessageFor(model => model.AccountHeadName, "", new { @class = "text-danger" })
                        </div>
                    </div>

                    <div class="form-group">
                        @Html.LabelFor(model => model.Code, htmlAttributes: new { @class = "control-label col-md-2" })
                        <div class="col-md-10">
                            @Html.EditorFor(model => model.Code, new { htmlAttributes = new { @class = "form-control" } })
                            @Html.ValidationMessageFor(model => model.Code, "", new { @class = "text-danger" })
                        </div>
                    </div>

                    <div class="form-group">
                        <div class="col-md-offset-2 col-md-10">
                            <input type="submit" value="Update" class="btn btn-success" />
                            @Html.ActionLink("Back", "AllAccountHeads", null, new { @class = "btn btn-outline-default" })
                        </div>
                    </div>
                </div>
            }
        </div>
    </div>
</div> 

Comments