Procházet zdrojové kódy

UpdateVisitorBeenHerePreAction.cs Changes

allauddin před 2 roky
rodič
revize
6a2b43af73

+ 81
- 13
CRM.Visitors/ActionProviders/UpdateVisitorBeenHerePreAction.cs Zobrazit soubor

@@ -1,4 +1,5 @@
1 1
 using Bizgaze.CRM;
2
+using Bizgaze.CRM.Visitors.Infos;
2 3
 using Bizgaze.CRM.Visitors.Managers;
3 4
 using System;
4 5
 using System.Collections.Generic;
@@ -56,17 +57,12 @@ namespace Bizgaze.CRM.Visitors.ActionProviders
56 57
                 return (int)Unibase.Platform.Forms.Enums.FormActionProvider.PreAction;
57 58
             }
58 59
         }
59
-        //public ActionResponse<ExpandoObject> Execute(ActionRequest request, object IdValue, ExpandoObject obj, List<Unibase.Platform.Forms.Requests.DocParameter> docParametersList, ref long defaultPKValue)
60
-        //{
61
-        //    return null;
62
-
63
-        //}
64 60
         public async Task<ActionResponse<FormActionResponse>> ExecuteAsync(ActionRequest request, FormActionProviderObject providerObject)
65 61
         {
66 62
             var IdValue = providerObject.IdValue;
67 63
             var srequest = SelectRequest.FromRequest(request);
68 64
             var obj = providerObject.RequestObject;
69
-            var returnresponse = new FormActionResponse();           
65
+            var returnresponse = new FormActionResponse();
70 66
             var defaultPKValue = providerObject.DefaultPKValue;
71 67
             var stageManager = Unibase.Dependency.DependencyConfig.Resolve<IStageManager>();
72 68
             var visitorManager = Unibase.Dependency.DependencyConfig.Resolve<Bizgaze.CRM.Visitors.Managers.IVisitorManager>();
@@ -77,6 +73,7 @@ namespace Bizgaze.CRM.Visitors.ActionProviders
77 73
             var stageStatusName = "";
78 74
             if (visitorsinfo.Result != null)
79 75
             {
76
+
80 77
                 stageStatusName = "CheckIn";
81 78
                 visitorid = visitorsinfo.Result.VisitorId;
82 79
                 dictObj["visitorid"] = visitorid;
@@ -85,20 +82,91 @@ namespace Bizgaze.CRM.Visitors.ActionProviders
85 82
                 var installedAppId = visitorsinfo.Result.Installedappid;
86 83
                 var stage = await stageManager.GetStageByStageStatusAsync(srequest, installedAppId, stageStatusName);
87 84
                 var NewStageId = stage.Result.StageId;
88
-                var UpdateStage = new Update("bizgazecrm_visitors").Value("stageid", NewStageId).Value("lastupdateddate", DateTime.Now).Where(Exp.Eq("visitorId", visitorid));
85
+                var UpdateStage = new Update("bizgazecrm_visitors").Value("stageid", NewStageId).Where(Exp.Eq("visitorId", visitorid));
89 86
                 await _repository.ExecuteAsync(request, UpdateStage);
90
-            } 
87
+                var fullname = visitorsinfo.Result.FullName;
88
+                var sql = "select userid from unibasecmn_users where username='" + fullname + "'";
89
+                var select = new Unibase.Data.Sql.Select("unibasecmn_users").AllColumns().Where("username", fullname);
90
+                var parameters = new List<Unibase.Data.Parameter>();
91
+                parameters.Add(new Unibase.Data.Parameter("@username", fullname));
92
+                var dt = await GetDataTableAsync(srequest, select, parameters);
93
+                var contactid = dt.Rows[0]["userid"];
94
+                var vistoroptions = new EntityOptions()
95
+                {
96
+                    IsIdentity = true,
97
+                    IsNewEntity = true,
98
+                    TableName = "bizgazecrm_visitors",
99
+                    PkColumn = "visitorid",
100
+                    IsExcludeFromAudit = false,
101
+                    Id = 0,
102
+                };
103
+                dynamic visitor = new Dictionary<string, object>();
104
+                visitor.Add("createdby", srequest.Identity.UserId);
105
+                visitor.Add("createddate", DateTime.Now);
106
+                visitor.Add("statusid", visitorsinfo.Result.StatusId);
107
+                visitor.Add("alternatenumber", visitorsinfo.Result.AlternateNumber);
108
+                visitor.Add("organizationname", visitorsinfo.Result.OrganizationName);
109
+                visitor.Add("checkindate", DateTime.Now);
110
+                visitor.Add("contactid", contactid);
111
+                visitor.Add("code", visitorsinfo.Result.Code);
112
+                visitor.Add("agreement", visitorsinfo.Result.Agreement);
113
+                visitor.Add("employeeid", visitorsinfo.Result.EmployeeId);
114
+                visitor.Add("seriesid", visitorsinfo.Result.SeriesId);
115
+                visitor.Add("stageid", visitorsinfo.Result.StageId);
116
+                visitor.Add("tenantid", visitorsinfo.Result.TenantId);
117
+                visitor.Add("lastupdateddate", DateTime.Now);
118
+                visitor.Add("installedappid", visitorsinfo.Result.Installedappid);
119
+                visitor.Add("fullname", visitorsinfo.Result.FullName);
120
+                visitor.Add("futureinvitation", visitorsinfo.Result.FutureInvitation);
121
+                visitor.Add("comingfrom", visitorsinfo.Result.ComingFrom);
122
+                visitor.Add("purposeofvisit", visitorsinfo.Result.PurposeOfVisit);
123
+                visitor.Add("title", visitorsinfo.Result.Title);
124
+                var response = await _repository.SaveAsync(request, vistoroptions, visitor);
125
+                if (response.Status == ResponseStatus.Error)
126
+                {
127
+                    return ActionResponse<FormActionResponse>.CreateErrorResponse("1", "Visitor Check Out Data Not Saved");
128
+                }
129
+                var _visitorId = Convert.ToInt64(response.Result["_Id"].ToString());
130
+                // Int64 _visitorId = Convert.ToInt64(response.Result["_Id"]);
131
+                var vistoroptions1 = new EntityOptions()
132
+                {
133
+                    IsIdentity = true,
134
+                    IsNewEntity = true,
135
+                    TableName = "bizgazecrm_visitorcheckout",
136
+                    PkColumn = "visitorcheckoutid",
137
+                    IsExcludeFromAudit = false,
138
+                    Id = 0,
139
+                };
140
+                dynamic visitor1 = new Dictionary<string, object>();
141
+                visitor1.Add("createdby", srequest.Identity.UserId);
142
+                visitor1.Add("visitorid", _visitorId);
143
+                visitor1.Add("checkindate", visitorsinfo.Result.CheckInDate);
144
+                visitor1.Add("tenantid", visitorsinfo.Result.TenantId);
145
+                visitor1.Add("comments", "");
146
+                visitor1.Add("checkoutdate", DateTime.MinValue);
147
+                visitor1.Add("rating", 0);
148
+                visitor1.Add("versionguid", Guid.NewGuid());
149
+                visitor1.Add("uniqueid", visitorsinfo.Result.Code);
150
+                visitor1.Add("statusid", (int)RowStatus.Active);
151
+                visitor1.Add("installedappid", visitorsinfo.Result.Installedappid);
152
+                visitor1.Add("lastupdateddate", DateTime.Now);
153
+                var response1 = await _repository.SaveAsync(request, vistoroptions1, visitor1);
154
+                if (response1.Status == ResponseStatus.Error)
155
+                {
156
+
157
+                    return ActionResponse<FormActionResponse>.CreateErrorResponse("1", "Visitor Check Out Data Not Saved");
158
+                }
159
+
160
+            }
91 161
             else
