Wednesday, 17 February 2016

HCL Imp Link

http://www.dotnetspider.com/resources/44652-C-Interview-questions-HCL.aspx
http://www.indiabix.com/placement-papers/hcl/5659
http://www.c-sharpcorner.com/interview-questions-by-company/hcl-technologies

Friday, 18 September 2015

Upload And Download Image.

.cshtml Page
@model NavRisk.Claims.Central.PresentationLayer.Areas.NavRiskProperty.Models.Property.VehicleImageViewModel
@using NavRisk.Claims.Central.PresentationLayer.Common;
@{
    Layout = null;
}

<div class="modal-dialog modal-lg">
    <div class="modal-content">
      
        @using (Html.BeginForm("UpdateVehicleImage", "Property", FormMethod.Post, new { enctype = "multipart/form-data", id = "formImageDetail", target = "UploadTargetForImage", }))
        {
            <div class="modal-header">
                <button type="button" class="close" onclick="CloseImageDetailModalDialog();" aria-hidden="true">
                    <i class="fa fa-times"></i>
                </button>
                <h4 class="modal-title" id="myModalLabel">Upload Image</h4>
            </div>
            <div class="modal-body modal-body-scroll-y">

                @Html.AntiForgeryToken()
                <div class="row">
                  
                    <div class="col-sm-12">
                        <div class="form-group no-margin-hr">
                            <label class="control-label">Image<span style="color: red"><strong>*</strong></span></label>
                            <input type="file" id="fileImage" name="test" data-required="Y" accept="image/jpg,image/png,image/jpeg,image/gif,image/bmp" />
                        </div>
                    </div>
                    <iframe id="UploadTargetForImage" name="UploadTargetForImage" style="position: absolute; left: -999em; top: -999em;" onload="UploadImage_Complete_Image();"></iframe>
                </div>

                @Html.HiddenFor(m => m.VehicleDetImgRowID)
                @Html.HiddenFor(m => m.VehicleID)
                @Html.HiddenFor(m => m.ImageName)

            </div>

            <div class="modal-footer">
                <input type="submit" id="btnSubmit" class="btn btn-success" name="submit" value="Save" onclick="ImageDetailSave();" />
                <button id="btnCancelImageDetail" class="btn btn-default" onclick="CloseImageDetailModalDialog();" type="button">Cancel</button>
            </div>
        }
    
    </div>
 
</div>

<script>
    var formTrackerImage = null;
    var SaveClick = false;
    $(document).ready(function () {
        pageSetUp();

        $("#formImageDetail *").filter(':input').not("input[type=hidden]").each(function () {
            $(this).attr("onchange", "ImageDetailOnchange(this)");
        });

        //form change tracking - start
        var formTrackerOptions = {
            formName: "formImageDetail",
            uniqueId: $("#BldgDetImgRowID").val(),
            saveMethod: ImageDetailSave
        }
        formTrackerImage = getFormTackingAdapter(formTrackerOptions);
        //form change tracking - end
        loading(false);

    });

    function ImageDetailOnchange(fldEle) {
        ValidateElements(fldEle.id);
        if (fldEle.id == "fileImage") {
            $("#ImageName").val("ss");
        }
    }

    function CloseImageDetailModalDialog() {
        if (formTrackerImage != null && formTrackerImage.hasChanges()) {
            var saveInvoked = formTrackerImage.confirmSave(); //return;
            if (!saveInvoked) {
                formTrackerImage.clearSessions($("#BldgDetImgRowID").val());
                formTrackerImage = null;
                $("#AddImageDialogWindow").modal("hide");
            }
        }
        else {
            if (formTrackerImage != null) {
                formTrackerImage.clearSessions($("#BldgDetImgRowID").val());
                formTrackerImage = null;
            }
            $("#AddImageDialogWindow").modal("hide");
        }
    }

    function ImageDetailSave() {
        SaveClick = true;
        var methodArgs = arguments;
        if (formTrackerImage != null && !formTrackerImage.hasChanges()) {
            //DisplayNotification("There aren\'t any pending changes to save.", "error");
            //return;
        }
        else {
           

        }
    }

    function UploadImage_Complete_Image() {
        if (SaveClick == true)
        {
            if ($("#ImageName").val() == "")
            {
                SaveClick = false;
                DisplayNotification("There aren\'t any pending changes to save.", "error");
                return;
            }
            else
            {
                SaveClick = false;
                DisplayNotification("Record saved successfully.", "success");
                $("#AddImageDialogWindow").modal("hide");
            }

        }

     
    }




