Wednesday, June 15, 2022

Site Not Reach

 



Localhost Site not reached if web application runs.

Solution: Go to C:\Windows\System32\drivers\etc 

Open 'host' File




Add  '127.0.0.1 http://localhost:54499/'






Monday, June 13, 2022

Age Duration Calculator SQL

 Function IN SQL:


        

-        

--SELECT [dbo].[GetYearDuration] (REPLACE(CONVERT(Date,e.DateOfBirth,103),' ','-')  , REPLACE(CONVERT(Date,e.FirstJoiningDate,103),' ','-') ) as JoiningAge          

          

--FROM Employee e          

--WHERE e.EmployeeId = 3734       

  

--SELECT [dbo].[GetDurationYear_Month_Day]('06 June, 1985', '04 July, 2020')   

--SELECT [dbo].[GetDurationYear_Month_Day]('01 April, 1960', '26 March, 1986')   

     

          

ALTER FUNCTION [dbo].[GetDurationYear_Month_Day]           

(          

   @FromDate1 nvarchar(20), @ToDate1 nvarchar(20)          

)          

RETURNS NVARCHAR(300)          

AS          

BEGIN      

   Declare @Message NVARCHAR(300) 

 


if isDate(@FromDate1) = 1 and isDate(@ToDate1) = 1

BEGIN

Declare @FromDate DATETIME, @ToDate DATETIME 

SET @FromDate = @FromDate1

SET @ToDate = @ToDate1

DECLARE @date datetime, @tmpdate datetime, @years int, @months int, @days int

Declare @currentdatetime datetime  


--SELECT @date = '15-Jun-1986'



set @date = @FromDate

  

set @currentdatetime = @ToDate 



 --SELECT

 -- @date = REPLACE(CONVERT(Date,e.DateOfBirth,103),' ','-'),

  

 -- @currentdatetime =  REPLACE(CONVERT(Date,e.FirstJoiningDate,103),' ','-')                                  


 --  FROM Employee as e WHERE e.EmployeeId = 26380 --12390 

   

    

SELECT @tmpdate = @date


SELECT @years = DATEDIFF(yy, @tmpdate, @currentdatetime) - CASE WHEN (MONTH(@date) > MONTH(@currentdatetime)) OR (MONTH(@date) = MONTH(@currentdatetime) AND DAY(@date) > DAY(@currentdatetime)) THEN 1 ELSE 0 END

SELECT @tmpdate = DATEADD(yy, @years, @tmpdate)

SELECT @months = DATEDIFF(m, @tmpdate, @currentdatetime) - CASE WHEN DAY(@date) > DAY(@currentdatetime) THEN 1 ELSE 0 END

SELECT @tmpdate = DATEADD(m, @months, @tmpdate)

SELECT @days = DATEDIFF(d, @tmpdate, @currentdatetime)


 

SET @Message =  CAST(@years AS VARCHAR(4)) + '-' + CAST(@months AS VARCHAR(4)) + '-' + CAST(@days AS VARCHAR(4)) 


END -- END if

ELSE

BEGIN


SET @Message = 'Problem With Date:GetDurationYear_Month_Day'


END


RETURN @Message;


END 

Age Calculator Javascript

Javascript Code:     

                        let EPOCH = new Date(0);

                        let EPOCH_YEAR = EPOCH.getUTCFullYear();

                        let EPOCH_MONTH = EPOCH.getUTCMonth();

                        let EPOCH_DAY = EPOCH.getUTCDate();


                        var dob = document.getElementById("BirthDate").value;

                        var birthDate = new Date(dob);

                        const diff = new Date(Date.now() - birthDate.getTime());


                        var years = Math.abs(diff.getUTCFullYear() - EPOCH_YEAR);

                        var months = Math.abs(diff.getUTCMonth() - EPOCH_MONTH);

                        var days = Math.abs(diff.getUTCDate() - EPOCH_DAY);


                        $("#Result").html(years + " year(s) " + months + " month(s) " + days + " and day(s)").css("color", "red");;




