0

I have a problem. I want to make insert method. i have checked all the code is same to another method which is in another method is successfull. but in the code below it's always throw error

Object reference not set to an instance of an object.

can you help me? I have gotten this errorfor 2 days

this is the controller code

public ActionResult MultipleCommand(NCRForm  ncr, string Command)
{
    if (Command == "Submit")
    {
        int a = 001;
        var filename = Path.GetFileName(ncr.attachment.FileName);
        try
        {

            if (ncr.attachment.ContentLength > (2 * 1024 * 1024))
            {
              ModelState.AddModelError("Custom Error", "File size must be less than 2 MB");
            }
            if (!(ncr.attachment.ContentType == "file/doc" || ncr.attachment.ContentType == "file/docx" || ncr.attachment.ContentType == "file/pdf"))
            {
                ModelState.AddModelError("Custom Error", "File type allowed: doc/docx/pdf");
            }
            var path = Path.Combine(Server.MapPath("~/UploadFile/"), filename);
            ncr.attachment.SaveAs(path);

            // TODO: Add insert logic here
            ViewBag.idNCRCategory = new SelectList(ncrdc.NCR_Categories, "ID", "Category_Name");
            ViewBag.idCountry = new SelectList(ncrdc.Master_Countries, "ID", "Value");
            ViewBag.idShift = new SelectList(ncrdc.Master_Shifts, "ID", "Value");
            ViewBag.idLocation = new SelectList(ncrdc.Master_Locations, "ID", "Value");
            ViewBag.idProcess = new SelectList(ncrdc.Master_Processes, "ID", "Value");
            ViewBag.idProduct = new SelectList(ncrdc.Master_Products, "ID", "Desc");
            ViewBag.idUnit = new SelectList(ncrdc.Master_Units, "ID", "Value");
            ViewBag.idFeedbackCategory = new SelectList(ncrdc.Master_Feedback_Libraries, "ID", "Feedback_LibraryDesc");
            ViewBag.idVendor = new SelectList(ncrdc.Master_Vendors, "ID", "Vendor_Name");
            ViewBag.idProductType = new SelectList(ncrdc.Master_Product_Categories, "ID", "Value");


            debug += "8\n";
            NCR_Form n = new NCR_Form()
            {
                NCR_number = DateTime.Now.ToShortDateString() + "/" + a,
                NCR_status = "Waiting for Production PIC",
                category_name = ncr.idNCRCategory,
                Export = ncr.export,
                Country = ncr.idCountry,
                report_date = ncr.reportDate,
                Problem_date = ncr.problemDate,
                Weeks = ncr.week,
                Years = ncr.year,
                Shifts = ncr.idShift,
                Title = "new NCR",
                Locations = ncr.idLocation,
                Process = ncr.idProcess,
                Product_type = ncr.idProductType,
                Product = ncr.idProduct,
                Production_code = ncr.productionCode,
                OP_Number = ncr.OpNo,
                defect_qty1 = ncr.defectQuantity,
                Unit1 = ncr.idUnit,
                Vendor = ncr.idVendor,
                defect_found_in = ncr.defectFoundIn,
                descriptions = ncr.description,
                //attachFile = "~/UploadFile/" + filename,
                Feedback_Category1 = ncr.idFeedbackCategory,
                Created = DateTime.Now,
                Created_by = DBHelper.GetCurrentUser(HttpContext).Title,
                Modified = DateTime.Now,
                Modified_by = DBHelper.GetCurrentUser(HttpContext).Title
            };
            ncrdc.NCR_Forms.InsertOnSubmit(n);
            ncrdc.SubmitChanges();
            a++;
            return RedirectToAction("Index", new { SPHostUrl = SharePointContext.GetSPHostUrl(HttpContext.Request).AbsoluteUri });

        }
        catch (Exception ex)
        {
            DBHelper.InsertErrorLog("Error: ", ex.Message+debug);
            return Json(ex.Message+ex.StackTrace+debug);
        }

        }

    }
    else
    {
        return RedirectToAction("Index", new { SPHostUrl = SharePointContext.GetSPHostUrl(HttpContext.Request).AbsoluteUri });
    }
}

and this is the view:

