public object GetTranportChallan(long id)
        {
            var transChaln = _context.EXP_TransportChallan.FirstOrDefault(ob => ob.TransportChallanID == id);
            var result     = new ExpTransportChallan();

            result.TransportChallanID   = transChaln.TransportChallanID;
            result.TransportChallanNo   = transChaln.TransportChallanNo;
            result.TransportChallanDate = string.Format("{0:dd/MM/yyyy}", transChaln.TransportChallanDate);
            result.TransportChallanRef  = transChaln.TransportChallanRef;
            result.TransportChallanNote = transChaln.TransportChallanNote;
            result.DeliverChallanID     = transChaln.DeliverChallanID;
            result.DeliverChallanNo     = transChaln.DeliverChallanID == null
                ? ""
                : _context.EXP_DeliveryChallan.FirstOrDefault(ob => ob.DeliverChallanID == transChaln.DeliverChallanID)
                                          .DeliverChallanNo;
            result.Sender         = transChaln.Sender;
            result.SenderAddress  = transChaln.SenderAddress;
            result.Receiver       = transChaln.Receiver;
            result.ReceverAddress = transChaln.ReceverAddress;
            result.DeliveryFrom   = transChaln.DeliveryFrom;
            result.DEliveryTo     = transChaln.DEliveryTo;
            result.RecordStatus   = transChaln.RecordStatus;
            result.ConfirmNote    = transChaln.ConfirmNote;
            result.ChallanCis     = new List <ExpTransportChallanCI>();

            var cis =
                _context.EXP_TransportChallanCI.Where(ob => ob.TransportChallanID == transChaln.TransportChallanID)
                .ToList();

            foreach (var ci in cis)
            {
                var x = new ExpTransportChallanCI();
                x.TransportChallanID = ci.TransportChallanID;
                x.CIID   = ci.CIID;
                x.CINo   = ci.CIID == null ? "" : _context.EXP_CI.First(ob => ob.CIID == ci.CIID).CINo;
                x.CIDate = ci.CIID == null
                    ? ""
                    : string.Format("{0:dd/MM/yyyy}", _context.EXP_CI.First(ob => ob.CIID == ci.CIID).CIDate);
                x.PLID   = ci.PLID;
                x.PLNo   = ci.PLID == null ? "" : _context.EXP_PackingList.First(ob => ob.PLID == ci.PLID).PLNo;
                x.PLDate = ci.PLID == null
                    ? ""
                    : string.Format("{0:dd/MM/yyyy}", _context.EXP_PackingList.First(ob => ob.PLID == ci.PLID).PLDate);
                x.DeliverChallanID = ci.DeliverChallanID;
                x.RecordStatus     = ci.RecordStatus;
                result.ChallanCis.Add(x);
            }
            return(result);
        }
        private EXP_TransportChallanCI ConverTransportChallanCi(ExpTransportChallanCI model, long entityId, int userId
                                                                , string recStat)
        {
            var entity = model.TransportChallanID == 0
                ? new EXP_TransportChallanCI()
                : (from b in _context.EXP_TransportChallanCI.AsEnumerable()
                   where b.TransportChallanID == model.TransportChallanID && b.CIID == model.CIID
                   select b).FirstOrDefault();

            entity.TransportChallanID = entityId;
            entity.CIID             = model.CIID;
            entity.PLID             = model.PLID;
            entity.DeliverChallanID = model.DeliverChallanID;
            entity.RecordStatus     = recStat;
            entity.SetBy            = model.TransportChallanID == 0
                ? userId
                : _context.EXP_TransportChallan.FirstOrDefault(ob => ob.TransportChallanID == model.TransportChallanID).SetBy;
            entity.SetOn = model.TransportChallanID == 0
                ? DateTime.Now
                : _context.EXP_TransportChallan.FirstOrDefault(ob => ob.TransportChallanID == model.TransportChallanID).SetOn;
            entity.ModifiedBy = model.TransportChallanID == 0 ? (int?)null : userId;
            entity.ModifiedOn = model.TransportChallanID == 0 ? (DateTime?)null : DateTime.Now;
            return(entity);
        }