HTML::: 

 <div class="col-md-3">

                <div class="form-group">

                    @Html.LabelFor(model => model.BirthDate, htmlAttributes: new { @class = "control-label", @autocomplete = "off" })<span style="color:red; font-size:15px;"> * </span>

                    <div style="margin:.1%;" id="Result"> </div>

                    @Html.EditorFor(model => model.BirthDate, new { htmlAttributes = new { @class = "form-control" } })

                    @Html.ValidationMessageFor(model => model.BirthDate, "", new { @class = "text-danger" })

                </div>

            </div>




Reference: https://dev.to/code_mystery/javascript-age-calculator-calculate-age-from-date-of-birth-o9b

Wednesday, June 8, 2022

Update Employee Table

  


---   

declare 

  @InitialData Table(    

    RowNum   int  IDENTITY(1,1) NOT NULL , 

  EmployeeCode  nvarchar(20)

     )    


INSERT INTO @InitialData

SELECT [Employee Code] FROM NXTRPTEmployeeProfile WHERE  [daysIN Zone Office] is NULL

  

  DECLARE @RowSl INT    

     ,@Count INT    

 

SET @RowSl = 1    


SET @Count = (SELECT COUNT(*) FROM @InitialData)    

 

WHILE @RowSl <= @Count    


BEGIN 

declare @currentEmployee varchar(20)

SELECT @currentEmployee = [EmployeeCode] FROM @InitialData WHERE RowNum = @RowSl


Update NXTRPTEmployeeProfile SET [daysIN Zone Office] = dbo.GetZoneOfficeDurationKF1Days(@currentEmployee)

WHERE [Employee code] = @currentEmployee



SET @RowSl += 1    


END -- End While    

Tuesday, May 31, 2022

Canvas to JPEG for Crystal Report C# MVC

 Canvas always returns images in png format. But for crystal report, it does not accept png. So it is necessary to convert png to jpeg image format.

Steps:

1. From base64 get byte array.  (png)

2. then convert to a logical file. (png)

3. get the logical file and convert it to a jpeg file (bitmap png to jpeg)

4. get a jpeg logical file and convert it to the binary array.

5. save in the database. Field Type varbinary(max)



View::


@model gBanker.Web.ViewModels.MemberInfoViewModel

@{

    ViewBag.Title = "DigitalSignature";

    Layout = "~/Views/Shared/_LayoutMaster.cshtml";

}


<h2>Add Digital Signature</h2>



@using (Html.BeginForm("DigitalSignature", "newMember", FormMethod.Post, new { id = "drawingForm" }))

