/// <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()));
        }