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)); } }
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>")); }