private object LoadTransferForm(long HeaderId)
    {
        ReportDocument rptDoc = ReportFactory.GetReport();

        header = PartTransferDAO.GetTransferHeader(HeaderId);
        if (header != null)
        {
            rptDoc.Load(HttpContext.Current.Server.MapPath(@"~/Part/Report/Crystal/StockTransferReport.rpt"));

            IList<PartTransfer> data = header.TransferDetails.Select(td => new PartTransfer(td)).ToList();
            rptDoc.SetDataSource(data);

            string comment = header.TransferComment;
            if (comment == null) comment = "";

            string dealer = header.Dealer.DealerName;
            string saleman = string.IsNullOrEmpty(UserHelper.Fullname) ? UserHelper.Username : UserHelper.Fullname;
            string sheet = string.IsNullOrEmpty(header.VoucherNumber) ? "" : header.VoucherNumber;

            rptDoc.SetParameterValue("TransferDate", header.TransferDate);
            rptDoc.SetParameterValue("Comment", comment);
            rptDoc.SetParameterValue("FromWarehouse", header.Warehouse.Address);
            rptDoc.SetParameterValue("ToWarehouse", header.Warehouse1.Address);
            rptDoc.SetParameterValue("SheetNo", sheet);
            rptDoc.SetParameterValue("Dealer", dealer);
            rptDoc.SetParameterValue("SaleMan", saleman);
        }

        return rptDoc;
    }
Beispiel #2
0
 public void Delete(TransferHeader ob)
 {
     if (IsExist(ob.TransferNo))
     {
         db.TransferHeader.Remove(ob);
     }
 }
Beispiel #3
0
        private ActionResult ViewDetail(TransferHeader ob, string msg, AlertMsgType?msgType)
        {
            try
            {
                if (ob == null)
                {
                    throw new Exception("ไม่พบข้อมูลที่ต้องการ, กรุณาลองใหม่อีกครั้ง");
                }

                if (!string.IsNullOrWhiteSpace(msg))
                {
                    WidgetAlertModel alert = new WidgetAlertModel()
                    {
                        Message = msg
                    };
                    if (msgType.HasValue)
                    {
                        alert.Type = msgType.Value;
                    }
                    ViewBag.Alert = alert;
                }
                AccountPermission permission = new AccountPermission();
                if (ob.JobOrder != null)
                {
                    ob.JobOrder.Team = uow.Modules.TeamOperation.Get(ob.JobOrder.TeamId.HasValue ? ob.JobOrder.TeamId.Value : 0);
                    permission       = GetPermissionOperation(CurrentUID, ob.JobOrder.Team);
                }
                else
                {
                    List <TeamOperation> manager = uow.Modules.TeamOperation.Manager(CurrentUID);
                    if (manager != null)
                    {
                        permission.IsManager   = true;
                        permission.IsEdit      = true;
                        permission.IsTeam      = true;
                        permission.IsAdminTeam = false;
                    }
                }



                ViewData["optCustomer"]        = uow.Modules.Customer.GetAllAddress();
                ViewData["optCustomerAddress"] = uow.Modules.CustomerAddress.Gets();
                ViewData["optProduct"]         = uow.Modules.Product.Gets();
                ViewData["optContact"]         = uow.Modules.CustomerContact.Gets();
                ViewData["optEmployee"]        = uow.Modules.Employee.Gets();
                ViewData["optPermission"]      = permission;
                return(View(ob));
            }
            catch (Exception ex)
            {
                return(RedirectToAction("Index", MVCController, new
                {
                    area = MVCArea,
                    msg = ex.GetMessage(),
                    msgType = AlertMsgType.Danger
                }));
            }
        }
Beispiel #4
0
        public void SetIn(TransferHeader ob)
        {
            TrasferIntHeaderAdd(ob);

            /*   if (ob.TransferId == 0)
             * { db.TransferHeader.Add(ob); }
             * else { db.Entry(ob).State = EntityState.Modified; }*/
        }