{


    @Html.HiddenFor(model => model.MemberID)

<div class="row">

    <div class="col-md-4">

        <div class="form-group">

            @Html.LabelFor(model => model.CenterID, htmlAttributes: new { @class = "control-label" })

            @Html.TextBox(" ", ViewData["CenterID"].ToString(), new { @ID = "CenterID", @class = "form-control", @readonly = true })

            @Html.ValidationMessageFor(model => model.CenterID, "", new { @class = "text-danger" })

        </div>

    </div>

    <div class="col-md-4">

        <div class="form-group">

            @Html.LabelFor(model => model.MemberCode, htmlAttributes: new { @class = "control-label" })

            @Html.TextBox(" ", ViewData["MemberCode"].ToString(), new { @ID = "MemberCode", @class = "form-control", @readonly = true })

            @Html.ValidationMessageFor(model => model.MemberCode, "", new { @class = "text-danger" })

        </div>

    </div>


     


</div>

<div class="row">

    <div class="col-md-5">

        <input type="hidden" name="imageData" id="imageData" />

        <input type="hidden" MemberId_Sig="@ViewData["MemberID"]" />

        <canvas id="kfCanvas" name="kfCanvas" typeof="jpg" height="300px;" width="400px;" style="border: 3px dotted #000;  cursor: crosshair;">

            Sorry, your browser doesn't support canvas technology.

        </canvas>

    </div>

    <div class="col-md-3">

        <input type="submit" id="btnSave" class="btn btn-success" onfocus="SetBase64();" value="Save Signature" />

        <input type="button" id="btnClear" class="btn btn-warning" value="Clear" onclick="erase();" />

    </div>

    </div>


<div class="row">

    

    <div class="col-md-3"><h4>4 of 4 pages</h4><label>@ViewBag.Message</label></div>

    <div class="col-md-3">

        <div class="form-group">


        </div>

    </div>

</div>

    <div class="row">


        <div style="height:350px; margin:10px;">

            <img id="rsDiagram" src="" class="partDiagram">

        </div>

        <!-- Button for calling ajax request -->

        <button type="button" class="btn btn-primary" onclick="ShowImage();" data-toggle="modal" data-target="">

            Load Signature

        </button>


    </div>

    <img id="rsDiagram2" src="" class="partDiagram">


    }

    <script>


        var canvas, ctx, flag = false,

            prevX = 0,

            currX = 0,

            prevY = 0,

            currY = 0,

            dot_flag = false;


        var x = "black",

            y = 2.5;


        function initSignatureInput() {

            canvas = document.getElementById('kfCanvas');

            ctx = canvas.getContext("2d");

            w = canvas.width;

            h = canvas.height;


            canvas.addEventListener("mousemove", function (e) {

                findxy('move', e)

            }, false);

            canvas.addEventListener("mousedown", function (e) {

                findxy('down', e)

            }, false);

            canvas.addEventListener("mouseup", function (e) {

                findxy('up', e)

            }, false);

            canvas.addEventListener("mouseout", function (e) {

                findxy('out', e)

            }, false);

        }


        function color(obj) {

            switch (obj.id) {

                case "green":

                    x = "green";

                    break;

                case "blue":

                    x = "blue";

                    break;

                case "red":

                    x = "red";

                    break;

                case "yellow":

                    x = "yellow";

                    break;

                case "orange":

                    x = "orange";

                    break;

                case "black":

                    x = "black";

                    break;

                case "white":

                    x = "white";

                    break;

            }

            if (x == "white") y = 14;

            else y = 2.5;


        }


        function draw() {


            ctx.beginPath();

            ctx.lineCap = 'round';

            ctx.moveTo(prevX, prevY);


            ctx.lineTo(currX, currY);

            ctx.strokeStyle = x;

            ctx.lineWidth = y;

            ctx.stroke();

            ctx.closePath();

        }


        function erase() {

            var m = confirm("Want to clear");

            if (m) {

                ctx.clearRect(0, 0, w, h);

            }

        }



        //function draw2() {

        //    ctx.beginPath();

        //    ctx.moveTo(prevX, prevY);

        //    ctx.lineTo(currX, currY);

        //    ctx.strokeStyle = x;

        //    ctx.lineWidth = y;

        //    ctx.stroke();

        //    ctx.closePath();

        //}

        function findxy(res, e) {

            // var staticX = 33, staticY = 13;

            var staticX = 30, staticY = 120;

            if (res == 'down') {


                prevX = currX;

                prevY = currY;

                //currX = e.clientX - (canvas.offsetLeft+235);

                //currY = e.clientY - (canvas.offsetTop +135);

                currX = (e.pageX - canvas.offsetLeft) - canvas.width / 2;

                currY = (e.pageY - canvas.offsetTop) - canvas.height / 2;


                currX -= staticX;

                currY -= staticY;


                flag = true;


            }

            if (res == 'up' || res == "out") {

                flag = false;

            }

            if (res == 'move') {

                if (flag) {

                    prevX = currX;

                    prevY = currY;

                    // currX = e.clientX - (canvas.offsetLeft + 235);

                    // currY = e.clientY - (canvas.offsetTop + 135);

                    currX = (e.pageX - canvas.offsetLeft) - canvas.width / 2;

                    currY = (e.pageY - canvas.offsetTop) - canvas.height / 2;


                    currX -= staticX;

                    currY -= staticY;


                    draw();

                }

            }

        }

        initSignatureInput();



        function SetBase64() {

            var image = document.getElementById("kfCanvas").toDataURL("image/png");

            //var image = document.getElementById("kfCanvas").toDataURL();

            // image = image.replace('data:image/png;base64,', '');

            //image = image.replace('data:image/png;base64,', '');


            document.getElementById('rsDiagram2').src = image;


            //var rsDiagram = $("#rsDiagram").attr('src');

            $('#imageData').val(image);



        }


        function ShowImage() {

            //alert($('#MemberID').val());

            $.ajax({

                type: "GET",

                url: "/NewMember/RSView/",

                data: { MemberID: $('#MemberID').val() },

                success: function (response) {

                    // console.log(response);

                    // alert(response);

                    $("#rsDiagram").attr('src', 'data:image/png;base64,' + response);

                },

                error: function (response) {

                    alert(response.responseText);

                }

            });




        }// END Show Image


        $(document).ready(function () {

        });// END document Ready


    </script>





