public int InsertJobCardQC(JobCardQC objJobCardQC)
        {
            using (IDbConnection connection = OpenConnection(dataConnection))
            {
                IDbTransaction trn = connection.BeginTransaction();
                try
                {
                    int    id         = 0;
                    string internalId = DatabaseCommonRepository.GetNewDocNo(connection, objJobCardQC.OrganizationId, 17, true, trn);

                    objJobCardQC.JobCardQCRefNo = internalId;
                    string sql = @"INSERT INTO JobCardQC(JobCardId,JobCardQCRefNo,EmployeeId,JobCardQCDate,IsQCPassed,CreatedBy,CreatedDate,OrganizationId,Remarks, PunchingNo) 
                                    VALUES (@JobCardId,@JobCardQCRefNo,@EmployeeId,GETDATE(),@IsQCPassed,@CreatedBy,GETDATE(),@OrganizationId,@Remarks, @PunchingNo);
                                    SELECT CAST(SCOPE_IDENTITY() as int)";

                    id = connection.Query <int>(sql, objJobCardQC, trn).Single();
                    var JobCardQCParamRepo = new JobCardQCParamRepository();

                    foreach (var item in objJobCardQC.JobCardQCParams)
                    {
                        item.JobCardQCId = id;
                        JobCardQCParamRepo.InsertSaleOrderItem(item, connection, trn);
                    }
                    InsertLoginHistory(dataConnection, objJobCardQC.CreatedBy, "Create", "Job Card QC", id.ToString(), "0");
                    trn.Commit();
                    return(id);
                }
                catch (Exception)
                {
                    trn.Rollback();
                    return(0);
                }
            }
        }
        public int UpdateJobCardQC(JobCardQC objJobCardQC)
        {
            using (IDbConnection connection = OpenConnection(dataConnection))
            {
                IDbTransaction txn = connection.BeginTransaction();
                string         sql = @"UPDATE
                                JobCardQC SET JobCardQCRefNo=@JobCardQCRefNo,EmployeeId=@EmployeeId,
                                JobCardQCDate=@JobCardQCDate,IsQCPassed=@IsQCPassed,CreatedBy=@CreatedBy,
                                CreatedDate=@CreatedDate,OrganizationId=@OrganizationId,Remarks=@Remarks,
                                PunchingNo = @PunchingNo
                                WHERE JobCardId = @JobCardId;";
                try
                {
                    var id = connection.Execute(sql, objJobCardQC, txn);

                    int i = 0;

                    var JobCardQCParamRepo = new JobCardQCParamRepository();

                    foreach (var item in objJobCardQC.JobCardQCParams)
                    {
                        item.JobCardQCId = objJobCardQC.JobCardQCId;
                        JobCardQCParamRepo.InsertSaleOrderItem(item, connection, txn);
                    }

                    InsertLoginHistory(dataConnection, objJobCardQC.CreatedBy, "Update", "Project Completion", id.ToString(), objJobCardQC.OrganizationId.ToString());
                    txn.Commit();
                    return(id);
                }
                catch (Exception ex)
                {
                    txn.Rollback();
                    throw ex;
                }
            }
        }