Beispiel #5
0
 /// <summary>
 /// Initialize a transfer header
 /// </summary>
 /// <param name="header">Header reference to initialize</param>
 public static void InitTransferHeader(ref TransferHeader header)
 {
     header.FormatCode      = Consts.FormatCode;
     header.NumPackets      = 0;
     header.ProtocolVersion = Consts.ProtocolVersion;
     header.SequenceNumber  = 0;
     header.DataLength      = 0;
     header.ChecksumData    = 0;
     header.ChecksumHeader  = 0;
 }
        public void TransferHeader()
        {
            Span <byte> blob = GetBlob("transferHeader.bin");

            TransferHeader header = MemoryMarshal.Read <TransferHeader>(blob);

            // Header
            Assert.AreEqual(Consts.FormatCode, header.FormatCode);
            Assert.AreEqual(4, header.NumPackets);
            Assert.AreEqual(Consts.ProtocolVersion, header.ProtocolVersion);
            Assert.AreEqual(12345, header.SequenceNumber);
            Assert.AreEqual(1436, header.DataLength);
            Assert.AreEqual(0, header.ChecksumData);
            Assert.AreEqual(0, header.ChecksumHeader);

            // No padding
        }
        public void TransferHeader()
        {
            Span <byte> span = new byte[128];

            span.Fill(0xFF);

            TransferHeader header = MemoryMarshal.Read <TransferHeader>(span);

            Writer.InitTransferHeader(ref header);

            // Header
            Assert.AreEqual(Consts.FormatCode, header.FormatCode);
            Assert.AreEqual(0, header.NumPackets);
            Assert.AreEqual(Consts.ProtocolVersion, header.ProtocolVersion);
            Assert.AreEqual(0, header.SequenceNumber);
            Assert.AreEqual(0, header.DataLength);
            Assert.AreEqual(0, header.ChecksumData);
            Assert.AreEqual(0, header.ChecksumHeader);

            // No padding
        }
Beispiel #8
0
        public bool TrasferIntHeaderAdd(TransferHeader header)
        {
            bool   result = false;
            string sql    = "sp_TransferInHeader_Add";


            List <SqlParameter> paramList = new List <SqlParameter>();



            try
            {
                paramList = new List <SqlParameter>();
                SqlParameter pvNewId = new SqlParameter("@TransferId", SqlDbType.NVarChar, 20);
                pvNewId.Value     = header.TransferId;
                pvNewId.Direction = ParameterDirection.InputOutput;


                paramList.Add(pvNewId);
                paramList.Add(new SqlParameter("@TransferNo", header.TransferNo));
                paramList.Add(new SqlParameter("@TransferType", header.TransferType));
                paramList.Add(new SqlParameter("@TransferDate", header.TransferDate));
                paramList.Add(new SqlParameter("@TransferTime", header.TransferTime));
                paramList.Add(new SqlParameter("@JobOrderId", header.JobOrderId));
                paramList.Add(new SqlParameter("@RefTransferId", header.RefTransferId));
                paramList.Add(new SqlParameter("@ReceiveTo", header.ReceiveTo));
                paramList.Add(new SqlParameter("@Reason", header.Reason));
                paramList.Add(new SqlParameter("@CarType", header.CarType));
                paramList.Add(new SqlParameter("@Company", header.Company));
                paramList.Add(new SqlParameter("@CarNo", header.CarNo));
                paramList.Add(new SqlParameter("@CarBrand", header.CarBrand));
                paramList.Add(new SqlParameter("@SendToDepartment", header.SendToDepartment));
                paramList.Add(new SqlParameter("@Remark", header.Remark));
                paramList.Add(new SqlParameter("@EmpId", header.EmpId));
                paramList.Add(new SqlParameter("@BillNo", header.BillNo));
                paramList.Add(new SqlParameter("@TransferStatus", header.TransferStatus));
                paramList.Add(new SqlParameter("@Note1", header.Note1));
                paramList.Add(new SqlParameter("@CreatedBy", header.CreatedBy));
                paramList.Add(new SqlParameter("@UpdatedBy", header.UpdatedBy));
                webdb.ExcecuteNonQuery(sql, paramList);
                header.TransferId = Convert.ToInt32(pvNewId.Value.ToString());
                if (header.RefTransferIds != "" && header.RefTransferIds != "0")
                {
                    sql = "sp_TransferHeaderReference_Add";
                    string[] refTransferId = header.RefTransferIds.Split(',');

                    foreach (string refId in refTransferId)
                    {
                        paramList = new List <SqlParameter>();
                        paramList.Add(new SqlParameter("@TransferId", header.TransferId));
                        paramList.Add(new SqlParameter("@RefTransferId", refId));
                        webdb.ExcecuteNonQuery(sql, paramList);
                    }
                }
                // header.TransferId = Convert.ToInt32(webdb.ExcecuteNonScalar(sql, paramList));
            }
            catch (Exception ex)
            {
                throw new Exception("TrasferInApprove.Approve::" + ex.ToString());
            }
            finally
            { }


            return(result);
        }
