コード例 #1
0
ファイル: DbFileInfo.cs プロジェクト: ToroLiu/TTLuceneDbStore
        internal void ComputeSHA()
        {
            // Compute all file block sha1.
            var allSha =
                (from b in this.BlockSet
                 select b.SHA1).ToArray();

            string longSha = string.Join("", allSha);

            this.SHA1 = SHAHelper.ToSHA1(longSha);
        }
コード例 #2
0
        public static Package FromNupkg(string filePath, IList <Package> packages)
        {
            var pkg = new Package();

            pkg.Path = filePath;

            pkg.PackageHash          = SHAHelper.CalculateSHA512Hash(File.ReadAllText(filePath));
            pkg.PackageHashAlgorithm = "SHA512";

            var fInfo = new FileInfo(filePath);

            pkg.Updated     = fInfo.LastWriteTimeUtc;
            pkg.Published   = fInfo.LastWriteTimeUtc;
            pkg.PackageSize = fInfo.Length;

            using (var zipArchive = ZipFile.OpenRead(filePath))
            {
                var        nuspecEntry = zipArchive.Entries.First(x => x.Name.Contains(".nuspec"));
                var        reader      = XmlReader.Create(nuspecEntry.Open());
                XElement   element     = XElement.Load(reader);
                XNamespace ns          = element.GetDefaultNamespace();
                var        nsm         = new XmlNamespaceManager(reader.NameTable);
                nsm.AddNamespace("ns", ns.NamespaceName);

                pkg.Title = pkg.Id = element.XPathSelectElement("//ns:id", nsm).AsString();

                pkg.Version    = new Version(element.XPathSelectElement("//ns:version", nsm).AsString());
                pkg.Author     = element.XPathSelectElement("//ns:authors", nsm).AsString();
                pkg.LicenceUrl = element.XPathSelectElement("//ns:licenseUrl", nsm).AsString();
                pkg.ProjectUrl = element.XPathSelectElement("//ns:projectUrl", nsm).AsString();
                pkg.IconUrl    = element.XPathSelectElement("//ns:iconUrl", nsm).AsString();
                pkg.RequireLicenseAcceptance = element.XPathSelectElement("//ns:requireLicenseAcceptance", nsm).As <bool>(false);
                pkg.Description = element.XPathSelectElement("//ns:description", nsm).AsString();
                pkg.Summary     = element.XPathSelectElement("//ns:summary", nsm).AsString();
                pkg.Copyright   = element.XPathSelectElement("//ns:copyright", nsm).AsString();
                pkg.Tags        = element.XPathSelectElement("//ns:tags", nsm).AsString();
                pkg.Language    = element.XPathSelectElement("//ns:language", nsm).AsString();

                var minClientVersionAttr = element.XPathSelectElement("//ns:metadata", nsm).Attribute("minClientVersion");

                pkg.MinClientVersion = minClientVersionAttr != null ? minClientVersionAttr.Value : null;

                var dependencyNodes = element.Descendants(ns + "dependency");
                if (dependencyNodes.Any())
                {
                    pkg.Dependencies = dependencyNodes.Select(x => x.Attribute("id").Value + ":" + x.Attribute("version").Value).Aggregate((x, y) => x + "|" + y);
                }

                pkg.IsLatestVersion = pkg.IsAbsoluteLatestVersion = !packages.Where(x => x.Id == pkg.Id && x.Version > pkg.Version).Any();
            }
            return(pkg);
        }
コード例 #3
0
        public bool VerifyHeader(out string ErrorMsg)
        {
            string       ipaddress = "5555555";
            StringValues api_key;
            StringValues EmpCode;

            var isValidHeader = false;

            //APIITVendor //VendorData = new APIITVendor();
            if (Request.Headers.TryGetValue("api_Accesskey", out api_key))
            {
                string AccessKey  = api_key.First();
                string EmpCodeKey = EmpCode.First();

                if (!string.IsNullOrEmpty(AccessKey))
                {
                    bool CorrectACKey = SHAHelper.VerifyHash("APiCRMMobile", "SHA512", AccessKey);
                    if (CorrectACKey)
                    {
                        ErrorMsg = "";
                        return(true);
                    }
                }
            }
            else
            {
                if (!isValidHeader)
                {
                    //_log.LogDebug(ipaddress + " :: Missing Authorization Header.");
                    ErrorMsg = ipaddress + " :: Missing Authorization Header.";
                    //VendorData = new APIITVendor();
                    return(false);
                    //  return BadRequest("Missing Authorization Header.");
                }
            }
            //VendorData = new APIITVendor();
            ErrorMsg = "SomeThing Wrong with Header Contact Developer ASAP";
            return(false);
        }
