// GET: Organizations/UpdateOrganizations public void UpdateOrganizations() { var Credentials = (from u in _db.Users where u.UserName == User.Identity.Name select new { MerUser = u.MerUserUsername, MerPass = u.MerUserPassword }).First(); var Organizations = from o in _db.Organizations select o; foreach (var Organization in Organizations) { MerApiGetSubjekt Request = new MerApiGetSubjekt() { Id = Credentials.MerUser, Pass = Credentials.MerPass, Oib = "99999999927", PJ = "", SoftwareId = "MojCRM-001", SubjektPJ = Organization.MerId.ToString() }; string MerRequest = JsonConvert.SerializeObject(Request); using (var Mer = new WebClient() { Encoding = Encoding.UTF8 }) { Mer.Headers.Add(HttpRequestHeader.ContentType, "application/json"); Mer.Headers.Add(HttpRequestHeader.AcceptCharset, "utf-8"); var _Response = Mer.UploadString(new Uri(@"https://www.moj-eracun.hr/apis/v21/getSubjektData").ToString(), "POST", MerRequest); _Response = _Response.Replace("[", "").Replace("]", ""); MerGetSubjektDataResponse Result = JsonConvert.DeserializeObject <MerGetSubjektDataResponse>(_Response); string postalCode = Result.Mjesto.Substring(0, 5).Trim(); string mainCity = Result.Mjesto.Substring(6).Trim(); Organization.SubjectName = Result.Naziv; Organization.FirstReceived = Result.FirstReceived; Organization.FirstSent = Result.FirstSent; Organization.ServiceProvider = (Organizations.ServiceProviderEnum)Result.ServiceProviderId; Organization.UpdateDate = DateTime.Now; Organization.LastUpdatedBy = User.Identity.Name; Organization.MerUpdateDate = DateTime.Now; Organization.OrganizationDetail.MainAddress = Result.Adresa; Organization.OrganizationDetail.MainPostalCode = Int32.Parse(postalCode); Organization.OrganizationDetail.MainCity = mainCity; Organization.MerDeliveryDetail.TotalSent = Result.TotalSent; Organization.MerDeliveryDetail.TotalReceived = Result.TotalReceived; } } _db.SaveChanges(); }
// GET: Organization/UpdateOrganization/1 public ActionResult UpdateOrganization(int merId) { var credentials = (from u in _db.Users where u.UserName == User.Identity.Name select new { MerUser = u.MerUserUsername, MerPass = u.MerUserPassword }).First(); var organization = _db.Organizations.Find(merId); using (var mer = new WebClient() { Encoding = Encoding.UTF8 }) { MerApiGetSubjekt request = new MerApiGetSubjekt() { Id = credentials.MerUser, Pass = credentials.MerPass, Oib = "99999999927", PJ = "", SoftwareId = "MojCRM-001", SubjektPJ = organization.MerId.ToString() }; string merRequest = JsonConvert.SerializeObject(request); mer.Headers.Add(HttpRequestHeader.ContentType, "application/json"); mer.Headers.Add(HttpRequestHeader.AcceptCharset, "utf-8"); var response = mer.UploadString(new Uri(@"https://www.moj-eracun.hr/apis/v21/getSubjektData").ToString(), "POST", merRequest); response = response.Replace("[", "").Replace("]", ""); MerGetSubjektDataResponse result = JsonConvert.DeserializeObject <MerGetSubjektDataResponse>(response); string postalCode = String.Empty; string mainCity = String.Empty; if (organization.OrganizationDetail.MainCountry == OrganizationDetail.CountryIdentificationCodeEnum.Hr) { postalCode = result.Mjesto.Substring(0, 5).Trim(); mainCity = result.Mjesto.Substring(6).Trim(); } else { postalCode = "00000"; mainCity = result.Mjesto; } organization.SubjectName = result.Naziv; organization.FirstReceived = result.FirstReceived; organization.FirstSent = result.FirstSent; organization.ServiceProvider = (Organizations.ServiceProviderEnum)result.ServiceProviderId; organization.UpdateDate = DateTime.Now; organization.LastUpdatedBy = User.Identity.Name; organization.MerUpdateDate = DateTime.Now; organization.OrganizationDetail.MainAddress = result.Adresa; organization.OrganizationDetail.MainPostalCode = Int32.Parse(postalCode); organization.OrganizationDetail.MainCity = mainCity; organization.MerDeliveryDetail.TotalSent = result.TotalSent; organization.MerDeliveryDetail.TotalReceived = result.TotalReceived; _db.ActivityLogs.Add(new ActivityLog() { ActivityType = ActivityLog.ActivityTypeEnum.Organizationupdate, Department = ActivityLog.DepartmentEnum.MojCrm, InsertDate = DateTime.Now, IsSuspiciousActivity = false, Module = ActivityLog.ModuleEnum.Organizations, ReferenceId = merId, User = User.Identity.Name, Description = @"Korisnik " + User.Identity.Name + " je izvršio sinkronizaciju podataka tvrtke s Moj-eRačuna. Stari podaci su: Naziv tvrtke: " + organization.SubjectName + ", Adresa: " + organization.OrganizationDetail.MainAddress + ", Poštanski broj: " + organization.OrganizationDetail.MainPostalCode + ", Grad: " + organization.OrganizationDetail.MainCity + "." }); } _db.SaveChanges(); return(Redirect(Request.UrlReferrer.ToString())); }
// GET: Organizations/GetOrganizations public JsonResult GetOrganizations(Guid user) { var credentials = new { MerUser = "", MerPass = "" }; if (String.IsNullOrEmpty(user.ToString())) { credentials = (from u in _db.Users where u.UserName == User.Identity.Name select new { MerUser = u.MerUserUsername, MerPass = u.MerUserPassword }).First(); } else { credentials = (from u in _db.Users where u.Id == user.ToString() select new { MerUser = u.MerUserUsername, MerPass = u.MerUserPassword }).First(); } var referencedId = (from o in _db.Organizations orderby o.MerId descending select o.MerId).First(); int createdCompanies = 0; var Response = new MerGetSubjektDataResponse() { Id = 238, Naziv = "Test Klising d.o.o." }; referencedId++; try { while (Response != null) { MerApiGetSubjekt request = new MerApiGetSubjekt() { Id = credentials.MerUser, Pass = credentials.MerPass, Oib = "99999999927", PJ = "", SoftwareId = "MojCRM-001", SubjektPJ = referencedId.ToString() }; string merRequest = JsonConvert.SerializeObject(request); using (var mer = new WebClient() { Encoding = Encoding.UTF8 }) { mer.Headers.Add(HttpRequestHeader.ContentType, "application/json"); mer.Headers.Add(HttpRequestHeader.AcceptCharset, "utf-8"); var _Response = mer.UploadString(new Uri(@"https://www.moj-eracun.hr/apis/v21/getSubjektData").ToString(), "POST", merRequest); _Response = _Response.Replace("[", "").Replace("]", ""); MerGetSubjektDataResponse result = JsonConvert.DeserializeObject <MerGetSubjektDataResponse>(_Response); if (result == null) { break; } else { _db.Organizations.Add(new Organizations { MerId = result.Id, SubjectName = result.Naziv, SubjectBusinessUnit = result.PoslovnaJedinica, VAT = result.Oib, FirstReceived = result.FirstReceived, FirstSent = result.FirstSent, ServiceProvider = (Organizations.ServiceProviderEnum)result.ServiceProviderId, InsertDate = DateTime.Now }); _db.MerDeliveryDetails.Add(new MerDeliveryDetails { MerId = result.Id, TotalSent = result.TotalSent, TotalReceived = result.TotalReceived, AcquiredReceivingInformation = string.Empty }); _db.OrganizationDetails.Add(new OrganizationDetail { MerId = result.Id, MainAddress = result.Adresa, MainPostalCode = Int32.Parse(result.Mjesto.Substring(0, 5).Trim()), MainCity = result.Mjesto.Substring(6).Trim(), OrganizationGroup = OrganizationGroupEnum.Nema }); _db.SaveChanges(); } } referencedId++; createdCompanies++; } } catch (NullReferenceException e) { _db.LogError.Add(new LogError { Method = @"Organizations - GetOrganizations", Parameters = referencedId.ToString(), Message = @"Greška kod preuzimanja podataka o tvrtki", InnerException = e.InnerException?.ToString(), Request = e.Source, User = User.Identity.Name, InsertDate = DateTime.Now }); _db.SaveChanges(); } return(Json(new { Status = "OK", CreatedCompanies = createdCompanies }, JsonRequestBehavior.AllowGet)); }