Beispiel #9
0
        public List <TransferHeader> GetTransferOutNotInList(string TransferType, DateTime?fromDate, DateTime?toDate)
        {
            /* var data = (from d in db.TransferHeader.Where(o => o.TransferType == TransferType)
             *           select new TransferHeader
             *           {
             *               TransferId = d.TransferId,
             *               TransferNo = d.TransferNo,
             *               TransferType = d.TransferType,
             *               TransferDate = d.TransferDate,
             *               StrTransferDate = "",
             *               TransferTime = d.TransferTime,
             *               JobOrderId = d.JobOrderId,
             *               ReceiveTo = d.ReceiveTo,
             *               Reason = d.Reason,
             *               CarType = d.CarType,
             *               Company = d.Company,
             *               CarNo = d.CarNo,
             *               CarBrand = d.CarBrand,
             *               SendToDepartment = d.SendToDepartment,
             *               Remark = d.Remark,
             *               EmpId = d.EmpId,
             *               BillNo = d.BillNo,
             *               TransferStatus = d.TransferStatus,
             *               StrTransferStatus = Converting.TransferStatus(d.TransferStatus.ToString()),
             *               Note1 = d.Note1,
             *               CreatedDate = d.CreatedDate,
             *               UpdatedDate = d.UpdatedDate
             *           });
             * return data.ToList();*/

            string sql = "sp_GetTransferOutNotIn";
            List <SqlParameter>   paramList  = new List <SqlParameter>();
            List <TransferHeader> list       = new List <TransferHeader>();
            TransferHeader        dto        = null;
            SqlDataReader         reader     = null;
            SqlCommand            sqlCommand = null;


            try
            {
                webdb.OpenConnection();
                paramList.Add(new SqlParameter("@TransferType", TransferType));
                paramList.Add(new SqlParameter("@FromDate", fromDate.HasValue ? string.Format("{0}{1}{2}", fromDate.Value.Year, fromDate.Value.Month.ToString("##00"), fromDate.Value.Day.ToString("##00")) : ""));
                paramList.Add(new SqlParameter("@ToDate", toDate.HasValue ? string.Format("{0}{1}{2}", toDate.Value.Year, toDate.Value.Month.ToString("##00"), toDate.Value.Day.ToString("##00")) : ""));
                //connect.Open();
                sqlCommand             = new SqlCommand();
                sqlCommand.CommandText = sql;
                sqlCommand.CommandType = CommandType.StoredProcedure;
                sqlCommand.Connection  = webdb.Connection;
                sqlCommand.Parameters.AddRange(paramList.ToArray());

                reader = sqlCommand.ExecuteReader();
                while (reader.Read())
                {
                    dto                   = new TransferHeader();
                    dto.TransferId        = Converting.ToInt(reader["TransferId"].ToString());
                    dto.TransferNo        = reader["TransferNo"].ToString();
                    dto.TransferType      = reader["TransferType"].ToString();
                    dto.TransferDate      = Converting.StringToDate(reader["TransferDate"].ToString(), "dd/MM/yyyy");
                    dto.StrTransferDate   = reader["TransferDate"].ToString();
                    dto.TransferTime      = reader["TransferTime"].ToString();
                    dto.JobOrderId        = Converting.ToInt(reader["JobOrderId"].ToString());
                    dto.ReceiveTo         = reader["ReceiveTo"].ToString();
                    dto.Reason            = reader["Reason"].ToString();
                    dto.CarType           = Converting.ToInt(reader["CarType"].ToString());
                    dto.Company           = reader["Company"].ToString();
                    dto.CarNo             = reader["CarNo"].ToString();
                    dto.CarBrand          = reader["CarBrand"].ToString();
                    dto.SendToDepartment  = Converting.ToInt(reader["SendToDepartment"].ToString());
                    dto.Remark            = reader["Remark"].ToString();
                    dto.EmpId             = reader["EmpId"].ToString();
                    dto.BillNo            = reader["BillNo"].ToString();
                    dto.TransferStatus    = Converting.ToInt(reader["TransferStatus"].ToString());
                    dto.StrTransferStatus = Converting.TransferStatus(reader["TransferStatus"].ToString());
                    dto.Note1             = reader["Note1"].ToString();
                    dto.CreatedDate       = Converting.StringToDate(reader["CreatedDate"].ToString(), "dd/MM/yyyy");
                    dto.UpdatedDate       = Converting.StringToDate(reader["UpdatedDate"].ToString(), "dd/MM/yyyy");


                    list.Add(dto);
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.ToString());
            }
            finally
            {
                if (webdb.Connection.State == ConnectionState.Open)
                {
                    webdb.CloseConnection();
                }
            }



            return(list);
        }
        public ActionResult SetDetail(TransferHeader obj)
        {
            System.Globalization.CultureInfo _cultureTHInfo = new System.Globalization.CultureInfo("en-US");


            string TransferId    = this.Request.Form["TransferId"];
            string refTransferId = Request.Form["RefTransferIds"] != null ? Request.Form["RefTransferIds"].ToString() : "";

            /*  string StartHH = this.Request.Form["StartHH"];
             * string StartMM = this.Request.Form["StartMM"];
             * string EndHH = this.Request.Form["EndHH"];
             * string EndMM = this.Request.Form["EndMM"];
             * string SaleName = this.Request.Form["SaleName"];
             * string SaleMobile = this.Request.Form["SaleMobile"];
             * string hddProject = this.Request.Form["hddProject"];
             * string hddEquipmentType = this.Request.Form["hddEquipmentType"];
             * string hddLandType = this.Request.Form["hddLandType"];
             * string hddUndergroundType = this.Request.Form["hddUndergroundType"];
             * string hddObstructionType = this.Request.Form["hddObstructionType"];
             * string hddAttachmentType = this.Request.Form["hddAttachmentType"];
             */
            if (TransferId == "" || TransferId == "0")
            {
                obj.TransferNo     = getId("I");
                obj.CreatedDate    = DateTime.Now;
                obj.RefTransferIds = refTransferId;
            }
            else
            {
                obj.TransferId  = Convert.ToInt32(TransferId);
                obj.UpdatedDate = DateTime.Now;
            }

            obj.TransferType = "I";
            if (Request.Form["TransferDate"].ToString() != "")
            {
                var dd = Request.Form["TransferDate"];

                obj.TransferDate = Convert.ToDateTime(dd, _cultureTHInfo); //dd.ParseDate(DateFormat.ddMMyyyy, culInfo: _cultureTHInfo);
            }

            //    obj.EmpId = "1";



            /*# hddProject
             # hddEquipmentType
             # hddLandType
             # hddUndergroundType
             # hddObstructionType
             # hddAttachmentType
             */


            try
            {
                uow.Modules.Transfer.SetIn(obj);
                //  uow.SaveChanges();



                //  uow.Modules.Transfer.Set(obj);

                //  uow.SaveChanges();
            }
            catch (Exception ex)
            {
                string msg = ex.GetMessage(true);
                return(ViewDetail(obj, msg, AlertMsgType.Danger));
            }

            return(RedirectToAction("Detail", MVCController, new { id = obj.TransferId, msg = "บันทึกข้อมูลเรียบร้อยแล้ว", msgType = AlertMsgType.Success }));


            //  return RedirectToAction("Detail", MVCController, new { id = 1, msg = "บันทึกข้อมูลเรียบร้อยแล้ว", msgType = AlertMsgType.Success });
        }
 private void detach_TransferHeaders1(TransferHeader entity)
 {
     this.SendPropertyChanging("TransferHeaders1");
     entity.Warehouse1 = null;
 }
 private void detach_TransferHeaders(TransferHeader entity)
 {
     this.SendPropertyChanging("TransferHeaders");
     entity.Dealer = null;
 }
 private void attach_TransferHeaders(TransferHeader entity)
 {
     this.SendPropertyChanging("TransferHeaders");
     entity.Warehouse = this;
 }
