public IActionResult GetData_Edit(int nID) { TB_Materials lstMaterials = new TB_Materials(); List <lstFile> File = new List <lstFile>(); List <lstFile> lstFile = new List <lstFile>(); db = new PTTGSP_DWSContext(); if (nID != 0) { lstMaterials = db.TB_Materials.FirstOrDefault(f => f.nMaterialID == nID); var lstFiles = db.TB_Materials_File.Where(w => w.nMaterialID == lstMaterials.nMaterialID).ToList(); if (lstMaterials != null) { lstFile f = new lstFile(); f.sFileName = lstMaterials.sFile_Name; f.sSaveToFileName = lstMaterials.sFile_SysName; f.sSize = "0"; f.sSaveToPath = lstMaterials.sFile_Path; f.IsNewFile = false; f.IsDelete = false; File.Add(f); } foreach (var i in lstFiles) { lstFile f = new lstFile(); f.nFileID = i.nItem; f.sFileName = i.sFile_Name; f.sSaveToFileName = i.sFile_SysName; f.sSize = "0"; f.sSaveToPath = i.sFile_Path; f.IsNewFile = false; f.IsDelete = false; lstFile.Add(f); } } else { lstMaterials = null; } var lstUnits = db.TB_Material_Unit.Where(w => !w.IsDel && w.IsActive).ToList(); var lstCategory = db.TB_Material_Category.Where(w => !w.IsDel && w.IsActive).ToList(); var lstGroup = db.TB_Material_Group.Where(w => !w.IsDel && w.IsActive).ToList(); var lstLocation = db.TB_Material_Location.Where(w => !w.IsDel && w.IsActive).ToList(); return(Ok(new { lstMaterials, lstFile, lstUnits, lstCategory, lstGroup, lstLocation, File })); }
public ActionResult SaveData(SaveSupplies data) { db = new PTTGSP_DWSContext(); SaveSupplies result = new SaveSupplies(); int nMaterialID = data.nMaterialID.ToIntOrZero(); var ChackData = db.TB_Materials.FirstOrDefault(f => f.nMaterialID == nMaterialID); if (ChackData != null) //Update { ChackData.sName = data.sName; ChackData.nUnitID = data.nUnitID.ToIntOrZero(); ChackData.nPrice = data.nPrice.ToDecimalOrZero(); ChackData.nLocationID = data.nLocationID.ToIntOrZero(); ChackData.sBinLocation = data.sBinLocation; ChackData.nMin = data.nMin.ToIntOrZero(); ChackData.nMax = data.nMax.ToIntOrZero(); ChackData.nReOrderPoint = data.nReOrderPoint.ToIntOrZero(); ChackData.nMaxReserve = data.nMaxReserve.ToIntOrZero(); ChackData.nDuplicateDay = data.nDuplicateDay.ToIntOrZero(); ChackData.sDetail_Material = data.sDetail_Material; ChackData.sDetail = data.sDetail; ChackData.IsActive = data.IsActive; foreach (var item in data.file) { if (item.IsNewFile) { string sNewPath = "Supplies"; string sTepmPath = "Temp"; string foldersTempPath = MapCurrentPath(sTepmPath + "/"); string foldersNewPath = MapCurrentPath(sNewPath + "/"); string sNewTemp = "UploadFile/" + sNewPath + "/" + item.sSaveToFileName; ChackData.sFile_Name = item.sFileName; ChackData.sFile_SysName = item.sSaveToFileName; ChackData.sFile_Path = "/" + sNewTemp; SysFunc.FolderCreate(sNewPath); string OldTemp = foldersTempPath + item.sSaveToFileName; string NewTemp = foldersNewPath + item.sSaveToFileName; System.IO.File.Move(OldTemp, NewTemp); } } ChackData.dUpdate = DateTime.Now; ChackData.sUpdateBy = ""; if (data.listfile.Any()) { foreach (var item in data.listfile) { if (item.IsNewFile) { string sNewPath = "Supplies/Supplies_" + nMaterialID; string sTepmPath = "Temp"; string foldersTempPath = MapCurrentPath(sTepmPath + "/"); string foldersNewPath = MapCurrentPath(sNewPath + "/"); string sNewTemp = "UploadFile/" + sNewPath + "/" + item.sSaveToFileName; var Countfile = db.TB_Materials_File.Where(w => w.nMaterialID == nMaterialID).Count(); Countfile = Countfile + 1; TB_Materials_File f = new TB_Materials_File(); f.nMaterialID = nMaterialID; f.nItem = Countfile; f.sFile_Name = item.sFileName; f.sFile_Path = "/" + sNewTemp; f.sFile_SysName = item.sSaveToFileName; SysFunc.FolderCreate(sNewPath); string OldTemp = foldersTempPath + item.sSaveToFileName; string NewTemp = foldersNewPath + item.sSaveToFileName; System.IO.File.Move(OldTemp, NewTemp); db.TB_Materials_File.Add(f); } } } db.SaveChanges(); } else //create { int CategoryID = data.nCategoryID.ToIntOrZero(); var CreateCode = db.TB_Material_Category.FirstOrDefault(w => w.nCategoryID == CategoryID); if (CreateCode != null) { string MaterialCode = ""; var CountCategory = db.TB_Materials.Where(w => w.nCategoryID == CreateCode.nCategoryID).Count(); if (CountCategory != 0) { string plusone = (CountCategory + 1) + ""; MaterialCode = plusone.PadLeft(3, '0'); } else { MaterialCode = "001"; } TB_Materials s = new TB_Materials(); s.sMaterialCode = CreateCode.sCategoryCode + "-" + MaterialCode; s.nGroupID = data.nGroupID.ToIntOrZero(); s.nCategoryID = data.nCategoryID.ToIntOrZero(); s.sName = data.sName; s.nUnitID = data.nUnitID.ToIntOrZero(); s.nPrice = data.nPrice.ToDecimalOrZero(); s.nLocationID = data.nLocationID.ToIntOrZero(); s.sBinLocation = data.sBinLocation; s.nMin = data.nMin.ToIntOrZero(); s.nMax = data.nMax.ToIntOrZero(); s.nReOrderPoint = data.nReOrderPoint.ToIntOrZero(); s.nMaxReserve = data.nMaxReserve.ToIntOrZero(); s.nDuplicateDay = data.nDuplicateDay.ToIntOrZero(); s.sDetail_Material = data.sDetail_Material; s.sDetail = data.sDetail; foreach (var item in data.file) { string sNewPath = "Supplies"; string sTepmPath = "Temp"; string foldersTempPath = MapCurrentPath(sTepmPath + "/"); string foldersNewPath = MapCurrentPath(sNewPath + "/"); string sNewTemp = "UploadFile/" + sNewPath + "/" + item.sSaveToFileName; s.sFile_Name = item.sFileName; s.sFile_SysName = item.sSaveToFileName; s.sFile_Path = "/" + sNewTemp; if (item.IsNewFile) { SysFunc.FolderCreate(sNewPath); string OldTemp = foldersTempPath + item.sSaveToFileName; string NewTemp = foldersNewPath + item.sSaveToFileName; System.IO.File.Move(OldTemp, NewTemp); } } s.IsActive = data.IsActive; s.dCreate = DateTime.Now; s.dUpdate = DateTime.Now; s.sCreateBy = ""; s.sUpdateBy = ""; db.TB_Materials.Add(s); db.SaveChanges(); if (data.listfile.Any()) { db = new PTTGSP_DWSContext(); int Countfile = 1; foreach (var item in data.listfile) { string sNewPath = "Supplies/Supplies_" + s.nMaterialID; string sTepmPath = "Temp"; string foldersTempPath = MapCurrentPath(sTepmPath + "/"); string foldersNewPath = MapCurrentPath(sNewPath + "/"); string sNewTemp = "UploadFile/" + sNewPath + "/" + item.sSaveToFileName; TB_Materials_File f = new TB_Materials_File(); f.nMaterialID = s.nMaterialID; f.nItem = Countfile; f.sFile_Name = item.sFileName; f.sFile_Path = "/" + sNewTemp; f.sFile_SysName = item.sSaveToFileName; Countfile++; if (item.IsNewFile) { SysFunc.FolderCreate(sNewPath); string OldTemp = foldersTempPath + item.sSaveToFileName; string NewTemp = foldersNewPath + item.sSaveToFileName; System.IO.File.Move(OldTemp, NewTemp); } db.TB_Materials_File.Add(f); } db.SaveChanges(); } db = new PTTGSP_DWSContext(); TB_Materials_BP BP = new TB_Materials_BP(); BP.nMaterialID = s.nMaterialID; BP.nMat_Balance = 0; BP.nMat_Pending = 0; BP.nMat_BP = 0; db.TB_Materials_BP.Add(BP); db.SaveChanges(); } } result.Status = ResultStatus.Success; return(Ok(result)); }