protected bool SaveModel(int saveMode, string name, bool showMessage) { string currDbDir = GetDirectory() + userDir; string modelDir = currDbDir + MODELS + "\\"; string modelName = modelDir + name; string modelInitialName; string originalModel = Master.GetCurrentModel(); if (saveMode == SaveMode.CURRENT_MODEL || saveMode == SaveMode.RENAME_MODEL) { modelInitialName = modelDir + CURRENT_DATABASE; { ClassF classF = new ClassF(GetDirectory() + userDir); classF.Open(); classF.eliminate_nulls0(); classF.check_dock_stock(); //classF.checkDOCKSTOCK(); //classF.clear_all_id_name_flags(); ????? CANNOT FIND classF.set_ids2names(); classF.Close(); } } else if (saveMode == SaveMode.NEW_MODEL) { modelInitialName = modelDir + NEW_MODEL_DATABASE; } string message = "Model '" + name + "'"; try { if (saveMode == SaveMode.NEW_MODEL) { if (!File.Exists(currDbDir + NEW_MODEL_DATABASE)) { File.Copy(GetDirectory() + NEW_MODEL_DATABASE, currDbDir + NEW_MODEL_DATABASE, true); } File.Copy(currDbDir + NEW_MODEL_DATABASE, modelName, true); // save the model message += " was created "; //File.Move(modelInitialName, modelName); } else { if (saveMode == SaveMode.CURRENT_MODEL) { File.Copy(currDbDir + CURRENT_DATABASE, modelName, true); // save the model } else if (saveMode == SaveMode.RENAME_MODEL) { File.Copy(currDbDir + CURRENT_DATABASE, modelName, true); // save the model File.Delete(modelDir + originalModel); // delete the original model } message += " saved successfuly."; } SetModelModified(false); } catch (Exception ex) { logFiles.ErrorLog(ex); if (showMessage) { message += " could not save. "; Master.ShowErrorMessage("An error has occured." + message); } return(false); } CleanUpAfterSave(saveMode, originalModel, name, message, showMessage); return(true); }