Beispiel #14
0
        public bool Add(TransferHeader ob)
        {
            bool   result = false;
            string sql    = "sp_TransferHeader_Insert";


            List <SqlParameter> paramList = new List <SqlParameter>();



            try
            {
                /*    @TransferId int
                 *
                 * , @TransferNo nvarchar(15)
                 * ,@TransferType nvarchar(3)
                 * ,@TransferDate nvarchar(50)
                 * ,@TransferTime nvarchar(5)
                 * ,@JobOrderId int
                 * , @RefTransferId int
                 *
                 * , @ReceiveTo nvarchar(50)
                 * ,@Reason nvarchar(100)
                 * ,@CarType int
                 * , @Company nvarchar(100)
                 * ,@CarNo nchar(10)
                 * ,@CarBrand nchar(10)
                 * ,@SendToDepartment int
                 * , @Remark nvarchar(100)
                 * ,@EmpId nvarchar(10)
                 * ,@BillNo nvarchar(50)
                 * ,@TransferStatus int
                 * , @Note1 varchar(50)
                 * ,@CreatedDate datetime
                 * , @CreatedBy int
                 *
                 * , @UpdatedDate datetime
                 * ,@UpdatedBy int
                 * , @ApprovedBy int
                 */

                paramList = new List <SqlParameter>();
                paramList.Add(new SqlParameter("@TransferId", ob.TransferId));
                paramList.Add(new SqlParameter("@TransferType", ob.TransferType));
                paramList.Add(new SqlParameter("@TransferDate", ob.TransferDate));
                paramList.Add(new SqlParameter("@TransferTime", ob.TransferTime));
                paramList.Add(new SqlParameter("@JobOrderId", ob.JobOrderId));
                paramList.Add(new SqlParameter("@RefTransferId", ob.RefTransferId));


                paramList.Add(new SqlParameter("@ReceiveTo", ob.ReceiveTo));
                paramList.Add(new SqlParameter("@Reason", ob.Reason));
                paramList.Add(new SqlParameter("@CarType", ob.CarType));
                paramList.Add(new SqlParameter("@Company", ob.Company));
                paramList.Add(new SqlParameter("@CarNo", ob.CarNo));
                paramList.Add(new SqlParameter("@CarBrand", ob.CarBrand));
                paramList.Add(new SqlParameter("@SendToDepartment", ob.SendToDepartment));
                paramList.Add(new SqlParameter("@Remark", ob.Remark));
                paramList.Add(new SqlParameter("@EmpId", ob.EmpId));
                paramList.Add(new SqlParameter("@BillNo", ob.BillNo));
                paramList.Add(new SqlParameter("@TransferStatus", ob.TransferStatus));
                paramList.Add(new SqlParameter("@Note1", ob.Note1));
                //   paramList.Add(new SqlParameter("@CreatedDate", ob.CreatedDate));
                paramList.Add(new SqlParameter("@CreatedBy", ob.CreatedBy));


                //   paramList.Add(new SqlParameter("@UpdatedDate", ob.CreatedBy));
                paramList.Add(new SqlParameter("@UpdatedBy", ob.CreatedBy));
                paramList.Add(new SqlParameter("@ApprovedBy", ob.CreatedBy));
                result = webdb.ExcecuteNonQuery(sql, paramList);


                result = webdb.ExcecuteNonQuery(sql, paramList);
            }
            catch (Exception ex)
            {
                throw new Exception("TransferDetail.Insert::" + ex.ToString());
            }
            finally
            { }



            return(result);
        }
