public ActionResult AddItems(Guid id, string ids = "")
 {
     try
     {
         var export = db.ExportGoods.Find(id);
         foreach (var item in ids.Split(','))
         {
             var tracking            = db.TrackingDetails.Find(Guid.Parse(item));
             ExportGoodDetail detail = new ExportGoodDetail()
             {
                 CreatedAt        = DateTime.Now,
                 ExportGoodId     = export.Id,
                 Id               = Guid.NewGuid(),
                 Notes            = "",
                 CreatedBy        = user.Staff.UserName,
                 TrackingCode     = tracking.TrackingSubCode,
                 TrackingDetailId = tracking.Id,
                 UpdatedAt        = DateTime.Now,
                 UpdatedBy        = user.Staff.UserName
             };
             db.ExportGoodDetails.Add(detail);
         }
         db.SaveChanges();
         return(Json(new { message = "Cập nhật dữ liệu thành công !", status = true }, JsonRequestBehavior.AllowGet));
     }
     catch { return(Json(new { message = "Đã xảy ra lỗi trong quá trình cập nhật dữ liệu", status = false }, JsonRequestBehavior.AllowGet)); }
 }
        public ActionResult AddNew(string [] array, Guid exportId)
        {
            try
            {
                List <Result> lst = new List <Result>();
                foreach (var item in array)
                {
                    Guid id = Guid.NewGuid();

                    TrackingDetail detail = db.TrackingDetails.Find(Guid.Parse(item));
                    lst.Add(new Result()
                    {
                        Id = id, TrackingCode = detail.TrackingSubCode
                    });
                    ExportGoodDetail exportDetail = new ExportGoodDetail()
                    {
                        CreatedAt        = DateTime.Now,
                        CreatedBy        = user.Staff.UserName,
                        ExportGoodId     = exportId,
                        Id               = id,
                        Notes            = "",
                        TrackingCode     = detail.TrackingSubCode,
                        TrackingDetailId = detail.Id,
                        UpdatedAt        = DateTime.Now,
                        UpdatedBy        = user.Staff.UserName
                    };
                    db.ExportGoodDetails.Add(exportDetail);
                }
                db.SaveChanges();
                return(Json(new { message = lst, status = true }, JsonRequestBehavior.AllowGet));
            }
            catch { return(Json(new { message = "Đã xảy ra lỗi trong quá trình thêm dữ liệu", status = false }, JsonRequestBehavior.AllowGet)); }
        }
 public ActionResult AddBarCode(Guid id, string barcode = "")
 {
     try
     {
         var export = db.ExportGoods.Find(id);
         //check status of barcode
         string[] trackingCodes = barcode.Split('-');
         string   split         = trackingCodes[trackingCodes.Length - 1];
         string   trackingcode  = barcode.Substring(0, barcode.LastIndexOf('-'));
         //check tracking code exist
         try
         {
             var storeJP = db.StorageJPs.Where(n => n.AgencyId == user.Agency.Id).SingleOrDefault(n => n.TrackingCode == trackingcode);
             if (storeJP != null)
             {
                 //kiem tra trạng thái
                 if (storeJP.StatusId == 8)
                 {
                     //kiem tra kiện con đã trộn hay chưa
                     var trackingdetails = storeJP.TrackingDetails;
                     var tracking        = trackingdetails.SingleOrDefault(n => n.TrackingSubCode == split);
                     if (tracking != null)
                     {
                         if (db.ExportGoodDetails.Where(n => n.ExportGood.AgencyId == user.Agency.Id).Where(n => n.TrackingDetailId == tracking.Id).Count() == 0)
                         {
                             ExportGoodDetail detail = new ExportGoodDetail()
                             {
                                 CreatedAt        = DateTime.Now,
                                 ExportGoodId     = export.Id,
                                 Id               = Guid.NewGuid(),
                                 Notes            = "",
                                 CreatedBy        = user.Staff.UserName,
                                 TrackingCode     = tracking.TrackingSubCode,
                                 TrackingDetailId = tracking.Id,
                                 UpdatedAt        = DateTime.Now,
                                 UpdatedBy        = user.Staff.UserName
                             };
                             db.ExportGoodDetails.Add(detail);
                             db.SaveChanges();
                             return(Json(new { message = "Cập nhật dữ liệu thành công !", status = true }, JsonRequestBehavior.AllowGet));
                         }
                         else
                         {
                             return(Json(new { message = "Mã tách kiện đã được thêm.", status = false }, JsonRequestBehavior.AllowGet));
                         }
                     }
                     else
                     {
                         return(Json(new { message = "Mã tách kiện không tồn tại.", status = false }, JsonRequestBehavior.AllowGet));
                     }
                 }
                 else
                 {
                     return(Json(new { message = "Kiện hàng này chưa được phép trộn.", status = false }, JsonRequestBehavior.AllowGet));
                 }
             }
             else
             {
                 return(Json(new { message = "Không tìm thấy tracking này.", status = false }, JsonRequestBehavior.AllowGet));
             }
         }
         catch { return(Json(new { message = "Đã xảy ra lỗi trong quá trình cập nhật dữ liệu", status = false }, JsonRequestBehavior.AllowGet)); }
     }
     catch { return(Json(new { message = "Đã xảy ra lỗi trong quá trình cập nhật dữ liệu", status = false }, JsonRequestBehavior.AllowGet)); }
 }