IN Controller: 



        [HttpPost]

        public ActionResult DigitalSignature()

        {

            string Message_ = "Signature Saved.";

            MemberInfoViewModel obj = new MemberInfoViewModel();

            try

            {

                NameValueCollection nvc = Request.Form;

                string memberIDs = nvc["MemberID"];

                var imageDatas = nvc["imageData"];


                var member = memberService.GetByIdLong(Convert.ToInt32(memberIDs));

                ViewData["CenterID"] = centerService.GetById(member.CenterID).CenterName;

                ViewData["MemberID"] = member.MemberID;

                ViewData["MemberCode"] = member.MemberCode;


                imageDatas = imageDatas.Substring(22);


                byte[] data = Convert.FromBase64String(imageDatas);


                // test: Save image 


                string fileName = Guid.NewGuid().ToString() + ".png";

                byte[] imageBytes = data;

                MemoryStream ms = new MemoryStream(imageBytes, 0, imageBytes.Length);

                ms.Write(imageBytes, 0, imageBytes.Length);

                System.Drawing.Image image = System.Drawing.Image.FromStream(ms, true);

                image.Save(Server.MapPath("~/CapturedImages/" + fileName),

                    System.Drawing.Imaging.ImageFormat.Png);

                //prphoto.ImageName = "/Uploads/" + fileName;


                // END Save Image


                // Get Image and Convert to jpg


                // Assumes myImage is the PNG you are converting

                string imageName = Server.MapPath("~/CapturedImages/" + fileName);//@"~/CapturedImages/" + fileName;


                //var ifExist = System.IO.File.Exists(imageName);

                var imageFile = System.IO.File.Open(imageName, FileMode.Open);


                Image myImage = Image.FromStream(imageFile);


                //myImage.Save(Server.MapPath("~/CapturedImages/" + fileName),

                //    System.Drawing.Imaging.ImageFormat.Jpeg);


                string fileNameJPEG = "";

                using (var b = new Bitmap(myImage.Width, myImage.Height))

                {

                    b.SetResolution(myImage.HorizontalResolution, myImage.VerticalResolution);


                    using (var g = Graphics.FromImage(b))

                    {

                        g.Clear(Color.White);

                        g.DrawImageUnscaled(myImage, 0, 0);

                    }


                    myImage.Dispose();

                    imageFile.Close();


                    fileNameJPEG = Guid.NewGuid().ToString() + ".jpeg";

                    b.Save(Server.MapPath("~/CapturedImages/" + fileNameJPEG),

                    System.Drawing.Imaging.ImageFormat.Jpeg);

                }


                // END jpg


                // Convert jpeg to byte Array and save


                string imageNameJPEG = Server.MapPath("~/CapturedImages/" + fileNameJPEG);//@"~/CapturedImages/" + fileName;


                //var ifExistJPEG = System.IO.File.Exists(imageNameJPEG);

                var imageFileJPEG = System.IO.File.Open(imageNameJPEG, FileMode.Open);


                var memoryStream = new MemoryStream();

                imageFileJPEG.CopyTo(memoryStream);

                var dataJPEG = memoryStream.ToArray();

                imageFileJPEG.Close();



                var objs = memberService.GetById(Convert.ToInt32(memberIDs));

                objs.DigitalSignature = dataJPEG;

                memberService.Update(objs);



                // Delete png and JPEG file

                System.IO.File.Delete(imageNameJPEG);

                System.IO.File.Delete(imageName);


                //END Delete


                //var objs = memberService.GetById(Convert.ToInt32(memberIDs));

                //objs.DigitalSignature = data;

                //memberService.Update(objs);

            }

            catch (Exception ex)

            {

                return GetErrorMessageResult("Sorry, Please try again.");

            }

            ViewBag.Message = Message_;


            return GetSuccessMessageResult("Signature Added.");

        }



        public ActionResult RSView(long MemberID)

        {

            var member = memberService.GetByIdLong(Convert.ToInt32(MemberID));

            string fileToSend = Convert.ToBase64String(member.DigitalSignature);

            return Json(fileToSend,JsonRequestBehavior.AllowGet);

        }













