public ActionResult OutFactory(OutFactoryModels model)
        {
            MembershipUser user   = Membership.GetUser();
            Guid           userId = Guid.Parse(user.ProviderUserKey.ToString());

            using (var context = db)
            {
                var dept = context.aspnet_CustomProfile.Where(w => w.UserId == userId).FirstOrDefault();
                if (dept == null || !dept.DeptId.HasValue || dept.DeptId == Guid.Empty)
                {
                    ModelState.AddModelError("", "请设置操作员部门信息");
                    return(View(model));
                }
                var tps = context.Transports.Where(w => w.Id == model.Id && w.Status == 2).ToList();
                if (tps.Count != 1)
                {
                    ModelState.AddModelError("", "此车未卸货");
                    return(View(model));
                }
                DXInfo.Models.Transport tp = tps[0];
                tp.OutFactory_Date   = DateTime.Now;
                tp.OutFactory_DeptId = dept.DeptId.Value;
                tp.OutFactory_UserId = userId;
                tp.Comment           = model.Comment;

                tp.Status = 3;

                context.SaveChanges();
            }
            return(View("OutFactorySucess"));
        }
        public ActionResult Load(LoadModels model)
        {
            MembershipUser user   = Membership.GetUser();
            Guid           userId = Guid.Parse(user.ProviderUserKey.ToString());

            using (var context = db)
            {
                var dept = context.aspnet_CustomProfile.Where(w => w.UserId == userId).FirstOrDefault();
                if (dept == null || !dept.DeptId.HasValue || dept.DeptId == Guid.Empty)
                {
                    ModelState.AddModelError("", "请设置操作员部门信息");
                    return(View(model));
                }
                var card = context.Cards.Where(w => w.Id == model.Card).FirstOrDefault();
                if (card == null)
                {
                    ModelState.AddModelError("", "请读取卡号");
                    return(View(model));
                }
                if (card.Status != 0)
                {
                    ModelState.AddModelError("", GetStatus(card.Status));
                    return(View(model));
                }
                var tps = context.Transports.Where(w => w.Id == model.Id && w.Status == 0).ToList();
                if (tps.Count != 1)
                {
                    ModelState.AddModelError("", "此车在运输途中或无进厂数据");
                    return(View(model));
                }
                if (model.Load_Inventory == Guid.Empty)
                {
                    ModelState.AddModelError("", "请选择存货");
                    return(View(model));
                }
                if (model.Load_Quantity == 0)
                {
                    ModelState.AddModelError("", "请输入装车数量");
                    return(View(model));
                }
                DXInfo.Models.Transport tp = tps[0];
                tp.Load_Date      = DateTime.Now;
                tp.Load_DeptId    = dept.DeptId.Value;
                tp.Load_UserId    = userId;
                tp.Comment        = model.Comment;
                tp.Load_Inventory = model.Load_Inventory;
                tp.Load_Quantity  = model.Load_Quantity;
                tp.Status         = 1;


                context.SaveChanges();
            }
            return(View("LoadSucess"));
        }
        public ActionResult InFactory(InFactoryModels model)
        {
            MembershipUser user   = Membership.GetUser();
            Guid           userId = Guid.Parse(user.ProviderUserKey.ToString());

            using (var context = db)
            {
                var dept = context.aspnet_CustomProfile.Where(w => w.UserId == userId).FirstOrDefault();
                if (dept == null || !dept.DeptId.HasValue || dept.DeptId == Guid.Empty)
                {
                    ModelState.AddModelError("", "请设置操作员部门信息");
                    return(View(model));
                }
                var card = context.Cards.Where(w => w.Id == model.Card).FirstOrDefault();
                if (card == null)
                {
                    ModelState.AddModelError("", "请读取卡号");
                    return(View(model));
                }
                if (card.Status != 0)
                {
                    ModelState.AddModelError("", GetStatus(card.Status));
                    return(View(model));
                }
                var oldtp = context.Transports.Where(w => w.Card == model.Card && w.Status != 3).ToList();
                if (oldtp.Count > 0)
                {
                    ModelState.AddModelError("", "此车在运输途中!");
                    return(View(model));
                }
                DXInfo.Models.Transport tp = new DXInfo.Models.Transport();
                tp.Id               = Guid.NewGuid();
                tp.Card             = model.Card;
                tp.InFactory_Date   = DateTime.Now;
                tp.InFactory_DeptId = dept.DeptId.Value;
                tp.InFactory_UserId = userId;
                tp.Comment          = model.Comment;

                tp.BalanceType       = model.BalanceType;
                tp.AgreeFreightRate  = model.AgreeFreightPrice;
                tp.FreightRate       = model.FreightPrice;
                tp.Shipper           = model.Shipper;
                tp.Shipper_Telephone = model.Shipper_Telephone;
                tp.Carrier           = model.Carrier;
                tp.Carrier_Telephone = model.Carrier_Telephone;
                tp.Lines             = model.Lines;
                tp.Driver            = model.Driver;
                tp.Status            = 0;

                context.Transports.Add(tp);
                context.SaveChanges();
            }
            return(View("InFactorySucess"));
        }
        public ActionResult Shipment(ShipmentModels model)
        {
            MembershipUser user   = Membership.GetUser();
            Guid           userId = Guid.Parse(user.ProviderUserKey.ToString());

            using (var context = db)
            {
                var dept = context.aspnet_CustomProfile.Where(w => w.UserId == userId).FirstOrDefault();
                if (dept == null || !dept.DeptId.HasValue || dept.DeptId == Guid.Empty)
                {
                    ModelState.AddModelError("", "请设置操作员部门信息");
                    return(View(model));
                }
                var tps = context.Transports.Where(w => w.Id == model.Id && w.Status == 1).ToList();
                if (tps.Count != 1)
                {
                    ModelState.AddModelError("", "此车未装车或在运输途中");
                    return(View(model));
                }

                if (string.IsNullOrEmpty(model.Shipment_CheckUser))
                {
                    ModelState.AddModelError("", "请输入签收人");
                    return(View(model));
                }
                if (model.Shipment_Quantity == 0)
                {
                    ModelState.AddModelError("", "请输入卸货数量");
                    return(View(model));
                }

                DXInfo.Models.Transport tp = tps[0];
                tp.Shipment_Date   = DateTime.Now;
                tp.Shipment_DeptId = dept.DeptId.Value;
                tp.Shipment_UserId = userId;
                tp.Comment         = model.Comment;

                tp.Shipment_Quantity  = model.Shipment_Quantity;
                tp.Shipment_CheckUser = model.Shipment_CheckUser;

                tp.Status = 2;

                context.SaveChanges();
            }
            return(View("ShipmentSucess"));
        }
        public ActionResult VehicleList_EditData(DXInfo.Models.Transport tp)
        {
            var gridModel = new VehicleListGridModel();

            SetupVehicleListGrid(gridModel.VehicleListGrid);
            if (gridModel.VehicleListGrid.AjaxCallBackMode == AjaxCallBackMode.EditRow)
            {
                MembershipUser user   = Membership.GetUser();
                Guid           userId = Guid.Parse(user.ProviderUserKey.ToString());
                using (var context = db)
                {
                    var oldtp = context.Transports.Where(w => w.Id == tp.Id).FirstOrDefault();
                    var dept  = context.aspnet_CustomProfile.Where(w => w.UserId == userId).FirstOrDefault();
                    if (oldtp == null)
                    {
                        return(gridModel.VehicleListGrid.ShowEditValidationMessage("未找到车辆记录"));
                    }

                    oldtp.BalanceType        = tp.BalanceType;
                    oldtp.AgreeFreightRate   = tp.AgreeFreightRate;
                    oldtp.FreightRate        = tp.FreightRate;
                    oldtp.Shipper            = tp.Shipper;
                    oldtp.Shipper_Telephone  = tp.Shipper_Telephone;
                    oldtp.Carrier            = tp.Carrier;
                    oldtp.Carrier_Telephone  = tp.Carrier_Telephone;
                    oldtp.Lines              = tp.Lines;
                    oldtp.Load_Quantity      = tp.Load_Quantity;
                    oldtp.Shipment_Quantity  = tp.Shipment_Quantity;
                    oldtp.Shipment_CheckUser = tp.Shipment_CheckUser;
                    oldtp.Comment            = tp.Comment;

                    oldtp.ModifyDate   = DateTime.Now;
                    oldtp.ModifyUserId = userId;
                    oldtp.ModifyDeptId = dept.DeptId;


                    DXInfo.Models.TransportsLog tl = new DXInfo.Models.TransportsLog();

                    tl.Id                 = Guid.NewGuid();
                    tl.tpId               = oldtp.Id;
                    tl.AgreeFreightRate   = oldtp.AgreeFreightRate;
                    tl.BalanceType        = oldtp.BalanceType;
                    tl.Card               = oldtp.Card;
                    tl.Carrier            = oldtp.Carrier;
                    tl.Carrier_Telephone  = oldtp.Carrier_Telephone;
                    tl.Comment            = oldtp.Comment;
                    tl.Driver             = oldtp.Driver;
                    tl.FreightRate        = oldtp.FreightRate;
                    tl.InFactory_Date     = oldtp.InFactory_Date;
                    tl.InFactory_DeptId   = oldtp.InFactory_DeptId;
                    tl.InFactory_UserId   = oldtp.InFactory_UserId;
                    tl.Lines              = oldtp.Lines;
                    tl.Load_Date          = oldtp.Load_Date;
                    tl.Load_DeptId        = oldtp.Load_DeptId;
                    tl.Load_Inventory     = oldtp.Load_Inventory;
                    tl.Load_Quantity      = oldtp.Load_Quantity;
                    tl.Load_UserId        = oldtp.Load_UserId;
                    tl.ModifyDate         = oldtp.ModifyDate;
                    tl.ModifyDeptId       = oldtp.ModifyDeptId;
                    tl.ModifyUserId       = oldtp.ModifyUserId;
                    tl.OutFactory_Date    = oldtp.OutFactory_Date;
                    tl.OutFactory_DeptId  = oldtp.OutFactory_DeptId;
                    tl.OutFactory_UserId  = oldtp.OutFactory_UserId;
                    tl.Shipment_CheckUser = oldtp.Shipment_CheckUser;
                    tl.Shipment_Date      = oldtp.Shipment_Date;
                    tl.Shipment_DeptId    = oldtp.Shipment_DeptId;
                    tl.Shipment_Quantity  = oldtp.Shipment_Quantity;
                    tl.Shipment_UserId    = oldtp.Shipment_UserId;
                    tl.Shipper            = oldtp.Shipper;
                    tl.Shipper_Telephone  = oldtp.Shipper_Telephone;
                    tl.Status             = oldtp.Status;


                    context.TransportsLog.Add(tl);

                    context.SaveChanges();
                }
            }
            return(RedirectToAction("VehicleList"));
        }