Beispiel #1
0
        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 }));
        }
Beispiel #2
0
        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));
        }