Beispiel #15
0
        public bool TrasferOutHeaderAdd(TransferHeader header)
        {
            bool   result = false;
            string sql    = "sp_TransferOutHeader_Add";


            List <SqlParameter> paramList = new List <SqlParameter>();



            try
            {
                /*    [TransferId]
                 * ,[TransferNo]
                 * ,[TransferType]
                 * ,[TransferDate]
                 * ,[TransferTime]
                 * ,[JobOrderId]
                 * ,[RefTransferId]
                 * ,[ReceiveTo]
                 * ,[Reason]
                 * ,[CarType]
                 * ,[Company]
                 * ,[CarNo]
                 * ,[CarBrand]
                 * ,[SendToDepartment]
                 * ,[Remark]
                 * ,[EmpId]
                 * ,[BillNo]
                 * ,[TransferStatus]
                 * ,[Note1]
                 * ,[CreatedDate]
                 * ,[CreatedBy]
                 * ,[UpdatedDate]
                 * ,[UpdatedBy]
                 * ,[ApprovedBy]*/

                paramList = new List <SqlParameter>();
                SqlParameter pvNewId = new SqlParameter("@TransferId", SqlDbType.NVarChar, 20);
                pvNewId.Value     = header.TransferId;
                pvNewId.Direction = ParameterDirection.InputOutput;


                paramList.Add(pvNewId);
                paramList.Add(new SqlParameter("@TransferNo", header.TransferNo));
                paramList.Add(new SqlParameter("@TransferType", header.TransferType));
                paramList.Add(new SqlParameter("@TransferDate", header.TransferDate));
                paramList.Add(new SqlParameter("@TransferTime", header.TransferTime));
                paramList.Add(new SqlParameter("@JobOrderId", header.JobOrderId));
                paramList.Add(new SqlParameter("@RefTransferId", header.RefTransferId));
                paramList.Add(new SqlParameter("@ReceiveTo", header.ReceiveTo));
                paramList.Add(new SqlParameter("@Reason", header.Reason));
                paramList.Add(new SqlParameter("@CarType", header.CarType));
                paramList.Add(new SqlParameter("@Company", header.Company));
                paramList.Add(new SqlParameter("@CarNo", header.CarNo));
                paramList.Add(new SqlParameter("@CarBrand", header.CarBrand));
                paramList.Add(new SqlParameter("@SendToDepartment", header.SendToDepartment));
                paramList.Add(new SqlParameter("@Remark", header.Remark));
                paramList.Add(new SqlParameter("@EmpId", header.EmpId));
                paramList.Add(new SqlParameter("@BillNo", header.BillNo));
                paramList.Add(new SqlParameter("@TransferStatus", header.TransferStatus));
                paramList.Add(new SqlParameter("@Note1", header.Note1));
                paramList.Add(new SqlParameter("@CreatedBy", header.CreatedBy));
                paramList.Add(new SqlParameter("@UpdatedBy", header.UpdatedBy));
                webdb.ExcecuteWitTranNonQuery(sql, paramList);
                // header.TransferId = Convert.ToInt32(webdb.ExcecuteNonScalar(sql, paramList));
                header.TransferId = Convert.ToInt32(pvNewId.Value.ToString());
            }
            catch (Exception ex)
            {
                throw new Exception("TrasferInApprove.Approve::" + ex.ToString());
            }
            finally
            { }


            return(result);
        }
        public ActionResult Detail(int?id, string msg, AlertMsgType?msgType)
        {
            TransferHeader ob = uow.Modules.Transfer.Get(id ?? 0);

            return(ViewDetail(ob, msg, msgType));
        }
