Example #1
0
        private LibInfo GetLibInfo(Assembly assembly, string license = null, string website = null)
        {
            var titleAttr     = assembly.GetCustomAttribute <AssemblyTitleAttribute>();
            var descAttr      = assembly.GetCustomAttribute <AssemblyDescriptionAttribute>();
            var copyrightAttr = assembly.GetCustomAttribute <AssemblyCopyrightAttribute>();
            //var versionAttr = assembly.GetCustomAttribute<AssemblyVersionAttribute>();
            var assemName = assembly.GetName();

            var info = new LibInfo()
            {
                Name        = Path.GetFileName(assembly.Location),
                Title       = Coalesce(titleAttr?.Title, assemName.Name),
                Copyright   = copyrightAttr?.Copyright,
                Description = descAttr?.Description,
                Version     = assemName.Version.ToString(),
                License     = license,
                Websiste    = website
            };

            if (!string.IsNullOrEmpty(info.Copyright) &&
                !info.Copyright.ToLower().Contains("copyright"))
            {
                info.Copyright = "Copyright © " + info.Copyright.Replace("©", string.Empty).Replace("  ", " ");
            }

            return(info);
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="info2"></param>
        /// <returns></returns>
        public bool UpdateToLibInfo(LibInfo libInfo)
        {
            IDbCommand    command    = new SqlCommand().GetCommandWithParameters(libInfo, _Update_LIBINFO);
            SqlConnection connection = DBConnectionHelper.OpenNewSqlConnection(this.ConnectionString);

            command.Connection = connection;
            command.ExecuteNonQuery();
            DBConnectionHelper.CloseSqlConnection(connection);
            return(true);
        }
Example #3
0
 public LibInfo Save(LibInfo libInfo)
 {
     if (string.IsNullOrEmpty(libInfo.libPath))
     {
         // 10000 ticks per millisecond
         libInfo.libPath = $"{ AppFolder}\\cc_{(DateTime.Now.Ticks / 10000).ToString()}.json";
     }
     File.WriteAllText(libInfo.libPath, JsonConvert.SerializeObject(libInfo));
     return(libInfo);
 }
Example #4
0
 public override int GetHashCode()
 {
     unchecked
     {
         int result = base.GetHashCode();
         result = (result * 397) ^ Mz.GetHashCode();
         result = (result * 397) ^ (IsotopeDistInfo != null ? IsotopeDistInfo.GetHashCode() : 0);
         result = (result * 397) ^ (LibInfo != null ? LibInfo.GetHashCode() : 0);
         result = (result * 397) ^ (Results != null ? Results.GetHashCode() : 0);
         return(result);
     }
 }
Example #5
0
 void BuildArgumentsDictionary()
 {
     this.templateArguments = new Dictionary <string, Func <Entity, string> >
     {
         { "version", (x) => LibInfo.BuildCopyrightMessage() },
         { "roots", (x) => this.GatherSubEntitiesList(this.Unit.Classes) },
         { "classes", (x) => this.GatherSubEntitiesList(x.Entries) },
         { "project_name", (x) => this.Unit.Name },
         { "name", (x) => x.Id.Name },
         { "class_summary", (x) => x.Docs[Documentation.Attribute.Summary].ToString() },
         { "methods", (x) => this.GatherClassMethods(x) },
         { "properties", (x) => this.GatherClassProperties(x) }
     };
 }
        public LibInfo GetLibFormDataByID(int DataCaptYM, string DeptID, string MenuID)
        {
            Dictionary <string, object> sqlParamDictionary = new Dictionary <string, object>();

            sqlParamDictionary.Add("DataCaptYM", DataCaptYM);
            sqlParamDictionary.Add("DeptID", DeptID);
            sqlParamDictionary.Add("MenuID", string.IsNullOrWhiteSpace(MenuID) ? "LIBFORM" : MenuID);
            IDbCommand    command    = new SqlCommand().GetCommandWithParameters(sqlParamDictionary, _SELECT_DOAA1_INFO);
            SqlConnection connection = DBConnectionHelper.OpenNewSqlConnection(this.ConnectionString);

            command.Connection = connection;
            LibInfo libInfo = EntityMapper.MapSingle <LibInfo>(command.ExecuteReader());

            DBConnectionHelper.CloseSqlConnection(connection);
            return(libInfo);
        }
        public void GetDOAA1Data(int DataCaptYM, string MenuID)
        {
            FormsRepository formsRepository = new FormsRepository();

            DataCaptYM = SessionManager.DataCaptYR > 0 ? SessionManager.DataCaptYR : (DataCaptYM > 0 ? DataCaptYM : 0);
            if (MenuID == DataAccess.Enum.Menu.DOAA.ToString())
            {
                this.info = formsRepository.GetDOAA1FormDataByID(DataCaptYM, SessionManager.DeptID, MenuID);
                if (info == null)
                {
                    info                = new stInfo();
                    info.DataStatus     = (int)DataAccess.Enum.DataStatus.DataEntryStartedbyOperator;
                    info.DataStatusName = "Data Entry Started by Operator";
                    info.DataCaptYM     = DataCaptYM;
                    info.DeptName       = info.DeptID = SessionManager.DeptID;
                }
            }
            else if (MenuID == DataAccess.Enum.Menu.ADIR.ToString() || MenuID == DataAccess.Enum.Menu.DOSW.ToString())
            {
                this.info2 = formsRepository.GetADIRFormDataByID(DataCaptYM, SessionManager.DeptID, MenuID);
                if (info2 == null)
                {
                    info2                = new stInfo2();
                    info2.DataStatus     = (int)DataAccess.Enum.DataStatus.DataEntryStartedbyOperator;
                    info2.DataStatusName = "Data Entry Started by Operator";
                    info2.DataCaptYM     = DataCaptYM;
                    info2.DeptName       = info2.DeptID = SessionManager.DeptID;
                }
            }
            else if (MenuID == DataAccess.Enum.Menu.LIBFORM.ToString())
            {
                this.libInfo = formsRepository.GetLibFormDataByID(DataCaptYM, SessionManager.DeptID, MenuID);
                if (libInfo == null)
                {
                    libInfo                = new LibInfo();
                    libInfo.DataStatus     = (int)DataAccess.Enum.DataStatus.DataEntryStartedbyOperator;
                    libInfo.DataStatusName = "Data Entry Started by Operator";
                    libInfo.DataCaptYM     = DataCaptYM;
                    libInfo.DeptName       = libInfo.DeptID = SessionManager.DeptID;
                }
            }

            RankMesg rankmesg = FormCommonMethods.GetCurrentRankMesg();

            this.rankmsg = rankmesg.Message;
        }
Example #8
0
        public ProjectConverter(EProjectFile.EProjectFile source, EocProjectType projectType = EocProjectType.Console, string projectNamespace = "e::user", ILoggerWithContext logger = null)
        {
            this.Logger = logger ?? new NullLoggerWithContext();

            if (source == null)
            {
                throw new ArgumentNullException(nameof(source));
            }

            this.IdToNameMap    = new IdToNameMap(source.Code, source.Resource, source.LosableSection);
            this.ClassIdMap     = source.Code.Classes.ToDictionary(x => x.Id);
            this.MethodIdMap    = source.Code.Methods.ToDictionary(x => x.Id);
            this.DllIdMap       = source.Code.DllDeclares.ToDictionary(x => x.Id);
            this.StructIdMap    = source.Code.Structs.ToDictionary(x => x.Id);
            this.GlobalVarIdMap = source.Code.GlobalVariables.ToDictionary(x => x.Id);
            this.ConstantIdMap  = source.Resource.Constants.ToDictionary(x => x.Id);

            this.ClassVarIdMap      = new Dictionary <int, ClassVariableInfo>();
            this.MethodIdToClassMap = new Dictionary <int, ClassInfo>();
            foreach (var item in source.Code.Classes)
            {
                Array.ForEach(item.Method, x => MethodIdToClassMap.Add(x, item));
                Array.ForEach(item.Variables, x => ClassVarIdMap.Add(x.Id, x));
            }

            projectNamespace       = projectNamespace ?? "e::user";
            this.ProjectNamespace  = projectNamespace;
            this.TypeNamespace     = projectNamespace + "::type";
            this.CmdNamespace      = projectNamespace + "::cmd";
            this.DllNamespace      = projectNamespace + "::dll";
            this.ConstantNamespace = projectNamespace + "::constant";
            this.GlobalNamespace   = projectNamespace + "::global";
            this.Source            = source;
            this.Libs = source.Code.Libraries.Select(
                x =>
            {
                try
                {
                    return(LibInfo.Load(x));
                }
                catch (Exception ex)
                {
                    Logger.Warn("加载fne信息失败,请检查易语言环境,支持库:{0},异常信息:{1}", x.Name, ex);
                    return(null);
                }
            }).ToArray();
            this.EocLibs = source.Code.Libraries.Select(
                x =>
            {
                try
                {
                    return(EocLibInfo.Load(x));
                }
                catch (Exception ex)
                {
                    Logger.Warn("加载eoc库信息失败,请检查eoc环境,支持库:{0},异常信息:{1}", x.Name, ex);
                    return(null);
                }
            }).ToArray();
            this.EocHelperLibId    = Array.FindIndex(source.Code.Libraries, x => x.FileName.ToLower() == "EocHelper".ToLower());
            this.DataTypeId_IntPtr = this.EocHelperLibId == -1 ? -1 : EplSystemId.MakeLibDataTypeId((short)this.EocHelperLibId, 0);
            this.ProjectType       = projectType;

            this.EocConstants       = EocConstant.Translate(this, Source.Resource.Constants);
            this.EocStructs         = EocStruct.Translate(this, Source.Code.Structs);
            this.EocGlobalVariables = EocGlobalVariable.Translate(this, Source.Code.GlobalVariables);
            this.EocDllDeclares     = EocDll.Translate(this, Source.Code.DllDeclares);
            this.EocObjectClasses   = EocObjectClass.Translate(this, Source.Code.Classes.Where(x => EplSystemId.GetType(x.Id) == EplSystemId.Type_Class));
            this.EocStaticClasses   = EocStaticClass.Translate(this, Source.Code.Classes.Where(x => EplSystemId.GetType(x.Id) != EplSystemId.Type_Class));
        }
Example #9
0
 private static void LibLoader_OnLoad(LibInfo obj)
 {
 }
Example #10
0
        public ProjectConverter(EProjectFile.EProjectFile source, EocProjectType projectType = EocProjectType.Console, string projectNamespace = "e::user", ILoggerWithContext logger = null)
        {
            this.Logger = logger ?? new NullLoggerWithContext();

            if (source == null)
            {
                throw new ArgumentNullException(nameof(source));
            }

            this.IdToNameMap = new IdToNameMap(source.Code, source.Resource, source.LosableSection);
            this.MethodIdMap = source.Code.Methods.ToDictionary(x => x.Id);

            this.MethodIdToClassMap = new Dictionary <int, ClassInfo>();
            foreach (var item in source.Code.Classes)
            {
                Array.ForEach(item.Method, x => MethodIdToClassMap.Add(x, item));
            }

            projectNamespace       = projectNamespace ?? "e::user";
            this.ProjectNamespace  = projectNamespace;
            this.TypeNamespace     = projectNamespace + "::type";
            this.CmdNamespace      = projectNamespace + "::cmd";
            this.DllNamespace      = projectNamespace + "::dll";
            this.ConstantNamespace = projectNamespace + "::constant";
            this.GlobalNamespace   = projectNamespace + "::global";
            this.Source            = source;
            this.Libs = source.Code.Libraries.Select(
                x =>
            {
                try
                {
                    return(LibInfo.Load(x));
                }
                catch (Exception ex)
                {
                    Logger.Warn("加载fne信息失败,请检查易语言环境,支持库:{0},异常信息:{1}", x.Name, ex);
                    return(null);
                }
            }).ToArray();
            this.EocLibs = source.Code.Libraries.Select(
                x =>
            {
                try
                {
                    return(EocLibInfo.Load(x));
                }
                catch (Exception ex)
                {
                    Logger.Warn("加载eoc库信息失败,请检查eoc环境,支持库:{0},异常信息:{1}", x.Name, ex);
                    return(null);
                }
            }).ToArray();
            LibCmdToDeclaringTypeMap = Libs.Select(lib => {
                var r = new Dictionary <int, int>();
                for (int i = 0; i < lib?.DataType?.Length; i++)
                {
                    if (lib.DataType[i].Method != null)
                    {
                        Array.ForEach(lib.DataType[i].Method, x => r[x] = i);
                    }
                }
                return(r);
            }).ToList().AsReadOnly();

            this.EocHelperLibId    = Array.FindIndex(source.Code.Libraries, x => x.FileName.ToLower() == "EocHelper".ToLower());
            this.DataTypeId_IntPtr = this.EocHelperLibId == -1 ? -1 : EplSystemId.MakeLibDataTypeId((short)this.EocHelperLibId, 0);
            this.ProjectType       = projectType;

            this.EocConstantMap       = EocConstant.Translate(this, Source.Resource.Constants);
            this.EocStructMap         = EocStruct.Translate(this, Source.Code.Structs);
            this.EocGlobalVariableMap = EocGlobalVariable.Translate(this, Source.Code.GlobalVariables);
            this.EocDllDeclareMap     = EocDll.Translate(this, Source.Code.DllDeclares);
            this.EocObjectClassMap    = EocObjectClass.Translate(this, Source.Code.Classes.Where(x => EplSystemId.GetType(x.Id) == EplSystemId.Type_Class));
            this.EocStaticClassMap    = EocStaticClass.Translate(this, Source.Code.Classes.Where(x => EplSystemId.GetType(x.Id) != EplSystemId.Type_Class));


            this.EocMemberMap =
                this.EocObjectClassMap.Values.SelectMany(x => x.MemberInfoMap)
                .Concat(this.EocStaticClassMap.Values.SelectMany(x => x.MemberInfoMap))
                .Concat(this.EocStructMap.Values.SelectMany(x => x.MemberInfoMap))
                .ToSortedDictionary();

            this.EocMethodMap =
                this.EocObjectClassMap.Values.SelectMany(x => x.Method)
                .Concat(this.EocStaticClassMap.Values.SelectMany(x => x.Method))
                .ToSortedDictionary();

            if (ProjectType == EocProjectType.Dll)
            {
                this.EocDllExportMap = EocDllExport.Translate(this, Source.Code.Methods.Where(x => x.IsStatic && x.Public).Select(x => x.Id));
            }
        }
        public bool SaveUpdateFormData(object objectData, string action, string menu)
        {
            FormsViewModel formsViewModel = new FormsViewModel();

            if (menu == DataAccess.Enum.Menu.DOSW.ToString() || menu == DataAccess.Enum.Menu.ADIR.ToString())
            {
                stInfo2 info2 = new stInfo2();
                info2 = JsonConvert.DeserializeObject <stInfo2>(objectData.ToString());

                info2.DataUpdatedOn = DateTime.Now;
                info2.DataStatus    = (int)DataAccess.Enum.DataStatus.DataEntryStartedbyOperator;
                if (action == "Finalize")
                {
                    info2.DataStatus = (int)DataAccess.Enum.DataStatus.DataEntryCompletedbyOperator;
                }
                else if (action == "FinalizedByHod")
                {
                    info2.DataStatus = (int)DataAccess.Enum.DataStatus.DataCheckingCompletedbyHOD;
                }

                info2.DataUser      = SessionManager.UserName;
                info2.DeptID        = SessionManager.DeptID;
                info2.DataValid     = "Y";
                info2.DataLocked    = "N";
                info2.DataStatusLog = SessionManager.UserName + " " + DateTime.Now.ToString("ddd, dd MMM yyyy HH:mm:ss"); //DateTime.Now.ToString("dd-MM-yyyy hh:mm:ss tt");
                if (menu == DataAccess.Enum.Menu.ADIR.ToString())
                {
                    info2.MenuID = DataAccess.Enum.Menu.ADIR.ToString();
                }
                else
                {
                    info2.MenuID = DataAccess.Enum.Menu.DOSW.ToString();
                }

                formsViewModel.info2 = info2;

                if (formsViewModel.info2.IDNo > 0)
                {
                    formsViewModel.isSaveSuccessfully = formsViewModel.UdpateADIRAndDOSWForm(formsViewModel);
                }
                else
                {
                    formsViewModel.isSaveSuccessfully = formsViewModel.SaveADIRAndDOSWForm(formsViewModel);
                }
            }
            else if (menu == DataAccess.Enum.Menu.DOAA.ToString())
            {
                stInfo info = new stInfo();
                info = JsonConvert.DeserializeObject <stInfo>(objectData.ToString());

                info.DataUpdatedOn = DateTime.Now;
                info.DataStatus    = (int)DataAccess.Enum.DataStatus.DataEntryStartedbyOperator;
                if (action == "Finalize")
                {
                    info.DataStatus = (int)DataAccess.Enum.DataStatus.DataEntryCompletedbyOperator;
                }
                else if (action == "FinalizedByHod")
                {
                    info.DataStatus = (int)DataAccess.Enum.DataStatus.DataCheckingCompletedbyHOD;
                }

                info.DataUser      = SessionManager.UserName;
                info.DeptID        = SessionManager.DeptID;
                info.DataValid     = "Y";
                info.DataLocked    = "N";
                info.DataStatusLog = SessionManager.UserName + " " + DateTime.Now.ToString("ddd, dd MMM yyyy HH:mm:ss");
                info.MenuID        = DataAccess.Enum.Menu.DOAA.ToString();


                formsViewModel.info = info;

                if (formsViewModel.info.IDNo > 0)
                {
                    formsViewModel.isSaveSuccessfully = formsViewModel.UdpateDOAA1Form(formsViewModel);
                }
                else
                {
                    formsViewModel.isSaveSuccessfully = formsViewModel.SaveDOAA1Form(formsViewModel);
                }
            }
            else if (menu == DataAccess.Enum.Menu.LIBFORM.ToString())
            {
                LibInfo libInfo = new LibInfo();
                libInfo = JsonConvert.DeserializeObject <LibInfo>(objectData.ToString());

                libInfo.DataUpdatedOn = DateTime.Now;
                libInfo.DataStatus    = (int)DataAccess.Enum.DataStatus.DataEntryStartedbyOperator;
                if (action == "Finalize")
                {
                    libInfo.DataStatus = (int)DataAccess.Enum.DataStatus.DataEntryCompletedbyOperator;
                }
                else if (action == "FinalizedByHod")
                {
                    libInfo.DataStatus = (int)DataAccess.Enum.DataStatus.DataCheckingCompletedbyHOD;
                }

                libInfo.DataUser      = SessionManager.UserName;
                libInfo.DeptID        = SessionManager.DeptID;
                libInfo.DataValid     = "Y";
                libInfo.DataLocked    = "N";
                libInfo.DataStatusLog = SessionManager.UserName + " " + DateTime.Now.ToString("ddd, dd MMM yyyy HH:mm:ss");
                libInfo.MenuID        = DataAccess.Enum.Menu.LIBFORM.ToString();

                formsViewModel.libInfo = libInfo;

                if (formsViewModel.libInfo.IDNo > 0)
                {
                    formsViewModel.isSaveSuccessfully = formsViewModel.UdpateLIBForm(formsViewModel);
                }
                else
                {
                    formsViewModel.isSaveSuccessfully = formsViewModel.SaveLIBForm(formsViewModel);
                }
            }

            if (formsViewModel.isSaveSuccessfully && action == "Finalize")
            {
                try
                {
                    string body = "The User: "******", Dept: " + SessionManager.DeptID + " , DataCapt: " + info.DataCaptYM + ", IRD Data has been finalised & sent for your Authorization.  Kindly Check & Authorize/Approve the data."
                                  + "Time Stamp: DateTime Stamp: " + DateTime.Now
                                  + "This is a System generated Email.";

                    string subject = "IRD Data Entry updated by " + SessionManager.UserName;

                    DataCollectionModelDataContext db = new DataCollectionModelDataContext();
                    var    hod    = db.RankUsers.Where(a => a.DeptID.ToLower() == SessionManager.DeptID.ToLower() && a.UserRole.ToLower() == UserRoles.User.ToString().ToLower() && a.UserWork.ToLower() == DataAccess.Enum.UserWork.HOD.ToString().ToLower()).FirstOrDefault();
                    string tomail = "*****@*****.**";
                    if (hod != null)
                    {
                        tomail = hod.UserEmail;
                    }

                    FormServices formServices = new FormServices();
                    formServices.SendEmail(tomail, "", subject, body);
                }
                catch (Exception ex) { }
            }

            return(formsViewModel.isSaveSuccessfully);
        }
Example #12
0
        public void GetDOAA1Data(int DataCaptYM, string MenuID)
        {
            FormsRepository formsRepository = new FormsRepository();

            DataCaptYM = SessionManager.DataCaptYR > 0 ? SessionManager.DataCaptYR : (DataCaptYM > 0 ? DataCaptYM : 0);
            if (MenuID == DataAccess.Enum.Menu.DOAA.ToString())
            {
                string deptID = string.IsNullOrEmpty(SessionManager.EmpDeptID) ? SessionManager.DeptID : SessionManager.EmpDeptID;
                this.info = formsRepository.GetDOAA1FormDataByID(DataCaptYM, deptID, MenuID);
                if (info == null)
                {
                    info                = new stInfo();
                    info.DataStatus     = (int)DataAccess.Enum.DataStatus.DataEntryStartedbyOperator;
                    info.DataStatusName = (DataAccess.Enum.DataStatus.DataEntryStartedbyOperator).GetStringValue();
                    info.DataCaptYM     = DataCaptYM;
                    info.DeptName       = info.DeptID = SessionManager.DeptID;
                }
                info.EmpDept = SessionManager.EmpDeptID;
            }
            else if (MenuID == DataAccess.Enum.Menu.ADIR.ToString() || MenuID == DataAccess.Enum.Menu.DOSW.ToString())
            {
                this.info2 = formsRepository.GetADIRFormDataByID(DataCaptYM, SessionManager.DeptID, MenuID);
                if (info2 == null)
                {
                    info2                = new stInfo2();
                    info2.DataStatus     = (int)DataAccess.Enum.DataStatus.DataEntryStartedbyOperator;
                    info2.DataStatusName = (DataAccess.Enum.DataStatus.DataEntryStartedbyOperator).GetStringValue();
                    info2.DataCaptYM     = DataCaptYM;
                    info2.DeptName       = info2.DeptID = SessionManager.DeptID;
                }
            }
            else if (MenuID == DataAccess.Enum.Menu.LIBFORM.ToString())
            {
                this.libInfo = formsRepository.GetLibFormDataByID(DataCaptYM, SessionManager.DeptID, MenuID);
                if (libInfo == null)
                {
                    libInfo                = new LibInfo();
                    libInfo.DataStatus     = (int)DataAccess.Enum.DataStatus.DataEntryStartedbyOperator;
                    libInfo.DataStatusName = (DataAccess.Enum.DataStatus.DataEntryStartedbyOperator).GetStringValue();
                    libInfo.DataCaptYM     = DataCaptYM;
                    libInfo.DeptName       = libInfo.DeptID = SessionManager.DeptID;
                }
            }
            else if (MenuID == DataAccess.Enum.Menu.DOFA.ToString())
            {
                dofaViewModel = new DofaViewModel();
                dofaViewModel.GetDOFAData(DataCaptYM);
            }
            else if (MenuID == DataAccess.Enum.Menu.SRICFA.ToString())
            {
                sricFAViewModel = new SricFAViewModel();
                sricFAViewModel.GetSRICFAData(DataCaptYM);
            }
            else if (MenuID == DataAccess.Enum.Menu.SRIC.ToString())
            {
                sricDeptViewModel = new SricDeptViewModel();
                sricDeptViewModel.GetSRICData(DataCaptYM);
            }
            else if (MenuID == DataAccess.Enum.Menu.DOFAPEER.ToString())
            {
                dofaPeerViewModel = new DofaPeerViewModel();
                dofaPeerViewModel.GetDofaPeerData(DataCaptYM);
            }
            else if (MenuID == DataAccess.Enum.Menu.TPDEPT.ToString())
            {
                tpDeptViewModel = new TPDeptViewModel();
                tpDeptViewModel.GetTPDeptData(DataCaptYM);
            }
            else if (MenuID == DataAccess.Enum.Menu.INFRA.ToString())
            {
                infraViewModel = new InfraViewModel();
                infraViewModel.GetInfraData(DataCaptYM);
            }
            else if (MenuID == DataAccess.Enum.Menu.DFNP.ToString())
            {
                dfnpViewModel = new DFNPViewModel();
                dfnpViewModel.GetDFNPData(DataCaptYM);
                dfnpViewModel.finInfo.EmpDept = SessionManager.EmpDeptID;
            }

            RankMesg rankmesg = FormCommonMethods.GetCurrentRankMesg();

            this.rankmsg = rankmesg.Message;
        }
Example #13
0
        public Tuple <bool, bool?> SaveUpdateFormData(object objectData, string action, string menu, string needModificationMSG, out string msg)
        {
            msg = string.Empty;
            FormsViewModel formsViewModel = new FormsViewModel();
            int            DataCaptYM     = 0;
            string         DeptID         = string.Empty;
            bool?          IsEmailSent    = null;

            if (menu == DataAccess.Enum.Menu.DOSW.ToString() || menu == DataAccess.Enum.Menu.ADIR.ToString())
            {
                stInfo2 info2 = new stInfo2();
                info2 = JsonConvert.DeserializeObject <stInfo2>(objectData.ToString());

                info2.DataUpdatedOn = DateTime.Now;
                info2.DataStatus    = FormCommonMethods.GetStatusByAction(action);
                info2.DataUser      = SessionManager.UserName;
                info2.DeptID        = SessionManager.DeptID;
                info2.DataValid     = "Y";
                info2.DataLocked    = "N";
                info2.DataStatusLog = SessionManager.UserName + " " + DateTime.Now.ToString("ddd, dd MMM yyyy HH:mm:ss"); //DateTime.Now.ToString("dd-MM-yyyy hh:mm:ss tt");
                DeptID     = info2.DeptID;
                DataCaptYM = info2.DataCaptYM;
                if (menu == DataAccess.Enum.Menu.ADIR.ToString())
                {
                    info2.MenuID = DataAccess.Enum.Menu.ADIR.ToString();
                }
                else
                {
                    info2.MenuID = DataAccess.Enum.Menu.DOSW.ToString();
                }

                formsViewModel.info2 = info2;

                if (formsViewModel.info2.IDNo > 0)
                {
                    formsViewModel.isSaveSuccessfully = formsViewModel.UdpateADIRAndDOSWForm(formsViewModel);
                }
                else
                {
                    formsViewModel.isSaveSuccessfully = formsViewModel.SaveADIRAndDOSWForm(formsViewModel);
                }
            }
            else if (menu == DataAccess.Enum.Menu.DOAA.ToString())
            {
                stInfo info = new stInfo();
                info = JsonConvert.DeserializeObject <stInfo>(objectData.ToString());

                info.DataUpdatedOn = DateTime.Now;
                info.DataStatus    = FormCommonMethods.GetStatusByAction(action);
                info.DataUser      = SessionManager.UserName;
                info.DeptID        = string.IsNullOrEmpty(info.EmpDept) ? SessionManager.DeptID : info.EmpDept;
                info.DataValid     = "Y";
                info.DataLocked    = "N";
                info.DataStatusLog = SessionManager.UserName + " " + DateTime.Now.ToString("ddd, dd MMM yyyy HH:mm:ss");
                info.MenuID        = DataAccess.Enum.Menu.DOAA.ToString();
                DataCaptYM         = info.DataCaptYM;
                DeptID             = info.DeptID;

                formsViewModel.info = info;

                if (formsViewModel.info.IDNo > 0)
                {
                    formsViewModel.isSaveSuccessfully = formsViewModel.UdpateDOAA1Form(formsViewModel);
                }
                else
                {
                    formsViewModel.isSaveSuccessfully = formsViewModel.SaveDOAA1Form(formsViewModel);
                }
            }
            else if (menu == DataAccess.Enum.Menu.LIBFORM.ToString())
            {
                LibInfo libInfo = new LibInfo();
                libInfo = JsonConvert.DeserializeObject <LibInfo>(objectData.ToString());

                libInfo.DataUpdatedOn = DateTime.Now;
                libInfo.DataStatus    = FormCommonMethods.GetStatusByAction(action);
                libInfo.DataUser      = SessionManager.UserName;
                libInfo.DeptID        = SessionManager.DeptID;
                libInfo.DataValid     = "Y";
                libInfo.DataLocked    = "N";
                libInfo.DataStatusLog = SessionManager.UserName + " " + DateTime.Now.ToString("ddd, dd MMM yyyy HH:mm:ss");
                libInfo.MenuID        = DataAccess.Enum.Menu.LIBFORM.ToString();
                DataCaptYM            = libInfo.DataCaptYM;
                DeptID = libInfo.DeptID;

                formsViewModel.libInfo = libInfo;

                if (formsViewModel.libInfo.IDNo > 0)
                {
                    formsViewModel.isSaveSuccessfully = formsViewModel.UdpateLIBForm(formsViewModel);
                }
                else
                {
                    formsViewModel.isSaveSuccessfully = formsViewModel.SaveLIBForm(formsViewModel);
                }
            }
            else if (menu == DataAccess.Enum.Menu.DOFA.ToString())
            {
                if (objectData != null && typeof(DofaViewModel) == objectData.GetType())
                {
                    DofaViewModel dvm = (DofaViewModel)objectData;
                    DataCaptYM = dvm.DataCaptYM;
                    DeptID     = "DOFA";
                    formsViewModel.isSaveSuccessfully = dvm.SaveDOFAData(action, out msg);
                }
                else
                {
                    formsViewModel.isSaveSuccessfully = false;
                }
            }
            else if (menu == DataAccess.Enum.Menu.SRICFA.ToString())
            {
                if (objectData != null && typeof(SricFAViewModel) == objectData.GetType())
                {
                    SricFAViewModel sfvm = (SricFAViewModel)objectData;
                    DataCaptYM = sfvm.DataCaptYM;
                    DeptID     = "SRIC Agency";
                    formsViewModel.isSaveSuccessfully = sfvm.SaveSricFAData(action, out msg);
                }
                else
                {
                    formsViewModel.isSaveSuccessfully = false;
                }
            }
            else if (menu == DataAccess.Enum.Menu.SRIC.ToString())
            {
                if (objectData != null && typeof(SricDeptViewModel) == objectData.GetType())
                {
                    SricDeptViewModel sdvm = (SricDeptViewModel)objectData;
                    DataCaptYM = sdvm.DataCaptYM;
                    DeptID     = "SRIC";
                    formsViewModel.isSaveSuccessfully = sdvm.SaveSricDeptData(action, out msg);
                }
                else
                {
                    formsViewModel.isSaveSuccessfully = false;
                }
            }
            else if (menu == DataAccess.Enum.Menu.DOFAPEER.ToString())
            {
                if (objectData != null && typeof(DofaPeerViewModel) == objectData.GetType())
                {
                    DofaPeerViewModel sdvm = (DofaPeerViewModel)objectData;
                    DataCaptYM = sdvm.DataCaptYM;
                    DeptID     = "DOFA";
                    int    EmpNo   = 0;
                    string EmpName = string.Empty;

                    formsViewModel.isSaveSuccessfully = sdvm.SaveDofaPeerData(action, out msg, out EmpNo, out EmpName);

                    if (formsViewModel.isSaveSuccessfully && action.ToLower().Trim() == "save")
                    {
                        IsEmailSent = FormCommonMethods.SendEmailOnSaveForDOFAPeer(action, EmpNo, EmpName);
                    }
                }
                else
                {
                    formsViewModel.isSaveSuccessfully = false;
                }
            }
            else if (menu == DataAccess.Enum.Menu.TPDEPT.ToString())
            {
                if (objectData != null && typeof(TPDeptViewModel) == objectData.GetType())
                {
                    TPDeptViewModel sdvm = (TPDeptViewModel)objectData;
                    DataCaptYM = sdvm.DataCaptYM;
                    DeptID     = "TPDEPT";
                    formsViewModel.isSaveSuccessfully = sdvm.SaveTPDeptData(action, out msg);
                }
                else
                {
                    formsViewModel.isSaveSuccessfully = false;
                }
            }
            else if (menu == DataAccess.Enum.Menu.INFRA.ToString())
            {
                if (objectData != null && typeof(InfraViewModel) == objectData.GetType())
                {
                    InfraViewModel sdvm = (InfraViewModel)objectData;
                    DataCaptYM = sdvm.DataCaptYM;
                    DeptID     = "INFRA";
                    formsViewModel.isSaveSuccessfully = sdvm.SaveInfraData(action, out msg);
                }
                else
                {
                    formsViewModel.isSaveSuccessfully = false;
                }
            }

            else if (menu == DataAccess.Enum.Menu.DFNP.ToString())
            {
                if (objectData != null && typeof(DFNPViewModel) == objectData.GetType())
                {
                    DFNPViewModel vm = (DFNPViewModel)objectData;
                    formsViewModel.isSaveSuccessfully = vm.SaveDFNPData(action, out msg);
                }
                else
                {
                    formsViewModel.isSaveSuccessfully = false;
                }
            }

            if (formsViewModel.isSaveSuccessfully && action.ToLower().Trim() != "save")
            {
                IsEmailSent = FormCommonMethods.SendFinallizeEmail(action, DataCaptYM, DeptID, needModificationMSG);
            }

            return(new Tuple <bool, bool?>(formsViewModel.isSaveSuccessfully, IsEmailSent));
        }
Example #14
0
        /// <summary>
        /// Parses the given <paramref name="fileContent"/> and resolves all external references. All the found references
        /// are added to the given <paramref name="referencesTable"/>. The parameter <paramref name="csprojFileInfo"/> must point
        /// to the file which content is provided.
        /// </summary>
        /// <param name="csprojFileInfo">Pointer to the csproj file that is processed</param>
        /// <param name="fileContent">Content of the csproj file that is processed</param>
        /// <param name="referencesTable">Collection new references are added to</param>
        private static void AddPackageReferences(FileInfo csprojFileInfo, string fileContent, IDictionary <string, string> referencesTable)
        {
            string csprojFolderPath = csprojFileInfo.Directory?.FullName;

            if (csprojFolderPath == null)
            {
                throw new TessaException("Could not resolve csproj folder path");
            }

            string  assetJsonPath = Path.Combine(csprojFolderPath, "obj", "project.assets.json");
            JObject assets;

            using (FileStream fileStream = File.OpenRead(assetJsonPath)) {
                using (StreamReader reader = new StreamReader(fileStream)) {
                    using (JsonTextReader jtr = new JsonTextReader(reader)) {
                        assets = (JObject)JToken.ReadFrom(jtr);
                    }
                }
            }

            ICollection <LibInfo> libSet = new LinkedList <LibInfo>();

            JObject   targets     = (JObject)assets["targets"];
            JProperty targetEntry = (JProperty)targets.First;
            JObject   baseTarget  = (JObject)targetEntry.Value;

            using (IEnumerator <KeyValuePair <string, JToken> > itr = baseTarget.GetEnumerator()) {
                while (itr.MoveNext())
                {
                    KeyValuePair <string, JToken> target = itr.Current;
                    string   id      = target.Key;
                    string[] idParts = id.Split(new[] { '/' }, StringSplitOptions.RemoveEmptyEntries);
                    string   libName = idParts[0];
                    string   libVers = idParts[1];
                    JObject  obj     = (JObject)target.Value;
                    string   type    = (string)obj["type"];
                    if (type != "package")
                    {
                        continue;
                    }
                    JObject   runtime = (JObject)obj["runtime"];
                    JProperty rtEntry = (JProperty)runtime.First;
                    string    libPath = rtEntry.Name;
                    libSet.Add(new LibInfo(libName, libVers, libPath));
                }
            }

            JObject packageFolders = (JObject)assets["packageFolders"];
            string  packageFolder  = packageFolders.Properties().First().Name;

            using (IEnumerator <LibInfo> itr = libSet.GetEnumerator()) {
                while (itr.MoveNext())
                {
                    LibInfo libNfo      = itr.Current;
                    string  libName     = libNfo.Name;
                    string  libVers     = libNfo.Version;
                    string  libPath     = libNfo.Path;
                    string  fullLibPath = Path.Combine(packageFolder, libName, libVers, libPath);
                    string  fqp         = Path.GetFullPath(fullLibPath);
                    if (!File.Exists(fqp))
                    {
                        throw new TessaException($"Could not resolve file '{fqp}'");
                    }
                    string simpleName = Path.GetFileNameWithoutExtension(fqp);
                    referencesTable.Add(simpleName, fqp);
                }
            }
        }