</script>



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

-----------------------------Controller------------------


 [HttpPost]
        public ActionResult UpdateVehicleImage(FormCollection formCollection)
        {
            HttpPostedFileBase file = Request.Files[0];
            int vehicleDetImgRowID = int.Parse(Request.Form["VehicleDetImgRowID"]);
            int vehicleID = int.Parse(Request.Form["VehicleID"]);
            string imageName = Request.Form["ImageName"];
            if (file.ContentLength > 0)
            {

                byte[] Contents = new byte[file.InputStream.Length];

                imageName = System.IO.Path.GetFileName(file.FileName);
                using (var reader = new System.IO.BinaryReader(file.InputStream))
                {
                    Contents = reader.ReadBytes(file.ContentLength);
                }

                var vehicleImage = new DomainModel.Property.VehicleImage
                {
                    VehicleDetImgRowID = 0,
                    VehicleID = vehicleID,
                    ImageID = vehicleID,
                    ImgData = Contents,
                    ImgName = imageName,
                    ImgPath = ""
                };

                ViewBag.UpdateStatus = "SUCCESS";
                ////call put method
                var id = _httpClientWrapper.PutAsync(_configProvider.VehicleImageUpdateURL, JsonConvert.SerializeObject(vehicleImage));
                return Content(id);

            }
            else
            {
                return Content("Error");
            }
        }



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


 [HttpGet]
        public ActionResult GetVehicleImage(int vehicleID)
        {
            List<VehicleImage> lstVehicleImage = new List<VehicleImage>();

            var url = string.Format("{0}/{1}", _configProvider.VehicleImageListUrl, vehicleID);
            var returnValue = _httpClientWrapper.GetStringAsync(url);


            lstVehicleImage = JsonConvert.DeserializeObject<List<DomainModel.Property.VehicleImage>>(returnValue).Select(m => new VehicleImage
            {
                VehicleDetImgRowID = m.VehicleDetImgRowID,
                VehicleID = m.VehicleID,
                ImageID = m.ImageID,
                ImgData = m.ImgData,
                ImgName = m.ImgName,
                ImgPath = m.ImgPath
            }).ToList();

            System.Text.StringBuilder sBuilder = new System.Text.StringBuilder();

            sBuilder.Append("<ol class='carousel-indicators'>");
            for (int i = 0; i < lstVehicleImage.Count; i++)
            {
                sBuilder.Append("<li data-target='#myCarousel-2' data-slide-to=\"" + i + "\"");
                if (i == 0) sBuilder.Append("class='active'");
                sBuilder.Append("></li>");
            }
            sBuilder.Append("</ol>");

            sBuilder.Append("<div class='carousel-inner'>");
            for (int j = 0; j < lstVehicleImage.Count; j++)
            {
                sBuilder.Append("<div class='item");
                if (j == 0) sBuilder.Append(" active");
                sBuilder.Append("'><img src=\"data:image;base64," + System.Convert.ToBase64String(lstVehicleImage[j].ImgData) + "\" alt='' /></div>");
            }
            sBuilder.Append("</div>");
            sBuilder.Append("<a class='left carousel-control' href='#myCarousel-2' data-slide='prev'> <span class='glyphicon glyphicon-chevron-left'></span> </a>");
            sBuilder.Append("<a class='right carousel-control' href='#myCarousel-2' data-slide='next'> <span class='glyphicon glyphicon-chevron-right'></span> </a>");

            System.Web.UI.LiteralControl lit = new System.Web.UI.LiteralControl();
            lit.Text = sBuilder.ToString();
            return Content(lit.Text);

        }