public static void Persist(JMoviesEntities entities, Person person) { TransactionOptions options = new TransactionOptions(); options.IsolationLevel = IsolationLevel.Serializable; options.Timeout = new TimeSpan(0, 10, 0); using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, options)) { Person savedPerson = entities.Person.FirstOrDefault(e => e.IMDbID == person.IMDbID); bool saved = false; if (savedPerson != null) { person.ID = savedPerson.ID; saved = true; } else { person.ID = CommonDBHelper.GetNewID <Person>(entities, e => e.ID); } Person trimmedPerson = GetTrimmedPerson(person); if (!saved) { EntityEntry entry = entities.Person.Add(trimmedPerson); } entities.SaveChanges(); HandleImages(entities, person, savedPerson); CommonDBHelper.DetachAllEntries(entities); CommonDBHelper.MarkEntityAsUpdated(entities, trimmedPerson, new string[] { "PersonType", "PrimaryImage", "PrimaryImageID" }, true); entities.SaveChanges(); scope.Complete(); } }
private static void HandleGenres(JMoviesEntities entities, Production production, Production savedProduction) { Movie movie = production as Movie; Movie savedMovie = savedProduction as Movie; if (movie != null && movie.Genres != null) { foreach (Genre genre in movie.Genres.ToArray()) { EntityEntry entry = null; bool saved = false; if (savedMovie != null) { Genre savedGenre = entities.Genre.FirstOrDefault(e => e.Identifier == genre.Identifier && genre.ProductionID == savedMovie.ID); if (savedGenre != null) { genre.ID = savedGenre.ID; entry = CommonDBHelper.MarkEntityAsUpdated(entities, genre); saved = true; } } genre.ProductionID = production.ID; if (!saved) { genre.ID = CommonDBHelper.GetNewID <Genre>(entities, e => e.ID); entry = entities.Genre.Add(genre); } entities.SaveChanges(); CommonDBHelper.DetachAllEntries(entities); } } }
private static void HandleKeywords(JMoviesEntities entities, Production production, Production savedProduction) { Movie movie = production as Movie; Movie savedMovie = savedProduction as Movie; if (movie != null && movie.Keywords != null) { foreach (Keyword keyword in movie.Keywords.ToArray()) { EntityEntry entry = null; bool saved = false; if (savedMovie != null) { Keyword savedKeyword = entities.Keyword.FirstOrDefault(e => e.Identifier == keyword.Identifier && keyword.ProductionID == movie.ID); if (savedKeyword != null) { keyword.ID = savedKeyword.ID; entry = CommonDBHelper.MarkEntityAsUpdated(entities, keyword); saved = true; } } keyword.ProductionID = production.ID; if (!saved) { keyword.ID = CommonDBHelper.GetNewID <Keyword>(entities, e => e.ID); entry = entities.Keyword.Add(keyword); } entities.SaveChanges(); CommonDBHelper.DetachAllEntries(entities); } } }
public static string GetDatafromFTP(string filename, string id) { string HOST_NAME = "-"; string USER_NAME = "-"; string PASSWORD = "******"; CommonDBHelper Repo = CommonDBHelper.Instance; List <FTPCredential> data = Repo.GetFtpCredential(id, "GetFtpDownloadCredential").ToList(); foreach (FTPCredential row in data) { HOST_NAME = row.HOST_NAME; USER_NAME = row.USER_NAME; PASSWORD = row.PASSWORD; } NetworkCredential cred = new NetworkCredential(USER_NAME, PASSWORD); WebClient request = new WebClient(); request.Credentials = new NetworkCredential(USER_NAME, PASSWORD); List <DirectoryItem> listing = GetDirectoryInformation(HOST_NAME, USER_NAME, PASSWORD);//"ftp://ftp.mywebsite.com/directory", "username", "password"); string name = listing[0].Name; byte[] filedata = request.DownloadData(HOST_NAME + name); //Path.GetFileName(filename)); using (FileStream file = File.Create(filename + name)) { file.Write(filedata, 0, filedata.Length); file.Close(); } return(filename + name); }
private static void HandleCompanies(JMoviesEntities entities, Production production, Production savedProduction) { Movie movie = production as Movie; Movie savedMovie = savedProduction as Movie; if (movie != null && movie.ProductionCompanies != null) { foreach (Company company in movie.ProductionCompanies.ToArray()) { EntityEntry entry = null; bool saved = false; if (savedMovie != null) { Company savedCompany = entities.Company.FirstOrDefault(e => e.Name == company.Name && company.ProductionID == savedMovie.ID); if (savedCompany != null) { company.ID = savedCompany.ID; entry = CommonDBHelper.MarkEntityAsUpdated(entities, company); saved = true; } } company.ProductionID = production.ID; if (!saved) { company.ID = CommonDBHelper.GetNewID <Company>(entities, e => e.ID); entry = entities.Company.Add(company); } entities.SaveChanges(); CommonDBHelper.DetachAllEntries(entities); } movie.ProductionCompanies = null; } }
private static void HandleAKAs(JMoviesEntities entities, Production production, Production savedProduction) { Movie movie = production as Movie; Movie savedMovie = savedProduction as Movie; if (movie != null && movie.AKAs != null) { foreach (AKA aka in movie.AKAs.ToArray()) { EntityEntry entry = null; bool saved = false; if (savedMovie != null) { AKA savedAKA = entities.AKA.FirstOrDefault(e => e.Name == aka.Name && e.Description == aka.Description && aka.ProductionID == savedMovie.ID); if (savedAKA != null) { aka.ID = savedAKA.ID; entry = CommonDBHelper.MarkEntityAsUpdated(entities, aka); saved = true; } } aka.ProductionID = production.ID; if (!saved) { aka.ID = CommonDBHelper.GetNewID <AKA>(entities, e => e.ID); entry = entities.AKA.Add(aka); } entities.SaveChanges(); CommonDBHelper.DetachAllEntries(entities); } } }
private static void HandleRatings(JMoviesEntities entities, Production production, Production savedProduction) { if (production.Rating != null) { EntityEntry entry = null; production.Rating.DataSourceID = entities.DataSource.FirstOrDefault(e => e.Identifier == production.Rating.DataSource.Identifier).ID; production.Rating.DataSource = null; production.Rating.ProductionID = production.ID; production.Rating.Production = null; Rating existingRating = null; if (savedProduction != null) { existingRating = entities.Rating.FirstOrDefault(e => e.ProductionID == savedProduction.ID); } if (existingRating != null) { production.Rating.ID = existingRating.ID; entry = CommonDBHelper.MarkEntityAsUpdated(entities, production.Rating); } else { production.Rating.ID = CommonDBHelper.GetNewID <Rating>(entities, e => e.ID); entry = entities.Rating.Add(production.Rating); } entities.SaveChanges(); CommonDBHelper.DetachAllEntries(entities); } }
private static void HandleCountries(JMoviesEntities entities, Production production, Production savedProduction) { Movie movie = production as Movie; Movie savedMovie = savedProduction as Movie; if (movie != null && movie.Countries != null) { foreach (ProductionCountry productionCountry in movie.Countries.ToArray()) { EntityEntry entry = null; EntityEntry countryEntry = null; Country savedCountry = entities.Country.FirstOrDefault(e => e.Identifier == productionCountry.Country.Identifier); if (savedCountry != null) { productionCountry.Country.ID = savedCountry.ID; countryEntry = CommonDBHelper.MarkEntityAsUpdated(entities, productionCountry.Country); } else { productionCountry.Country.ID = CommonDBHelper.GetNewID <Country>(entities, e => e.ID); countryEntry = entities.Country.Add(productionCountry.Country); } entities.SaveChanges(); productionCountry.ProductionID = productionCountry.Production.ID; productionCountry.Production = null; productionCountry.CountryID = productionCountry.Country.ID; productionCountry.Country = null; ProductionCountry savedProductionCountry = null; if (savedMovie != null) { savedProductionCountry = entities.ProductionCountry.FirstOrDefault(e => e.ProductionID == savedMovie.ID && e.CountryID == productionCountry.CountryID); } if (savedProductionCountry != null) { productionCountry.ID = savedProductionCountry.ID; entry = CommonDBHelper.MarkEntityAsUpdated(entities, productionCountry); } else { CommonDBHelper.DetachAllEntries(entities); productionCountry.ID = CommonDBHelper.GetNewID <ProductionCountry>(entities, e => e.ID); entry = entities.ProductionCountry.Add(productionCountry); } entities.SaveChanges(); CommonDBHelper.DetachAllEntries(entities); } } }
private static void HandleCharacters(JMoviesEntities entities, Production production, Production savedProduction) { Movie movie = production as Movie; Movie savedMovie = savedProduction as Movie; if (movie != null && movie.Credits != null) { foreach (Credit credit in movie.Credits.ToArray()) { if (credit is ActingCredit) { ActingCredit actingCredit = credit as ActingCredit; foreach (Character character in actingCredit.Characters.ToArray()) { EntityEntry entry = null; bool saved = false; if (savedMovie != null) { if (savedMovie.Credits == null) { savedMovie.Credits = entities.Credit.Where(e => e.ProductionID == savedMovie.ID).ToArray(); } Character savedCharacter = null; if (savedMovie.Credits != null) { long[] existingCreditIDs = savedMovie.Credits.Where(x => x.RoleType == CreditRoleType.Acting).Select(x => x.ID).ToArray(); savedCharacter = entities.Character.FirstOrDefault(currentCharacter => existingCreditIDs.Contains(currentCharacter.CreditID) && currentCharacter.Name == character.Name && currentCharacter.IMDbID == character.IMDbID); } if (savedCharacter != null) { character.ID = savedCharacter.ID; entry = CommonDBHelper.MarkEntityAsUpdated(entities, character, new string[] { "CharacterType" }); saved = true; } } character.CreditID = actingCredit.ID; if (!saved) { character.ID = CommonDBHelper.GetNewID <Character>(entities, e => e.ID); entry = entities.Character.Add(character); } entities.SaveChanges(); CommonDBHelper.DetachAllEntries(entities); } } } } }
private static void HandleDataSources(JMoviesEntities entities, Production production, Production savedProduction) { EntityEntry entry = null; if (production.Rating != null) { if (entities.DataSource.FirstOrDefault(e => e.Identifier == production.Rating.DataSource.Identifier) == null) { entry = entities.DataSource.Add(production.Rating.DataSource); } } entities.SaveChanges(); CommonDBHelper.DetachAllEntries(entities); }
public static void FTPFailed(string param, string id) { string HOST_NAME = "-"; string USER_NAME = "-"; string PASSWORD = "******"; string HOST_NAME_FAILED = "-"; CommonDBHelper Repo = CommonDBHelper.Instance; List <FTPCredential> data = Repo.GetFtpCredentialSucc(param, id, "GetFtpDownloadCredential").ToList(); foreach (FTPCredential row in data) { HOST_NAME = row.HOST_NAME; HOST_NAME_FAILED = row.HOST_NAME_FAILED; USER_NAME = row.USER_NAME; PASSWORD = row.PASSWORD; } NetworkCredential cred = new NetworkCredential(USER_NAME, PASSWORD); WebClient request = new WebClient(); request.Credentials = new NetworkCredential(USER_NAME, PASSWORD); List <DirectoryItem> listing = GetDirectoryInformation(HOST_NAME, USER_NAME, PASSWORD);//"ftp://ftp.mywebsite.com/directory", "username", "password"); string name = listing[0].Name; //CopyFile(HOST_NAME + name, HOST_NAME_FAILED + name, USER_NAME, PASSWORD); System.Net.FtpWebRequest clsRequest = (System.Net.FtpWebRequest)System.Net.WebRequest.Create(HOST_NAME + name); clsRequest.Credentials = new System.Net.NetworkCredential(USER_NAME, PASSWORD); clsRequest.Method = System.Net.WebRequestMethods.Ftp.DeleteFile; System.Net.FtpWebResponse resp = (FtpWebResponse)clsRequest.GetResponse(); resp.Close(); //byte[] filedata = request.DownloadData(HOST_NAME + name); //Path.GetFileName(filename)); //using (FileStream file = File.Create(filename + name)) //{ // file.Write(filedata, 0, filedata.Length); // file.Close(); //} //return filename + name; }
private static void HandleImages(JMoviesEntities entities, Production production, Production savedProduction) { Image oldPoster = savedProduction?.Poster; if (savedProduction != null && oldPoster == null) { oldPoster = entities.Image.FirstOrDefault(e => e.ID == savedProduction.PosterID); } Production trackedProduction = entities.Production.FirstOrDefault(e => e.ID == production.ID); if (savedProduction != null && oldPoster != null) { trackedProduction.PosterID = null; trackedProduction.Poster = null; entities.Image.Remove(oldPoster); entities.SaveChanges(); } if (production.Poster != null) { production.Poster.ProductionID = production.ID; production.Poster.ID = CommonDBHelper.GetNewID <Image>(entities, e => e.ID); entities.Image.Add(production.Poster); trackedProduction.PosterID = production.Poster.ID; } entities.SaveChanges(); CommonDBHelper.DetachAllEntries(entities); if (production.MediaImages != null) { foreach (Image image in production.MediaImages) { Image savedImage = entities.Image.FirstOrDefault(e => e.URL == image.URL); if (savedImage == null) { image.ID = CommonDBHelper.GetNewID <Image>(entities, e => e.ID); image.ProductionID = production.ID; entities.Add(image); } entities.SaveChanges(); CommonDBHelper.DetachAllEntries(entities); } } }
private static void HandleImages(JMoviesEntities entities, Person person, Person savedPerson) { Image oldPrimaryImage = null; if (savedPerson != null) { oldPrimaryImage = entities.Image.FirstOrDefault(e => e.ID == savedPerson.PrimaryImageID); } Person trackedPerson = entities.Person.FirstOrDefault(e => e.ID == person.ID); if (savedPerson != null && oldPrimaryImage != null) { trackedPerson.PrimaryImage = null; trackedPerson.PrimaryImageID = null; entities.Image.Remove(oldPrimaryImage); entities.SaveChanges(); } if (person.PrimaryImage != null) { person.PrimaryImage.PersonID = person.ID; person.PrimaryImage.ID = CommonDBHelper.GetNewID <Image>(entities, e => e.ID); entities.Image.Add(person.PrimaryImage); trackedPerson.PrimaryImageID = person.PrimaryImage.ID; } entities.SaveChanges(); CommonDBHelper.DetachAllEntries(entities); if (person.Photos != null) { foreach (Image image in person.Photos) { Image savedImage = entities.Image.FirstOrDefault(e => e.URL == image.URL); if (savedImage == null) { image.ID = CommonDBHelper.GetNewID <Image>(entities, e => e.ID); image.PersonID = person.ID; entities.Add(image); } entities.SaveChanges(); CommonDBHelper.DetachAllEntries(entities); } } }
public static void Persist(JMoviesEntities entities, Production production) { TransactionOptions options = new TransactionOptions(); options.IsolationLevel = IsolationLevel.Serializable; options.Timeout = new TimeSpan(0, 10, 0); using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, options)) { Production savedProduction = entities.Production.FirstOrDefault(e => e.IMDbID == production.IMDbID); bool saved = false; if (savedProduction != null) { production.ID = savedProduction.ID; saved = true; } else { production.ID = CommonDBHelper.GetNewID <Production>(entities, e => e.ID); } Production trimmedProduction = GetTrimmedProduction(production); if (!saved) { entities.Production.Add(trimmedProduction); } entities.SaveChanges(); HandleAKAs(entities, production, savedProduction); HandleCompanies(entities, production, savedProduction); HandleDataSources(entities, production, savedProduction); HandleGenres(entities, production, savedProduction); HandleKeywords(entities, production, savedProduction); HandleLanguages(entities, production); HandleCountries(entities, production, savedProduction); HandlePersons(entities, production); HandleCharacters(entities, production, savedProduction); HandleRatings(entities, production, savedProduction); HandleReleaseDates(entities, production, savedProduction); HandleImages(entities, production, savedProduction); HandleTagLines(entities, production, savedProduction); CommonDBHelper.MarkEntityAsUpdated(entities, trimmedProduction, new string[] { "ProductionType", "Poster", "PosterID" }, true); entities.SaveChanges(); scope.Complete(); } }
public static void SendDatatoFTP(string localPath, string id) { string HOST_NAME = "-"; string USER_NAME = "-"; string PASSWORD = "******"; CommonDBHelper Repo = CommonDBHelper.Instance; List <FTPCredential> data = Repo.GetFtpCredential(id, "GetFtpCredential").ToList(); foreach (FTPCredential row in data) { HOST_NAME = row.HOST_NAME; USER_NAME = row.USER_NAME; PASSWORD = row.PASSWORD; } NetworkCredential cred = new NetworkCredential(USER_NAME, PASSWORD); FtpWebRequest request = (FtpWebRequest)WebRequest.Create(HOST_NAME + Path.GetFileName(localPath)); request.Proxy = new WebProxy(); request.Method = WebRequestMethods.Ftp.UploadFile; request.Credentials = new NetworkCredential(USER_NAME, PASSWORD); StreamReader source = new StreamReader(localPath); byte[] fileContent = Encoding.UTF8.GetBytes(source.ReadToEnd()); source.Close(); request.ContentLength = fileContent.Length; Stream requestStream = request.GetRequestStream(); requestStream.Write(fileContent, 0, fileContent.Length); requestStream.Close(); FtpWebResponse response = (FtpWebResponse)request.GetResponse(); response.Close(); File.Delete(localPath); }
private static void HandleLanguages(JMoviesEntities entities, Production production) { Movie movie = production as Movie; if (movie != null && movie.Languages != null) { foreach (ProductionLanguage productionLanguage in movie.Languages.ToArray()) { EntityEntry entry = null; EntityEntry languageEntry = null; Language existingLanguage = entities.Language.FirstOrDefault(e => e.Identifier == productionLanguage.Language.Identifier); if (existingLanguage != null) { productionLanguage.Language.ID = existingLanguage.ID; languageEntry = CommonDBHelper.MarkEntityAsUpdated(entities, productionLanguage.Language); } else { productionLanguage.Language.ID = CommonDBHelper.GetNewID <Language>(entities, e => e.ID); languageEntry = entities.Language.Add(productionLanguage.Language); } ProductionLanguage existingProductionLanguage = entities.ProductionLanguage.FirstOrDefault(e => e.Language.Identifier == productionLanguage.Language.Identifier && e.Production.IMDbID == productionLanguage.Production.IMDbID); productionLanguage.ProductionID = productionLanguage.Production.ID; productionLanguage.Production = null; productionLanguage.LanguageID = productionLanguage.Language.ID; productionLanguage.Language = null; if (existingProductionLanguage != null) { productionLanguage.ID = existingProductionLanguage.ID; entry = CommonDBHelper.MarkEntityAsUpdated(entities, productionLanguage); } else { productionLanguage.ID = CommonDBHelper.GetNewID <ProductionLanguage>(entities, e => e.ID); entry = entities.ProductionLanguage.Add(productionLanguage); } entities.SaveChanges(); CommonDBHelper.DetachAllEntries(entities); } } }
private static void HandleReleaseDates(JMoviesEntities entities, Production production, Production savedProduction) { Movie savedMovie = savedProduction as Movie; if (savedMovie != null) { ReleaseDate[] existingReleaseDates = entities.ReleaseDate.Where(e => e.ProductionID == savedMovie.ID).ToArray(); entities.ReleaseDate.RemoveRange(existingReleaseDates); } Movie movie = production as Movie; if (movie != null) { foreach (ReleaseDate releaseDate in movie.ReleaseDates.ToArray()) { EntityEntry entry = null; if (releaseDate.Country != null) { Country existingCountry = entities.Country.FirstOrDefault(e => e.Identifier == releaseDate.Country.Identifier); if (existingCountry != null) { releaseDate.Country.ID = existingCountry.ID; entry = CommonDBHelper.MarkEntityAsUpdated(entities, releaseDate.Country); } else { releaseDate.Country.ID = CommonDBHelper.GetNewID <Country>(entities, e => e.ID); entry = entities.Country.Add(releaseDate.Country); } } releaseDate.CountryID = releaseDate.Country.ID; releaseDate.Country = null; releaseDate.ProductionID = production.ID; releaseDate.ID = CommonDBHelper.GetNewID <ReleaseDate>(entities, e => e.ID); entities.ReleaseDate.Add(releaseDate); entities.SaveChanges(); CommonDBHelper.DetachAllEntries(entities); } } }
public static response RequestFile <T>(Dictionary <string, object> parameters, string uri, string jsonConvert, string method) where T : new() { string content = string.Empty; dynamic ajax_array = new Object(); response objectRespond = new response(); string Errresponse = string.Empty; // string url = ConfigurationManager.AppSettings["TPInterface"]; CommonDBHelper Repo = CommonDBHelper.Instance; string url = Repo.getAPIUrl(); Console.WriteLine("API URL :" + url); string boundary = "---------------------------" + DateTime.Now.Ticks.ToString("x"); byte[] boundaryBytes = System.Text.Encoding.ASCII.GetBytes("\r\n--" + boundary + "\r\n"); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.ContentType = "multipart/form-data; boundary=" + boundary; request.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)"; request.Method = method; request.KeepAlive = true; request.Proxy = WebRequest.DefaultWebProxy; request.Credentials = System.Net.CredentialCache.DefaultCredentials; request.Proxy.Credentials = System.Net.CredentialCache.DefaultCredentials; try { Console.WriteLine("API Process Start"); var settings = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore, MissingMemberHandling = MissingMemberHandling.Ignore }; if (parameters != null && parameters.Count > 0) { using (Stream requestStream = request.GetRequestStream()) { foreach (KeyValuePair <string, object> pair in parameters) { requestStream.Write(boundaryBytes, 0, boundaryBytes.Length); if (pair.Value is FormFile) { FormFile file = pair.Value as FormFile; string header = "Content-Disposition: form-data; name=\"" + pair.Key + "\"; filename=\"" + file.Name + "\"\r\nContent-Type: " + file.ContentType + "\r\n\r\n"; byte[] bytes = System.Text.Encoding.UTF8.GetBytes(header); requestStream.Write(bytes, 0, bytes.Length); byte[] buffer = new byte[32768]; int bytesRead; if (file.Stream == null) { // upload from file using (FileStream fileStream = File.OpenRead(file.FilePath)) { while ((bytesRead = fileStream.Read(buffer, 0, buffer.Length)) != 0) { requestStream.Write(buffer, 0, bytesRead); } fileStream.Close(); } } else { // upload from given stream while ((bytesRead = file.Stream.Read(buffer, 0, buffer.Length)) != 0) { requestStream.Write(buffer, 0, bytesRead); } } } else { string data = "Content-Disposition: form-data; name=\"" + pair.Key + "\"\r\n\r\n" + pair.Value; byte[] bytes = System.Text.Encoding.UTF8.GetBytes(data); requestStream.Write(bytes, 0, bytes.Length); } } byte[] trailer = System.Text.Encoding.ASCII.GetBytes("\r\n--" + boundary + "--\r\n"); requestStream.Write(trailer, 0, trailer.Length); requestStream.Close(); } } using (WebResponse response = request.GetResponse()) { using (Stream responseStream = response.GetResponseStream()) using (StreamReader reader = new StreamReader(responseStream)) content = reader.ReadToEnd(); } objectRespond = JsonConvert.DeserializeObject <response>(content); return(objectRespond); } catch (WebException ex) { Console.WriteLine("API Process error : " + ex.Message); using (var reader = new System.IO.StreamReader(ex.Response.GetResponseStream())) { Errresponse = reader.ReadToEnd(); } //throw ex; objectRespond = JsonConvert.DeserializeObject <response>(Errresponse); //ajax_array.Message = JsonConvert.DeserializeObject(Errresponse).ToString(); return(objectRespond); } }
public static List <T> Request <T>(Dictionary <string, string> data, string uri, string jsonConvert, string method) where T : new() { //get token //var postReq = "userName="******"ippcs_uname_ws"); //postReq += "&password="******"ippcs_pwd_ws"); //string getToken = CSTDSystemConfig.GetValue("ippcs_uri_token_ws") + postReq; //var TokenResponse = _download_serialized_json_data_token<TokenData>(getToken); var settings = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore, MissingMemberHandling = MissingMemberHandling.Ignore }; string content = string.Empty; dynamic ajax_array = new Object(); //handle error string Errresponse = string.Empty; CommonDBHelper Repo = CommonDBHelper.Instance; string url = Repo.getAPIUrl(); Console.WriteLine("API URL :" + url); ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); //set headers request.ContentType = "application/json"; request.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)"; request.Method = method; //set token //request.Headers.Add(HttpRequestHeader.Authorization, "Bearer " + TokenResponse.access_token); request.Proxy = WebRequest.DefaultWebProxy; request.Credentials = System.Net.CredentialCache.DefaultCredentials;; request.Proxy.Credentials = System.Net.CredentialCache.DefaultCredentials; try { if (data != null && data.Count > 0) { //write data to be sent string dataJson = JsonConvert.SerializeObject(data); using (var streamWriter = new StreamWriter(request.GetRequestStream())) { streamWriter.Write(dataJson); } } if (jsonConvert != null) { //write data to be sent using (var streamWriter = new StreamWriter(request.GetRequestStream())) { streamWriter.Write(jsonConvert); } } //retrieve response var response = request.GetResponse() as HttpWebResponse; using (StreamReader reader = new StreamReader(response.GetResponseStream())) { content = reader.ReadToEnd(); } response.Close(); ajax_array = JsonConvert.DeserializeObject <List <T> >(content, settings); //ajax_array.Message = null; return(!string.IsNullOrEmpty(content) ? ajax_array : new List <T>()); } catch (WebException ex) { using (var reader = new System.IO.StreamReader(ex.Response.GetResponseStream())) { Errresponse = reader.ReadToEnd(); } //throw ex; ajax_array = new List <T>(); //ajax_array.Message = JsonConvert.DeserializeObject(Errresponse).ToString(); return(!string.IsNullOrEmpty(Errresponse) ? ajax_array : new List <T>()); } }
private static void HandlePersons(JMoviesEntities entities, Production production) { Movie movie = production as Movie; if (movie != null) { foreach (Credit credit in movie.Credits.ToArray()) { EntityEntry personEntry = null; Credit existingCredit = null; Person existingPerson = entities.Person.FirstOrDefault(e => e.IMDbID == credit.Person.IMDbID); if (existingPerson != null) { credit.Person.ID = existingPerson.ID; //personEntry = CommonDBHelper.MarkEntityAsUpdated(entities, credit.Person, new string[] { "PersonType" }); } else { credit.Person.ID = CommonDBHelper.GetNewID <Person>(entities, e => e.ID); personEntry = entities.Person.Add(credit.Person); } entities.SaveChanges(); existingCredit = entities.Credit.FirstOrDefault(e => e.Person.ID == credit.Person.ID && e.ProductionID == production.ID); CommonDBHelper.DetachAllEntries(entities); ICollection <Character> characters = null; credit.PersonID = credit.Person.ID; credit.Person = null; credit.ProductionID = production.ID; EntityEntry entry = null; if (credit is ActingCredit) { characters = ((ActingCredit)credit).Characters; ((ActingCredit)credit).Characters = null; } if (existingCredit != null) { credit.ID = existingCredit.ID; entry = CommonDBHelper.MarkEntityAsUpdated(entities, credit, new string[] { "RoleType", "Characters", "Person" }); } else { //credit.ID = CommonDBHelper.GetNewID<Credit>(entities, e => e.ID); entry = entities.Credit.Add(credit); } entities.SaveChanges(); if (characters != null) { ((ActingCredit)credit).Characters = characters; } CommonDBHelper.DetachAllEntries(entities); } } }
public override void ExecuteBatch() { //Cek File In Temp CommonDBHelper Repo2 = CommonDBHelper.Instance; try { IDBContext db = dbManager.GetContext(); string val1 = sysValue(); String[] listfile1 = Directory.GetFiles(val1); if (!listfile1.Any()) { return; } } catch (Exception ex) { return; } string loc = "Interface File From ADM Batch"; string module = "BMPV"; string function = "IFilePriceFromADM"; Common repoResult = null; Common getProc = new Common(); getProc.MSG_TXT = "Start Process"; getProc.LOCATION = loc; getProc.PID = 0; getProc.MSG_ID = "ADMIPPCS1INF"; getProc.MSG_TYPE = "INF"; getProc.MODULE_ID = module; getProc.FUNCTION_ID = function; getProc.USER_ID = "SYSTEM"; getProc.PROCESS_STS = 0; Int64 PID = CommonDBHelper.Instance.CreateLog(getProc); CommonDBHelper Repo = CommonDBHelper.Instance; Console.WriteLine("Function is started"); try { #region 1. Get File From Receive Folder Console.WriteLine("1. Get File From Receive Folder"); getProc.MSG_TXT = "Get File From Receive Folder"; getProc.LOCATION = loc; getProc.PID = PID; getProc.MSG_ID = "ADMIPPCS1INF"; getProc.MSG_TYPE = "INF"; getProc.MODULE_ID = module; getProc.FUNCTION_ID = function; getProc.PROCESS_STS = 0; getProc.USER_ID = "SYSTEM"; PID = CommonDBHelper.Instance.CreateLogDetail(getProc); int totalSuccess = 0; string val = sysValue(); string fileSys = GetFileName(); string fileName; //string fileSys = "ADM_Interface"; String[] listfile = Directory.GetFiles(val); fileName = listfile[0].Substring(8, 13); if (fileName != fileSys) { getProc.MSG_TXT = "Failed to get file in the directory"; getProc.LOCATION = loc; getProc.PID = PID; getProc.MSG_ID = "ADMIPPCS1INF"; getProc.MSG_TYPE = "ERR"; getProc.MODULE_ID = module; getProc.FUNCTION_ID = function; getProc.PROCESS_STS = 0; getProc.USER_ID = "SYSTEM"; PID = CommonDBHelper.Instance.CreateLogDetail(getProc); return; } #endregion #region 2. Read File and Load Into Staging try { if (listfile != null) { Console.WriteLine("2. Read File and Load Into Staging"); getProc.MSG_TXT = "Read File and Load Into Staging Table"; getProc.LOCATION = loc; getProc.PID = PID; getProc.MSG_ID = "ADMIPPCS1INF"; getProc.MSG_TYPE = "INF"; getProc.MODULE_ID = module; getProc.FUNCTION_ID = function; getProc.PROCESS_STS = 0; getProc.USER_ID = "SYSTEM"; PID = CommonDBHelper.Instance.CreateLogDetail(getProc); #region Create Data Table DataTable table = new DataTable(); table.Columns.Add("WARP_BUYER_CD"); table.Columns.Add("SOURCE_DATA"); table.Columns.Add("DRAFT_DF"); table.Columns.Add("WARP_REF_NO"); table.Columns.Add("CPP_FLAG"); //table.Columns.Add("ID"); table.Columns.Add("CREATED_BY"); table.Columns.Add("CREATED_DT"); table.Columns.Add("MAT_NO"); table.Columns.Add("PROD_PURPOSE_CD"); table.Columns.Add("SOURCE_TYPE"); table.Columns.Add("SUPP_CD"); table.Columns.Add("PART_COLOR_SFX"); table.Columns.Add("PACKING_TYPE"); table.Columns.Add("PRICE_STATUS"); table.Columns.Add("PRICE_AMT"); table.Columns.Add("CURR_CD"); table.Columns.Add("VALID_DT_FR"); table.Columns.Add("VALID_DT_TO"); #endregion int FILE_NO = 1; foreach (var filename in listfile) { try { #region Read file's content and add into data table using (StreamReader reader = new StreamReader(filename)) { string RowData; string[] data; int SEQ = 1; while ((RowData = reader.ReadLine()) != null) { DataRow row = table.NewRow(); data = RowData.Split(new string[] { "\t" }, StringSplitOptions.None); row["WARP_BUYER_CD"] = ""; row["SOURCE_DATA"] = ""; row["DRAFT_DF"] = ""; row["WARP_REF_NO"] = ""; row["CPP_FLAG"] = "N"; //row["ID"] = ; row["CREATED_BY"] = "SYSTEM"; row["CREATED_DT"] = DateTime.Now; row["MAT_NO"] = data[0]; row["PROD_PURPOSE_CD"] = data[1]; row["SOURCE_TYPE"] = data[2]; row["SUPP_CD"] = data[3]; row["PART_COLOR_SFX"] = data[4]; row["PACKING_TYPE"] = data[5]; row["PRICE_STATUS"] = data[6]; row["PRICE_AMT"] = data[7]; row["CURR_CD"] = data[8]; row["VALID_DT_FR"] = data[9].Contains("-") ? data[9] : data[9].Insert(4, "-").Insert(7, "-"); row["VALID_DT_TO"] = data[10].Contains("-") ? data[10] : data[10].Insert(4, "-").Insert(7, "-"); table.Rows.Add(row); SEQ++; } totalSuccess = totalSuccess + 1; } #endregion } catch (Exception ex) { getProc.MSG_TXT = "Error Import Data From File " + filename; getProc.LOCATION = loc; getProc.PID = PID; getProc.MSG_ID = "ADMIPPCS1INF"; getProc.MSG_TYPE = "ERR"; getProc.MODULE_ID = module; getProc.FUNCTION_ID = function; getProc.PROCESS_STS = 0; getProc.USER_ID = "SYSTEM"; PID = CommonDBHelper.Instance.CreateLogDetail(getProc); MoveFileToArchieveFailed(); return; } FILE_NO++; } #region Save Temp Data into Database if (totalSuccess > 0) { string del = deleteStaging(); if (del != "SUCCESS") { throw new Exception(del); } else { string msg = SaveTemp(table); if (msg != "SUCCESS") { throw new Exception(msg); } } } #endregion } } catch (Exception ex) { Console.WriteLine("error"); getProc.MSG_TXT = "Error Import Data From File Price"; getProc.LOCATION = loc; getProc.PID = PID; getProc.MSG_ID = "ADMIPPCS1INF"; getProc.MSG_TYPE = "ERR"; getProc.MODULE_ID = module; getProc.FUNCTION_ID = function; getProc.PROCESS_STS = 0; getProc.USER_ID = "SYSTEM"; PID = CommonDBHelper.Instance.CreateLogDetail(getProc); MoveFileToArchieveFailed(); return; } #endregion } catch (Exception ex) { Console.WriteLine("error"); getProc.MSG_TXT = "Error Get file from receive folder"; getProc.LOCATION = loc; getProc.PID = PID; getProc.MSG_ID = "ADMIPPCS1INF"; getProc.MSG_TYPE = "ERR"; getProc.MODULE_ID = module; getProc.FUNCTION_ID = function; getProc.PROCESS_STS = 0; getProc.USER_ID = "SYSTEM"; PID = CommonDBHelper.Instance.CreateLogDetail(getProc); //MoveFileToArchieveFailed(); return; } repoResult = Operation(PID); if (repoResult.ErrMesgs[0].Equals(Common.VALUE_SUCCESS)) { MoveFileToArchieveSuccess(); } else { MoveFileToArchieveFailed(); } #region Move File After Operation #endregion }