/// <summary> /// Helper method for syncing the information with 3rd party service /// </summary> /// <param name="merId">Organization MerId</param> public void SyncOrganizationInformation(int merId) { var organization = _db.Organizations.First(o => o.MerId == merId); OrganizationSyncedInfo.SyncServiceEnum serviceId; try { if (App.Country == "Croatia") { var service = new CroatiaBizService(); serviceId = OrganizationSyncedInfo.SyncServiceEnum.CroatiaBiz; var syncedInfo = service.Oib(organization.VAT); if (organization.OrganizationSyncedInfo == null) { _db.OrganizationSyncedInfos.Add(new OrganizationSyncedInfo { MerId = merId, SyncedSubjectName = syncedInfo.data.subject, OrganizationLegalNumber = syncedInfo.data.mb, SyncedAddress = syncedInfo.data.address, SyncedPostalCode = !string.IsNullOrEmpty(syncedInfo.data.zip) ? int.Parse(syncedInfo.data.zip) : 0, SyncedCity = syncedInfo.data.city, OrganizationBusinessTypeCode = syncedInfo.data.nkd_key, OrganizationBusinessTypeName = syncedInfo.data.nkd_name, Active = syncedInfo.data.active, ServiceId = serviceId, InsertDate = DateTime.Now, UpdateDate = DateTime.Now }); _db.SaveChanges(); organization.SubjectName = syncedInfo.data.subject; organization.OrganizationDetail.MainAddress = syncedInfo.data.address; organization.OrganizationDetail.MainPostalCode = !string.IsNullOrEmpty(syncedInfo.data.zip) ? int.Parse(syncedInfo.data.zip) : 0; organization.OrganizationDetail.MainCity = syncedInfo.data.city; organization.UpdateDate = DateTime.Now; _db.SaveChanges(); } else { organization.SubjectName = syncedInfo.data.subject; organization.OrganizationDetail.MainAddress = syncedInfo.data.address; organization.OrganizationDetail.MainPostalCode = !string.IsNullOrEmpty(syncedInfo.data.zip) ? int.Parse(syncedInfo.data.zip) : 0; organization.OrganizationDetail.MainCity = syncedInfo.data.city; organization.UpdateDate = DateTime.Now; _db.SaveChanges(); } } } catch (JsonSerializationException jse) { _helper.LogError(@"Organizations - SyncOrganizationData", "OrganizationId: " + merId, @"Prilikom sinkronizacije podataka tvrtke s vanjskim servisom, javila se sljedeća greška: " + jse.Message, string.Empty, string.Empty, string.Empty); } }
/// <summary> /// Method for syncing the information with 3rd party service /// </summary> /// <param name="merId"></param> /// <returns></returns> public ActionResult SyncOrganizationData(int merId) { var organization = _db.Organizations.First(o => o.MerId == merId); OrganizationSyncedInfo.SyncServiceEnum serviceId; try { if (App.Country == "Croatia") { var service = new CroatiaBizService(); serviceId = OrganizationSyncedInfo.SyncServiceEnum.CroatiaBiz; var syncedInfo = service.Oib(organization.VAT); _db.OrganizationSyncedInfos.Add(new OrganizationSyncedInfo { MerId = merId, SyncedSubjectName = syncedInfo.data.subject, OrganizationLegalNumber = syncedInfo.data.mb, SyncedAddress = syncedInfo.data.address, SyncedPostalCode = int.Parse(syncedInfo.data.zip), SyncedCity = syncedInfo.data.city, OrganizationBusinessTypeCode = syncedInfo.data.nkd_key, OrganizationBusinessTypeName = syncedInfo.data.nkd_name, Active = syncedInfo.data.active, ServiceId = serviceId, InsertDate = DateTime.Now, UpdateDate = DateTime.Now }); _db.SaveChanges(); } } catch (JsonSerializationException jse) { _helper.LogError(@"Organizations - SyncOrganizationData", "OrganizationId: " + merId, @"Prilikom sinkronizacije podataka tvrtke s vanjskim servisom, javila se sljedeća greška: " + jse.Message, string.Empty, string.Empty, User.Identity.Name); var errorModel = new ErrorModelHelper() { ErrorTitle = @"Greška prilikom sinkronizacije", ErrorDescription = @"Prilikom sinkronizacije podataka tvrtke s vanjskim servisom, javila se sljedeća greška: " + jse.Message, ErrorArguments = @"ID subjekta: " + merId + ", VAT: " + organization.VAT, ErrorException = jse, ErrorSuggestedSolution = @"Provjerite pokušavate li sinkronizirati podatke za aktivnu tvrtku!" }; return(View("ErrorNew", errorModel)); } return(Redirect(Request.UrlReferrer?.ToString())); }