|
@@ -87,15 +87,20 @@ namespace Bizgaze.CRM.Visitors.Managers
|
87
|
87
|
}
|
88
|
88
|
#endregion
|
89
|
89
|
#region Getting data By VisitorId
|
90
|
|
- public async Task<SelectResponse> GetVisitordataByIdAsync(SelectRequest request, long VisitorId)
|
|
90
|
+ public async Task<SelectResponse> GetVisitordataByIdAsync(SelectRequest request, long VisitorId)
|
91
|
91
|
{
|
92
|
92
|
var exp = request.Filter();
|
93
|
93
|
exp = exp & Unibase.Data.Expressions.Exp.Eq(Infos.Visitor.Property.VisitorId.ToString(), VisitorId);
|
94
|
94
|
request.Filter(exp);
|
95
|
|
- //var sql = "select c.cityname, e.contactname,* from bizgazecrm_visitors v inner join bizgazecrm_contacts e on e.contactid = v.employeeid inner join bizgazecrm_cities c on c.cityid = v.cityid where visitorid=" + VisitorId;
|
96
|
|
- var sql = "select d.visitorid,d.fullname,d.code,(d.checkindate|| ' & ' ||d.checkintime) as datetime,d.cityname,d.contactname,Case when d.purposeofvisit=1 then 'Interview' when d.purposeofvisit=2 then 'Official Meeting' when d.purposeofvisit=3 then 'Meeting an Employee' when d.purposeofvisit=4 then 'Package Delivery' when d.purposeofvisit=5 then 'Others' end as purposeofvisittype,d.photourl from (select v.visitorid,v.fullname,v.code,v.photourl, TO_CHAR(v.checkindate, 'DD/MM/YYYY') as checkindate, UPPER(TO_CHAR(v.checkindate, 'HH:MI:SS AM')) AS checkintime,v.purposeofvisit,c.cityname, e.contactname from bizgazecrm_visitors v inner join bizgazecrm_contacts e on e.contactid = v.employeeid inner join bizgazecrm_cities c on c.cityid = v.cityid)d where visitorid = " + VisitorId;
|
97
|
|
- var dt = await _dbContext.GetTableAsync(GetConnectionAsync(request), sql, Unibase.Data.Enums.InstructionType.Query, null);
|
98
|
|
- var tabledata = Unibase.Core.Helpers.JsonHelper.ToJson(dt);
|
|
95
|
+ var select = "select code from bizgazecrm_visitors where visitorid=" + VisitorId;
|
|
96
|
+ var dt = await _dbContext.GetTableAsync(GetConnectionAsync(request), select, Unibase.Data.Enums.InstructionType.Query, null);
|
|
97
|
+ var code = dt.Rows[0]["code"].ToString();
|
|
98
|
+ var select1 = "select visitorid from bizgazecrm_visitors where code='" + code + "' order by createddate desc";
|
|
99
|
+ var dt1 = await _dbContext.GetTableAsync(GetConnectionAsync(request), select1, Unibase.Data.Enums.InstructionType.Query, null);
|
|
100
|
+ var id = Convert.ToInt64(dt1.Rows[0]["visitorid"]);
|
|
101
|
+ var sql = "select d.fullname,d.code,(d.checkindate|| ' & ' ||d.checkintime) as datetime,d.cityname,d.contactname,Case when d.purposeofvisit=1 then 'Interview' when d.purposeofvisit=2 then 'Official Meeting' when d.purposeofvisit=3 then 'Meeting an Employee' when d.purposeofvisit=4 then 'Package Delivery' when d.purposeofvisit=5 then 'Others' end as purposeofvisittype,d.photourl from (select v.visitorid,v.fullname,v.code,v.photourl, TO_CHAR(v.checkindate, 'DD/MM/YYYY') as checkindate, UPPER(TO_CHAR(v.checkindate, 'HH:MI:SS AM')) AS checkintime,v.purposeofvisit,c.cityname, e.contactname from bizgazecrm_visitors v inner join bizgazecrm_contacts e on e.contactid = v.employeeid inner join bizgazecrm_cities c on c.cityid = v.cityid)d where visitorid = " + id;
|
|
102
|
+ var dt2 = await _dbContext.GetTableAsync(GetConnectionAsync(request), sql, Unibase.Data.Enums.InstructionType.Query, null);
|
|
103
|
+ var tabledata = Unibase.Core.Helpers.JsonHelper.ToJson(dt2);
|
99
|
104
|
string json = System.Text.Json.JsonSerializer.Serialize(tabledata);
|
100
|
105
|
return new SelectResponse() { Result = json };
|
101
|
106
|
}
|
|
@@ -119,6 +124,13 @@ namespace Bizgaze.CRM.Visitors.Managers
|
119
|
124
|
//var templateManager = //Unibase.Dependency.DependencyConfig.Resolve<Unibase.Platform.Templates.Managers.ITemplateManager>();
|
120
|
125
|
var _dbContext = DependencyConfig.Resolve<Unibase.Data.IDbContext>();
|
121
|
126
|
Unibase.Platform.Templates.Helpers.TemplateHelper helper = new Unibase.Platform.Templates.Helpers.TemplateHelper(_dbContext);
|
|
127
|
+ var visitordata = GetVisitordataByIdAsync(srequest, VisitorId);
|
|
128
|
+ var res = visitordata.Result;
|
|
129
|
+ var deserializeObj = System.Text.Json.JsonSerializer.Deserialize<List<Dictionary<string, object>>>(res.Result);
|
|
130
|
+ var city = deserializeObj[0]["cityname"].ToString();
|
|
131
|
+ var contactname = deserializeObj[0]["contactname"].ToString();
|
|
132
|
+ var purposeofvisit = deserializeObj[0]["purposeofvisittype"].ToString();
|
|
133
|
+ var date = deserializeObj[0]["datetime"];
|
122
|
134
|
var VisitorInfo_ = await GetVisitorByIdAsync(srequest, VisitorId);
|
123
|
135
|
if (VisitorInfo_.Result != null)
|
124
|
136
|
{
|
|
@@ -137,11 +149,11 @@ namespace Bizgaze.CRM.Visitors.Managers
|
137
|
149
|
}
|
138
|
150
|
if (template.Contains("{{cityname}}"))
|
139
|
151
|
{
|
140
|
|
- template = template.Replace("{{cityname}}", VisitorInfo_.Result.CityName);
|
|
152
|
+ template = template.Replace("{{cityname}}", city);
|
141
|
153
|
}
|
142
|
154
|
if (template.Contains("{{purposeofvisit}}"))
|
143
|
155
|
{
|
144
|
|
- template = template.Replace("{{purposeofvisit}}", VisitorInfo_.Result.PurposeOfVisitType);
|
|
156
|
+ template = template.Replace("{{purposeofvisit}}", purposeofvisit);
|
145
|
157
|
}
|
146
|
158
|
if (template.Contains("{{phonenumber}}"))
|
147
|
159
|
{
|
|
@@ -153,7 +165,7 @@ namespace Bizgaze.CRM.Visitors.Managers
|
153
|
165
|
}
|
154
|
166
|
if (template.Contains("{{createddate}}"))
|
155
|
167
|
{
|
156
|
|
- template = template.Replace("{{createddate}}", CreatedDate.ToString());
|
|
168
|
+ template = template.Replace("{{createddate}}", date.ToString());
|
157
|
169
|
}
|
158
|
170
|
if (template.Contains("{{photourl}}"))
|
159
|
171
|
{
|
|
@@ -161,7 +173,7 @@ namespace Bizgaze.CRM.Visitors.Managers
|
161
|
173
|
}
|
162
|
174
|
if (template.Contains("{{HostName}}"))
|
163
|
175
|
{
|
164
|
|
- template = template.Replace("{{HostName}}", VisitorInfo_.Result.HostName);
|
|
176
|
+ template = template.Replace("{{HostName}}", contactname);
|
165
|
177
|
}
|
166
|
178
|
if (template.Contains("{{imageurl}}"))
|
167
|
179
|
{
|