コード例 #4
0
        public async Task <object> loginHash([FromBody] LoginHashData data)
        {
            try
            {
                var userName = SHAHelper.TwoWayDecrypt(data.UserName, "APFamilyAPThaiAP");
                var password = SHAHelper.TwoWayDecrypt(data.Password, "APFamilyAPThaiAP");


                var appCode = "Defect";

                string APApiKey = Environment.GetEnvironmentVariable("API_Key");
                if (APApiKey == null)
                {
                    APApiKey = UtilsProvider.AppSetting.ApiKey;
                }
                string APApiToken = Environment.GetEnvironmentVariable("Api_Token");
                if (APApiToken == null)
                {
                    APApiToken = UtilsProvider.AppSetting.ApiToken;
                }


                var client  = new HttpClient();
                var Content = new StringContent(JsonConvert.SerializeObject(data));
                Content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
                Content.Headers.Add("api_key", APApiKey);
                Content.Headers.Add("api_token", APApiToken);
                string PostURL = Environment.GetEnvironmentVariable("AuthenticationURL");
                PostURL = PostURL + "JWTUserLogin";
                if (PostURL == null)
                {
                    PostURL = UtilsProvider.AppSetting.AuthorizeURL + "JWTUserLogin";
                }
                var Respond = await client.PostAsync(PostURL, Content);

                if (Respond.StatusCode != System.Net.HttpStatusCode.OK)
                {
                    return(new
                    {
                        success = false,
                        data = new AutorizeDataJWT(),
                        valid = false
                    });
                }
                var RespondData = await Respond.Content.ReadAsStringAsync();

                AutorizeDataJWT             Result = JsonConvert.DeserializeObject <AutorizeDataJWT>(RespondData);
                AutorizeDataJWTReturnObject Return = new AutorizeDataJWTReturnObject();
                Return.AccountExpirationDate  = Result.AccountExpirationDate;
                Return.AppUserRole            = Result.AppUserRole;
                Return.AuthenticationProvider = Result.AuthenticationProvider;
                Return.CostCenterCode         = Result.CostCenterCode;
                Return.CostCenterName         = Result.CostCenterName;
                Return.DisplayName            = Result.DisplayName;
                Return.Division           = Result.Division;
                Return.DomainUserName     = Result.DomainUserName;
                Return.Email              = Result.Email;
                Return.EmployeeID         = Result.EmployeeID;
                Return.FirstName          = Result.FirstName;
                Return.LastLogon          = Result.LastLogon;
                Return.LastName           = Result.LastName;
                Return.LoginResult        = Result.LoginResult;
                Return.LoginResultMessage = Result.LoginResultMessage;
                Return.SysAppCode         = Result.SysAppCode;
                Return.SysUserData        = JsonConvert.DeserializeObject <UserModel>(Result.SysUserData);
                Return.SysUserId          = Result.SysUserId;
                Return.SysUserRoles       = JsonConvert.DeserializeObject <CustomModel.vwUserRole>(Result.SysUserRoles);
                Return.Token              = Result.Token;
                Return.UserApp            = JsonConvert.DeserializeObject <List <vwUserApp> >(Result.UserApp);
                Return.UserPrincipalName  = Result.UserPrincipalName;
                List <UserProject> userProjects = JsonConvert.DeserializeObject <List <UserProject> >(Result.UserProject);

                List <UserProjectType> userProjectTypes = new List <UserProjectType>();
                for (int i = 0; i < userProjects.Count(); i++)
                {
                    ICONEntFormsProduct Prd    = _masterRepo.GetProductDataFromCRM_Sync(userProjects[i].ProjectCode);
                    string          obj        = JsonConvert.SerializeObject(userProjects[i]);
                    UserProjectType ProductObj = JsonConvert.DeserializeObject <UserProjectType>(obj);
                    if (Prd != null)
                    {
                        if (Prd.Producttype == "โครงการแนวราบ")
                        {
                            ProductObj.producttypecate = "H";
                        }
                        if (Prd.Producttype == "โครงการแนวสูง")
                        {
                            ProductObj.producttypecate = "V";
                        }
                    }

                    userProjectTypes.Add(ProductObj);
                }

                Return.UserProject = userProjectTypes;
                if (Result.LoginResult == false)
                {
                    return(new
                    {
                        success = false,
                        data = Result.LoginResultMessage,
                        valid = false
                    });
                }
                AccessKeyControl AC = _UserRepository.GetUserAccessKey(Result.EmployeeID);
                if (AC == null)
                {
                    AccessKeyControl accessKeyControl = new AccessKeyControl();
                    accessKeyControl.EmpCode   = Result.EmployeeID;
                    accessKeyControl.AccessKey = generateAccessKey(Result.EmployeeID);
                    accessKeyControl.LoginDate = DateTime.Now;

                    bool Insert = _UserRepository.InsertUserAccessKey(accessKeyControl);

                    return(new
                    {
                        success = true,
                        data = Return,
                        AccessKey = accessKeyControl.AccessKey,
                        valid = false
                    });
                }
                else
                {
                    AC.AccessKey = generateAccessKey(Result.EmployeeID);
                    AC.LoginDate = DateTime.Now;

                    bool Update = _UserRepository.UpdateUserAccessKey(AC);

                    return(new
                    {
                        success = true,
                        data = Return,
                        AccessKey = AC.AccessKey,
                        valid = false
                    });
                }
            }
            catch (Exception ex)
            {
                return(StatusCode(500, "Internal server error :: " + ex.Message));
            }
        }
コード例 #5
0
 internal void ComputeSHA()
 {
     this.SHA1 = SHAHelper.ToSHA1(RawData);
 }