Beispiel #17
0
        public TransferHeader Get(int id)
        {
            TransferHeader transferHeader = (from q in db.TransferHeader.Where(t => t.TransferId == id)
                                             select new TransferHeader
            {
                TransferId = q.TransferId,
                TransferNo = q.TransferNo,
                TransferType = q.TransferType,
                TransferDate = q.TransferDate,
                TransferTime = q.TransferTime,
                JobOrderId = q.JobOrderId,
                RefTransferId = q.RefTransferId,
                ReceiveTo = q.ReceiveTo,
                Reason = q.Reason,
                CarType = q.CarType,
                Company = q.Company,
                CarNo = q.CarNo,
                CarBrand = q.CarBrand,
                SendToDepartment = q.SendToDepartment,
                Remark = q.Remark,
                EmpId = q.EmpId,
                BillNo = q.BillNo,
                TransferStatus = q.TransferStatus,
                Note1 = q.Note1,
                CreatedDate = q.CreatedDate,
                UpdatedDate = q.UpdatedDate
            }).FirstOrDefault() ?? new TransferHeader()
            {
            };

            var detail = (from q in db.TransferDetail.Where(t => t.TransferId == id) select q).ToList();

            if (detail != null && detail.Count > 0)
            {
                transferHeader.TransferDetail = (from q in db.TransferDetail.Include(x => x.Product)
                                                 where q.TransferId == id
                                                 select new TransferDetail
                {
                    TransferId = q.TransferId,
                    RefTransferId = q.RefTransferId,
                    RefTransferNo = (q.RefTransferId == 0?null:(from tDetail in db.TransferHeader.Where(t => t.TransferId == q.RefTransferId) select tDetail.TransferNo).FirstOrDefault().ToString()),
                    Seq = q.Seq,
                    ProductId = q.ProductId,
                    CurrentQty = q.CurrentQty,
                    RequestQty = q.RequestQty,
                    RequestUnit = q.RequestUnit,
                    RequestUnitFactor = q.RequestUnitFactor,
                    LastModified = q.LastModified,
                    Product = db.TblProduct.Where(p => p.ProductId == q.ProductId).FirstOrDefault()
                }).ToList();
            }


            transferHeader.JobOrder = (from q in db.TblJobOrder.Where(o => o.JobOrderId == transferHeader.JobOrderId)
                                       .Include(x => x.SaleOrder)
                                       .Include(x => x.JobOrderDetail) select q).FirstOrDefault();

            /*if (transferHeader.RefTransferId != null && transferHeader.RefTransferId>0)
             * {
             *  transferHeader.RefTransfer = (from q in db.TransferHeader.Where(t => t.TransferId == transferHeader.RefTransferId) select new TransferHeader {
             *       TransferId =q.TransferId,
             *      TransferNo = q.TransferNo ,
             *      TransferType = q.TransferType ,
             *       TransferDate = q.TransferDate,
             *      TransferTime = q.TransferTime ,
             *      JobOrderId = q.JobOrderId,
             *      RefTransferId = q.RefTransferId,
             *      ReceiveTo = q.ReceiveTo ,
             *      Reason = q.Reason ,
             *      CarType = q.CarType,
             *      Company = q.Company ,
             *      CarNo = q.CarNo ,
             *      CarBrand = q.CarBrand ,
             *      SendToDepartment = q.SendToDepartment,
             *      Remark = q.Remark ,
             *      EmpId = q.EmpId ,
             *      BillNo = q.BillNo ,
             *      TransferStatus = q.TransferStatus,
             *      Note1 = q.Note1 ,
             *      CreateDate = q.CreateDate,
             *      UpdateDate = q.UpdateDate
             *  }).FirstOrDefault()??new TransferHeader
             *  {
             *
             *  };
             * }*/


            return(transferHeader);
        }