@model NCRHMSWeb.Models.NCRForm
@using (Html.BeginForm("MultipleCommand", "NCRForm", new { SPHostUrl =        ViewBag.SPURL }, FormMethod.Post, new { enctype = "multipart/form-data" }))
{

//button Action
<div class="row">
    <div class="col-lg-12">
        <div class="ibox float-e-margins">
            <div class="ibox-content">
                <form role="form" class="form-inline">
                    <div class="row">
                        <div class="col-lg-12">
                            <div class="pull-right m-t-4">
                                <button class="btn btn-primary" role="button" type="submit" name="Command" id="Submit" value="Submit">Submit</button>
                                <button class="btn btn-primary" role="button" type="submit" name="Command" id="Save"  value="Save">Save</button>
                                <button class="btn btn-primary" role="button" type="submit" name="Command" id="Cancel" value="Cancel">Cancel</button>
                            </div>
                        </div>
                    </div>
                </form>
            </div>
        </div>
    </div>
</div>

//General Section
<div class="row">
    <div class="col-lg-12">
        <div class="ibox float-e-margins">
            <div class="ibox-title tosca-bg">
                <h5>General</h5>
                <div class="ibox-tools">
                    <a class="collapse-link">
                        <i class="fa fa-chevron-up"></i>
                    </a>
                </div>
            </div>
            <div class="ibox-content">
                <form role="form" class="form-inline">
                    <div class="row">
                        <div class="col-lg-6">
                            <div class="row">
                                <div class="col-lg-5">
                                    <label class="control-label">NCR Number</label>
                                </div>
                                <div class="col-lg-7">
                                    <input type="text" class="form-control" name="NCRNumber" id="NCRNumber" value="TBA" contenteditable="false" />
                                </div>
                            </div>
                        </div>
                        <div class="col-lg-6">
                            <div class="row">
                                <div class="col-lg-5">
                                    <label class="control-label"> Status</label>
                                </div>
                                <div class="col-lg-7">
                                    <input type="text" class="form-control" name="NCRStatus" id="NCRStatus" value="New" contenteditable="false" />
                                </div>
                            </div>
                        </div>
                    </div>
                </form>
            </div>
        </div>
    </div>
</div>





//Initiation
<div class="row">
                <div class="col-lg-12">
                    <div class="ibox float-e-margins">
                        <div class="ibox-title tosca-bg topToggle">
                            <h5>Initiation</h5>
                            <div class="ibox-tools">
                                <a class="collapse-link">
                                    <i class="fa fa-chevron-up"></i>
                                </a>
                            </div>
                        </div>
                        <div class="ibox-content typeToggle InitiatorCont">
                            <form role="form" class="form-inline">
                                <div class="row">
                                    <div class="col-lg-6">
                                        <div class="row m-b-2">
                                            <div class="col-lg-5">
                                                <label class="control-label">NCR Category</label>
                                            </div>
                                            <div class="col-lg-7">
                                                @Html.DropDownList("idNCRCategory", ViewBag.idNCRCategory as SelectList, "--Select--", new { @class = "form-control", @required="required" })
                                            </div>
                                        </div>
                                        <div class="row m-b-2">
                                            <div class="col-lg-5">
                                                <label class="control-label">Report Date</label>
                                            </div>
                                            <div class="col-lg-7">
                                                @Html.TextBoxFor(model => model.reportDate, new { @class = "form-control", @Value = DateTime.Now.ToShortDateString()})


                                            </div>
                                        </div>


                                        <div class="row m-b-2">
                                            <div class="col-md-5">
                                                <label class="control-label">Problem Date</label>
                                            </div>
                                            <div class="col-md-7">
                                                <div class="input-group date">
                                                    <span class="input-group-addon">
                                                        <i class="fa fa-calendar"></i>
                                                    </span>
                                                    <input type="datetime" class="form-control" name="problemDate" id="problemDate"  />
                                                </div>
                                            </div>
                                        </div>

                                        <div class="row m-b-2">
                                            <div class="col-md-5">
                                                <label class="control-label">Week/Year</label>
                                            </div>
                                            <div class="col-md-7">
                                                <div class="col-md-5 p-l-0">
                                                    <input type="text" class="form-control" name="week" id="week" style="width:127px;" />
                                                </div>
                                                <div class="col-md-1 p-l-3 p-r-2">
                                                    /
                                                </div>
                                                <div class="col-md-6 p-l-0">
                                                    <input type="text" class="form-control" name="year" id="year" style="width:132px;" />
                                                </div>
                                            </div>
                                        </div>

                                        <div class="row m-b-2">
                                            <div class="col-md-5">
                                                <label class="control-label">Shift</label>
                                            </div>
                                            <div class="col-md-7">
                                                @Html.DropDownList("idShift", ViewBag.idShift as SelectList, "--Select--", new { @class = "form-control", @required = "required" })
                                            </div>
                                        </div>

                                        <div class="row m-b-2">
                                            <div class="col-md-5">
                                                <label class="control-label">Location</label>
                                            </div>
                                            <div class="col-md-7">
                                                @Html.DropDownList("idLocation", ViewBag.idLocation as SelectList, "--Select--", new { @class = "form-control", @required = "required" })
                                            </div>
                                        </div>

                                        <div class="row m-b-2">
                                            <div class="col-md-5">
                                                <label class="control-label">Process</label>
                                            </div>
                                            <div class="col-md-7">
                                                @Html.DropDownList("idProcess", ViewBag.idProcess as SelectList, "--Select--", new { @class = "form-control", @required = "required" })
                                            </div>
                                        </div>
                                    </div>


                                    <div class="col-lg-6">
                                        <div class="row m-b-2">
                                            <div class="col-lg-5">
                                                <input type="checkbox" name="export" id="export" /><label class="control-label p-l-2">Export</label>
                                            </div>
                                            <div class="col-lg-7" id="divCountry">
                                                <div class="col-lg-3 p-l-0">
                                                    <label class="control-label">Country</label>
                                                </div>
                                                <div class="col-lg-9 p-l-2">
                                                    @Html.DropDownList("idCountry", ViewBag.idCountry as SelectList, "--Select--", new { @class = "form-control dropDown", @required = "true" })
                                                </div>
                                            </div>
                                        </div>
                                        <div class="row m-b-2">
                                            <div class="col-md-5">
                                                <label class="control-label">Product Type</label>
                                            </div>
                                            <div class="col-md-7">
                                                @Html.DropDownList("idProductType", ViewBag.idProductType as SelectList, "--Select--", new { @class = "form-control" })
                                            </div>
                                        </div>

                                        <div class="row m-b-2">
                                            <div class="col-md-5">
                                                <label class="control-label">Product</label>
                                            </div>
                                            <div class="col-md-7">
                                                @Html.DropDownList("idProduct", ViewBag.idProduct as SelectList, "--Select--", new { @class = "form-control" })
                                            </div>
                                        </div>

                                        <div class="row m-b-2">
                                            <div class="col-md-5">
                                                <label class="control-label">ProductionCode/OpNo</label>
                                            </div>
                                            <div class="col-md-7">
                                                <div class="col-md-5 p-l-0">
                                                    <input type="text" class="form-control" name="productionCode" id="productionCode" style="width:127px;" required="required" />
                                                </div>
                                                <div class="col-md-1 p-l-3 p-r-2">
                                                    /
                                                </div>
                                                <div class="col-md-6 p-l-0">
                                                    <input type="text" class="form-control" name="OpNo" id="OpNo" style="width:132px;" required="required"/>
                                                </div>
                                            </div>
                                        </div>

                                        <div class="row m-b-2">
                                            <div class="col-md-5">
                                                <label class="control-label">DefectQty/Unit</label>
                                            </div>
                                            <div class="col-md-7">
                                                <div class="col-md-5 p-l-0">
                                                    <input type="text" class="form-control" name="defectQuantity" id="defectQuantity" style="width:127px;" required="required"/>
                                                </div>
                                                <div class="col-md-1 p-l-3 p-r-2">
                                                    /
                                                </div>
                                                <div class="col-md-6 p-l-0">
                                                    @Html.DropDownList("idUnit", ViewBag.idUnit as SelectList, "--Select--", new { @class = "form-control" })
                                                </div>
                                            </div>
                                        </div>

                                        <div class="row m-b-2">
                                            <div class="col-md-5">

                                            </div>
                                            <div class="col-md-7">
                                                <div class="col-md-5 p-l-0">
                                                    <input type="text" class="form-control" name="defectQuantity" id="defectQuantity" style="width:127px;" />
                                                </div>
                                                <div class="col-md-1 p-l-3 p-r-2">
                                                    /
                                                </div>
                                                <div class="col-md-6 p-l-0">
                                                    @Html.DropDownList("idUnit", ViewBag.idUnit as SelectList, "--Select--", new { @class = "form-control" })
                                                </div>
                                            </div>
                                        </div>

                                        <div class="row m-b-2">
                                            <div class="col-md-5">
                                                <label class="control-label">Vendor</label>
                                            </div>
                                            <div class="col-md-7">
                                                @Html.DropDownList("idVendor", ViewBag.idVendor as SelectList, "--Select--", new { @class = "form-control" })
                                            </div>
                                        </div>

                                    </div>
                                </div>
                                <div class="row">
                                    <div class="col-lg-12">
                                        <div class="row m-b-2">
                                            <div class="col-lg-2">
                                                <label class="control-label">Defect Found In</label>
                                            </div>
                                            <div class="col-lg-10">
                                                <div class="col-lg-4">
                                                    <input type="radio" class="form-control" id="IsRaw" name="defectFoundIn" />Raw Material
                                                    @*@Html.RadioButton("defectFoundIn", "RawMaterial", true, new { id = "IsRaw" }) Raw Material*@
                                                </div>
                                                <div class="col-lg-4">
                                                    <input type="radio" class="form-control" id="IsProduct" name="defectFoundIn" />Product during Processing
                                                    @*@Html.RadioButton("defectFoundIn", "ProductduringProcessing", true, new { id = "IsProduct" }) Product during Processing*@
                                                </div>
                                                <div class="col-lg-4">
                                                    <input type="radio" class="form-control" id="IsEnd" name="defectFoundIn" />End Product
                                                    @*@Html.RadioButton("defectFoundIn", "EndProduct", true, new { id = "IsEnd" }) End Product*@
                                                </div>
                                            </div>
                                        </div>
                                        <div class="row m-b-3">
                                            <div class="col-lg-2">
                                                <label class="control-label">Feedback Category 1</label>
                                            </div>
                                            <div class="col-lg-10">
                                                @Html.DropDownList("idfeedbackCategory", ViewBag.idfeedbackCategory as SelectList, "--Select--", new { @class = "form-control dropDown-long" })
                                            </div>
                                        </div>
                                        <div class="row m-b-2">
                                            <div class="col-lg-2">
                                                <label class="control-label">Feedback Category 2</label>
                                            </div>
                                            <div class="col-lg-10">
                                                @Html.DropDownList("idfeedbackCategory", ViewBag.idfeedbackCategory as SelectList, "--Select--", new { @class = "form-control dropDown-long" })
                                            </div>
                                        </div>
                                        <div class="row m-b-2">
                                            <div class="col-lg-2">
                                                <label class="control-label">Feedback Category 3</label>
                                            </div>
                                            <div class="col-lg-10">
                                                @Html.DropDownList("idfeedbackCategory", ViewBag.idfeedbackCategory as SelectList, "--Select--", new { @class = "form-control dropDown-long" })
                                            </div>
                                        </div>
                                        <div class="row m-b-2">
                                            <div class="col-lg-2">
                                                <label class="control-label">Feedback Category 4</label>
                                            </div>
                                            <div class="col-lg-10">
                                                @Html.DropDownList("idfeedbackCategory", ViewBag.idfeedbackCategory as SelectList, "--Select--", new { @class = "form-control dropDown-long" })
                                            </div>
                                        </div>
                                        <div class="row m-b-2">
                                            <div class="col-lg-2">
                                                <label class="control-label">Feedback Category 5</label>
                                            </div>
                                            <div class="col-lg-10">
                                                @Html.DropDownList("idfeedbackCategory", ViewBag.idfeedbackCategory as SelectList, "--Select--", new { @class = "form-control dropDown-long" })
                                            </div>
                                        </div>
                                        <div class="row m-b-2">
                                            <div class="col-lg-2">
                                                <label class="control-label">Description</label>
                                            </div>
                                            <div class="col-lg-10">
                                                <textarea class="form-control textarea-large" id="description" name="description"></textarea>
                                            </div>
                                        </div>
                                        <div class="row m-b-2">
                                            <div class="col-lg-2">
                                                <label class="control-label">Attachment</label>
                                            </div>
                                            <div class="col-lg-10">
                                                <input type="file" class="form-control" id="attachment" name="attachment" />
                                            </div>
                                        </div>
                                        <div class="row m-b-2">
                                            <div class="col-lg-2">
                                                <label class="control-label">Production PIC</label>
                                            </div>
                                            <div class="col-lg-10">
                                                @*@Html.DropDownList("select");*@
                                                <input type="text" />
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </form>
                        </div>
                    </div>
                </div>
            </div>
}
Mong Zhu
  • 23,309
  • 10
  • 44
  • 76
  • 6
    Better you read this [thread](http://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-and-how-do-i-fix-it), Lets close this question as dupe – sujith karivelil Dec 09 '16 at 07:55
  • You should check if "ncr" and "ncr.attachment" are not null before doing anything else :-) – Arcord Dec 09 '16 at 08:00
  • `ncrdc` may not be initialized. try `ncrdc = new DBContext();` – ViVi Dec 09 '16 at 08:06
  • Basic steps: at what line does the error occur? What could be `null` there and why? Then figure out how to prevent that happening (create a missing object, test for non-null, ...). And do read the [thread](http://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-and-how-do-i-fix-it) un-lucky referred to. – Hans Kesting Dec 09 '16 at 08:28

0 Answers0