Sunday, April 17, 2022

Use Session For List 2

  var Center_List = string.Format("CenterList_{0}", (int)LoggedInOrganizationID);

                var centerList = new List<DBCenterDetailModel>();

                if (Session[Center_List] != null)

                    centerList = Session[Center_List] as List<DBCenterDetailModel>;

                else

                {

                    var param = new { OrgId = (int)LoggedInOrganizationID, OfficeId =                                                                                         SessionHelper.LoginUserOfficeID};

                    var alldata = ultimateReportService.GetDataWithParameter(param, "GetCenterData");

                     centerList = alldata.Tables[0].AsEnumerable()

                    .Select(row => new DBCenterDetailModel

                    {

                        CenterID = row.Field<int>("CenterID"),

                        CenterCode = row.Field<string>("CenterCode"),

                        OfficeID = row.Field<int>("OfficeID"), 

                        OfficeCode = row.Field<string>("OfficeCode"),

                        OfficeName = row.Field<string>("OfficeName")

                    }).ToList();

                     Session[Center_List] = centerList;

                }

Get Maximum value from a ROW Data

 










-- one time table create

--CREATE TABLE InitialData (    

--    RowNum   int  IDENTITY(1,1) NOT NULL , 

-- loan  decimal (17, 2)

       

--  )    







declare @sql varchar(max);

DECLARE @paramDefinition nvarchar(500);


DECLARE @sid int = 1;



  DECLARE @RowSl INT    

     ,@Count INT    

   

 

SET @RowSl = 0    

SET @Count = 6 -- (SELECT COUNT(*) FROM Tables)    

 




WHILE @RowSl <= @Count    

BEGIN 


Set @sql = 'INSERT INTO  InitialData SELECT ';


declare @ColName varchar(28);

Set @ColName=  'loan_' + Cast( format (@RowSl, '0#')  as varchar(5)) +' ' ; 

SET @sql =  @sql + @ColName ;


SET @sql = @sql + ' FROM PRA_MN_RPT_TAB_XL_PD_Test WHERE RowNum =' + CAST( @sid AS nvarchar(2));


EXECUTE(@sql)

 

SET @RowSl += 1    

END -- End While    


SELECT MAX(loan) FROM  InitialData;

Screen Record

 Windows Screen Record WindowsKey+ Alt + R Recording Starts.