예제 #1
0
 public ActionResult AddAssetRepair()
 {
     using (var db = new LcSoft.Models.DbContext())
     {
         var vm = new Asset.Models.AssetRepair.Edit();
         List <SelectListItem> ll = new List <SelectListItem>();
         var tb = (from p in db.Table <Asset.Entity.tbAssetRepairLevel>()
                   orderby p.AssetRepairLevelName
                   select new
         {
             Value = p.Id,
             Text = p.AssetRepairLevelName
         }).ToList();
         foreach (var item in tb)
         {
             SelectListItem ii = new SelectListItem();
             ii.Value = item.Value.ConvertToString();
             ii.Text  = item.Text;
             ll.Add(ii);
         }
         vm.AssetRepairLevelList = ll;
         return(View(vm));
     }
 }
예제 #2
0
        public ActionResult AddAssetRepair(Asset.Models.AssetRepair.Edit vm)
        {
            var error = new List <string>();

            using (var db = new LcSoft.Models.DbContext())
            {
                if (vm.AssetRepairEdit.Id == 0)
                {
                    var file = Request.Files[nameof(vm.AssetRepairEdit) + "." + nameof(vm.AssetRepairEdit.FileName)];
                    vm.AssetRepairEdit.FileName = file.FileName;
                    string FileName = System.IO.Path.GetRandomFileName().Replace(".", string.Empty);
                    string ConType  = System.IO.Path.GetExtension(file.FileName);
                    file.SaveAs(Server.MapPath("~/Files/AssetRepair/") + FileName + "." + ConType);

                    //var tbAsset = db.Set<Asset.Entity.tbAsset>().Find(vm.AssetRepairEdit.AssetId);

                    var assetName = vm.AssetRepairEdit.AssetName.Trim();

                    var tbAsset = (from p in db.Table <Asset.Entity.tbAsset>().Include(p => p.tbAssetStatus) where p.AssetName.Equals(assetName) && p.tbAssetCatalog.tbAssetType.AssetTypeCode == Code.EnumHelper.AssetType.FixedAssets select p).FirstOrDefault();

                    if (tbAsset == null)
                    {
                        //资产不存在,创建资产
                        tbAsset = new Asset.Entity.tbAsset()
                        {
                            AssetNo        = Guid.NewGuid().ToString().Replace("-", string.Empty),
                            AssetName      = assetName,
                            Count          = 1,
                            InputDate      = DateTime.Now,
                            Remark         = string.Empty,
                            tbAssetCatalog = db.Table <Asset.Entity.tbAssetCatalog>().Where(p => p.tbAssetType.AssetTypeCode == Code.EnumHelper.AssetType.FixedAssets).FirstOrDefault(),
                            tbAssetStatus  = (from p in db.Table <tbAssetStatus>() where p.AssetStatusCode == Code.EnumHelper.AssetStatus.Normal select p).FirstOrDefault(),
                            tbAssetStorage = db.Table <tbAssetStorage>().FirstOrDefault()
                        };
                        db.Set <tbAsset>().Add(tbAsset);
                        db.SaveChanges();
                    }
                    else
                    {
                        if (tbAsset.tbAssetStatus.AssetStatusCode != Code.EnumHelper.AssetStatus.Normal)
                        {
                            return(Content($"<script type='text/javascript'>$(function(){{mui.alert('当前资产状态为{tbAsset.tbAssetStatus.AssetStatusCode.GetDescription()},无法进行维修');}});</script>"));
                        }
                    }
                    var tbAssetRepair = new Asset.Entity.tbAssetRepair()
                    {
                        InputDate          = DateTime.Now,
                        No                 = vm.AssetRepairEdit.No,
                        Remark             = vm.AssetRepairEdit.Remark,
                        tbSysUser          = db.Set <Sys.Entity.tbSysUser>().Find(Code.Common.UserId),
                        tbAsset            = tbAsset,
                        tbAssetRepairLevel = db.Set <Asset.Entity.tbAssetRepairLevel>().Find(vm.AssetRepairEdit.AssetRepairLevelId),
                        FileName           = FileName + "." + ConType
                    };
                    tbAsset.tbAssetStatus = db.Set <Asset.Entity.tbAssetStatus>().Find((int)Code.EnumHelper.AssetStatus.Repair);
                    db.Set <Asset.Entity.tbAssetRepair>().Add(tbAssetRepair);
                    if (db.SaveChanges() > 0)
                    {
                        Sys.Controllers.SysUserLogController.Insert("添加了消耗品维修!");
                    }
                }
                else
                {
                    var tbAssetRepair = (from p in db.Table <Asset.Entity.tbAssetRepair>().Include(p => p.tbAsset).Include(p => p.tbAsset.tbAssetStatus) where p.Id == vm.AssetRepairEdit.Id select p).FirstOrDefault();
                    if (tbAssetRepair != null)
                    {
                        tbAssetRepair.No        = vm.AssetRepairEdit.No;
                        tbAssetRepair.Remark    = vm.AssetRepairEdit.Remark;
                        tbAssetRepair.tbSysUser = db.Set <Sys.Entity.tbSysUser>().Find(Code.Common.UserId);

                        if (tbAssetRepair.tbAsset.Id != vm.AssetRepairEdit.AssetId)
                        {
                            tbAssetRepair.tbAsset.tbAssetStatus = db.Set <Asset.Entity.tbAssetStatus>().Find((int)Code.EnumHelper.AssetStatus.Normal);       //恢复修改前的资产的状态
                            var tbAsset = db.Set <Asset.Entity.tbAsset>().Find(vm.AssetRepairEdit.AssetId);
                            tbAssetRepair.tbAsset = tbAsset;
                            tbAsset.tbAssetStatus = db.Set <Asset.Entity.tbAssetStatus>().Find((int)Code.EnumHelper.AssetStatus.Repair);     //设置新资产状态
                        }

                        if (db.SaveChanges() > 0)
                        {
                            Sys.Controllers.SysUserLogController.Insert("修改了消耗品维修!");
                        }
                    }
                    else
                    {
                        return(Content("<script type='text/javascript'>$(function(){  mui.alert('" + Resources.LocalizedText.MsgNotFound + "');});</script>"));
                    }
                }
            }
            if (error.Count > 0)
            {
                return(Content("<script type='text/javascript'>$(function(){  mui.alert('" + string.Join("\r\n", error) + "');});</script>"));
            }
            return(Content("<script type='text/javascript'> window.parent.location.href = '" + Url.Action("AssetRepairIndex", "AssetRepair", new { area = "wechat" }) + "';</script>"));
        }