92 162
             {
93 163
                 return ActionResponse<FormActionResponse>.CreateErrorResponse("1", "visitor  Not Found");
94 164
             }
95 165
             var updateValues = new Dictionary<string, object>();
96
-            updateValues.Add("agreement", true);
97
-            updateValues.Add("checkindate", DateTime.Now);
98
-            var updateQry = new Update("bizgazecrm_visitors").Values(updateValues).Where(Exp.Eq("visitorid", visitorid));
166
+            var updateQry = new Update("bizgazecrm_visitors").Value("agreement", true).Value("lastupdateddate", DateTime.Now).Where(Exp.Eq("visitorid", visitorid));
99 167
             var ds = await _repository.ExecuteAsync(request, updateQry);
100
-            var UpdateCheckoutDate = new Update("bizgazecrm_visitorcheckout").Value("checkoutdate", DateTime.MinValue).Where(Exp.Eq("visitorId", visitorid));
101
-            await _repository.ExecuteAsync(request, UpdateCheckoutDate);
168
+            // var UpdateCheckoutDate = new Update("bizgazecrm_visitorcheckout").Value("checkoutdate", DateTime.MinValue).Where(Exp.Eq("visitorId", visitorid));
169
+            //await _repository.ExecuteAsync(request, UpdateCheckoutDate);
102 170
             returnresponse.Obj = dictObj as ExpandoObject;
103 171
             returnresponse.PkValue = defaultPKValue;
104 172
             return ActionResponse<FormActionResponse>.CreateSuccessResponse("success", returnresponse);

Loading…
Zrušit
Uložit