/// <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())); }
public ActionResult Index() { #region Old INA Campaign Procedures //var campaignIna = (from c in _db.Campaigns // where c.CampaignId == 1 // select c).First(); //var opportunities = (from o in _db.Opportunities // where o.RelatedCampaignId == 1 // select o); //var leads = (from l in _db.Leads // where l.RelatedCampaignId == 1 // select l); //var countModel = new GeneralCampaignStatusViewModelCount //{ // NumberOfOpportunitiesCreated = opportunities.Count(), // NumberOfOpportunitiesInProgress = opportunities.Count(o => o.OpportunityStatus == Opportunity.OpportunityStatusEnum.Start || o.OpportunityStatus == Opportunity.OpportunityStatusEnum.Arrangemeeting || o.OpportunityStatus == Opportunity.OpportunityStatusEnum.Incontact || o.OpportunityStatus == Opportunity.OpportunityStatusEnum.Processdifficulties), // NumberOfOpportunitiesUser = opportunities.Count(o => o.OpportunityStatus == Opportunity.OpportunityStatusEnum.Meruser), // NumberOfOpportunitiesToLead = opportunities.Count(o => o.OpportunityStatus == Opportunity.OpportunityStatusEnum.Lead), // NumberOfOpportunitiesRejected = opportunities.Count(o => o.OpportunityStatus == Opportunity.OpportunityStatusEnum.Rejected), // NumberOfLeadsCreated = leads.Count(), // NumberOfLeadsInProgress = leads.Count(l => l.LeadStatus == Lead.LeadStatusEnum.Incontact || l.LeadStatus == Lead.LeadStatusEnum.Meeting || l.LeadStatus == Lead.LeadStatusEnum.Start), // NumberOfLeadsMeetings = leads.Count(l => l.LeadStatus == Lead.LeadStatusEnum.Meeting), // NumberOfLeadsQuotes = leads.Count(l => l.LeadStatus == Lead.LeadStatusEnum.Quotesent), // NumberOfLeadsRejected = leads.Count(l => l.LeadStatus == Lead.LeadStatusEnum.Rejected), // NumberOfLeadsAccepted = leads.Count(l => l.LeadStatus == Lead.LeadStatusEnum.Accepted) //}; //var modelIna = new GeneralCampaignStatusViewModel //{ // RelatedCampaignId = 6, // RelatedCampaignName = campaignIna.CampaignName, // NumberOfOpportunitiesCreated = countModel.NumberOfOpportunitiesCreated, // NumberOfOpportunitiesInProgress = countModel.NumberOfOpportunitiesInProgress, // NumberOfOpportunitiesInProgressPercent = Math.Round(((countModel.NumberOfOpportunitiesInProgress / (decimal)countModel.NumberOfOpportunitiesCreated) * 100), 2), // NumberOfOpportunitesUser = countModel.NumberOfOpportunitiesUser, // NumberOfOpportunitiesUserPercent = Math.Round(((countModel.NumberOfOpportunitiesUser / (decimal)countModel.NumberOfOpportunitiesCreated) * 100), 2), // NumberOfOpportunitiesToLead = countModel.NumberOfOpportunitiesToLead, // NumberOfOpportunitiesToLeadPercent = Math.Round(((countModel.NumberOfOpportunitiesToLead / (decimal)countModel.NumberOfOpportunitiesCreated) * 100), 2), // NumberOfOpportunitiesRejected = countModel.NumberOfOpportunitiesRejected, // NumberOfOpportunitiesRejectedPercent = Math.Round(((countModel.NumberOfOpportunitiesRejected / (decimal)countModel.NumberOfOpportunitiesCreated) * 100), 2), // NumberOfLeadsCreated = countModel.NumberOfLeadsCreated, // NumberOfLeadsInProgress = countModel.NumberOfLeadsInProgress, // NumberOfLeadsInProgressPercent = Math.Round(((countModel.NumberOfLeadsInProgress / (decimal)countModel.NumberOfLeadsCreated) * 100), 2), // NumberOfLeadsMeetings = countModel.NumberOfLeadsMeetings, // NumberOfLeadsMeetingsPercent = Math.Round(((countModel.NumberOfLeadsMeetings / (decimal)countModel.NumberOfLeadsCreated) * 100), 2), // NumberOfLeadsQuotes = countModel.NumberOfLeadsQuotes, // NumberOfLeadsQuotesPercent = Math.Round(((countModel.NumberOfLeadsQuotes / (decimal)countModel.NumberOfLeadsCreated) * 100), 2), // NumberOfLeadsRejected = countModel.NumberOfLeadsRejected, // NumberOfLeadsRejectedPercent = Math.Round(((countModel.NumberOfLeadsRejected / (decimal)countModel.NumberOfLeadsCreated) * 100), 2), // NumberOfLeadsAccepted = countModel.NumberOfLeadsAccepted, // NumberOfLeadsAcceptedPercent = Math.Round(((countModel.NumberOfLeadsAccepted / (decimal)countModel.NumberOfLeadsCreated) * 100), 2) //}; #endregion //var campaignsModel = new EmailBasesCampaignStatsViewModel(); var campaignMemberModel = new CampaignMember(); var agentActivities = new CallCenterDailyStatsViewModel(); var croatiaBizService = new CroatiaBizService(); var yesterday = DateTime.Today.AddDays(-1); var model = new HomeViewModel { //INACampaign = modelIna, //Campaigns = campaignsModel.GetModels(), CampaignMembers = campaignMemberModel.GetCamapigns(User.Identity.Name), AgentActivities = agentActivities.GetActivitiesForDashboard(), CroatiaBizInfo = croatiaBizService.Limit(), SystemLogs = _db.ActivityLogs.Where(l => l.ActivityType == ActivityLog.ActivityTypeEnum.System && l.InsertDate >= yesterday) }; return(View(model)); }