Pārlūkot izejas kodu

First Time commit

Narmada 2 gadus atpakaļ
vecāks
revīzija
ffeb131b03
1 mainītis faili ar 118 papildinājumiem un 0 dzēšanām
  1. 118
    0
      CRM.Visitors/ActionProviders/CheckoutPreActionProvider.cs

+ 118
- 0
CRM.Visitors/ActionProviders/CheckoutPreActionProvider.cs Parādīt failu

@@ -0,0 +1,118 @@
1
+using System;
2
+using System.Collections.Generic;
3
+using System.Text.Json;
4
+using System.Threading.Tasks;
5
+using Unibase.Data.Expressions;
6
+using Unibase.Data.Sql;
7
+using Unibase.Platform.Apps.Managers;
8
+using Unibase.Platform.Data;
9
+using Unibase.Platform.Forms.Providers;
10
+using Unibase.Platform.Keys;
11
+
12
+namespace CRM.Visitors.ActionProviders
13
+{
14
+    public class UpdateCheckoutPreAction : BaseFormActionProvider, IFormActionProvider
15
+    {
16
+        public string ControllerClass
17
+        {
18
+            get
19
+            {
20
+                return "Bizgaze.CRM.Visitors.ActionProviders.UpdateCheckoutPreAction";
21
+
22
+            }
23
+        }
24
+        public string FormActionName
25
+        {
26
+            get
27
+            {
28
+                return "UpdateCheckoutPreAction";
29
+            }
30
+        }
31
+        public string Description
32
+        {
33
+            get
34
+            {
35
+                return "Update Checkout PreAction";
36
+            }
37
+        }
38
+        public UniqueKey UniqueId
39
+        {
40
+            get
41
+            {
42
+                return Bizgaze.CRM.Actions.UpdateCheckoutPreAction;
43
+            }
44
+        }
45
+        public int ActionType
46
+        {
47
+            get
48
+            {
49
+                return (int)Unibase.Platform.Forms.Enums.FormActionProvider.PreAction;
50
+            }
51
+        }
52
+
53
+        public async Task<ActionResponse<FormActionResponse>> ExecuteAsync(ActionRequest srequest, FormActionProviderObject providerObject)
54
+        {
55
+
56
+            using (var requestTrans = await srequest.BeginTransactionAsync())
57
+            {
58
+                var IdValue = providerObject.IdValue;
59
+                var arequest = SelectRequest.FromRequest(srequest);
60
+                var obj = providerObject.RequestObject;
61
+                var returnresponse = new FormActionResponse();
62
+                var defaultPKValue = providerObject.DefaultPKValue;
63
+                var stageManager = Unibase.Dependency.DependencyConfig.Resolve<IStageManager>();
64
+                dynamic visitorparam = new Dictionary<string, object>();
65
+                var dictObj = obj as IDictionary<string, dynamic>;
66
+                var connection = GetConnection(srequest);
67
+                var req = dictObj as IDictionary<string, object>;
68
+                var code = Convert.ChangeType(dictObj["uniqueid"].ToString(), typeof(string));
69
+                var select = new Unibase.Data.Sql.Select("bizgazecrm_visitors").AllColumns().Where("code", code);
70
+                var parameters = new List<Unibase.Data.Parameter>();
71
+                parameters.Add(new Unibase.Data.Parameter("@code", code));
72
+                var dt = await GetDataTableAsync(arequest, select, parameters);
73
+                if (dt.Rows.Count > 0)
74
+                {
75
+                    var visitorManager = Unibase.Dependency.DependencyConfig.Resolve<Bizgaze.CRM.Visitors.Managers.IVisitorManager>();
76
+                    var visitorid = dt.Rows[0]["visitorid"];
77
+                    var tenantId = dt.Rows[0]["tenantid"];
78
+                    var feedBackJson = Convert.ChangeType(req["feedbackrating"].ToString(), typeof(object)).ToString();
79
+                    var feedBackObj = JsonSerializer.Deserialize<CRM.Visitors.Request.VisitorRequest>(feedBackJson);
80
+                    var comments = feedBackObj.Comments;
81
+                    var rating = feedBackObj.Rating;
82
+                    var updateValues = new Dictionary<string, object>();
83
+                    updateValues.Add("checkoutdate", DateTime.Now);
84
+                    updateValues.Add("createddate", DateTime.Now);
85
+                    updateValues.Add("uniqueid", code);
86
+                    updateValues.Add("comments", comments.ToString());
87
+                    updateValues.Add("rating", Convert.ToInt32(rating));
88
+                    var updateQry = new Update("bizgazecrm_visitorcheckout").Values(updateValues).Where(Exp.Eq("visitorid", visitorid));
89
+                    var dm = await _repository.ExecuteAsync(srequest, updateQry);
90
+                    var visitorInfo = await visitorManager.GetpreVisitorsAsync(arequest, code);
91
+                    var stageStatusName = "CheckOut";
92
+                    var installedAppId = Convert.ToInt64(visitorInfo.Result.Installedappid);
93
+                    var stage = await stageManager.GetStageByStageStatusAsync(arequest, installedAppId, stageStatusName);
94
+                    var NewStageId = stage.Result.StageId;
95
+                    var UpdateStage = new Update("bizgazecrm_visitors").Value("stageid", NewStageId).Where(Exp.Eq("visitorId", visitorid));
96
+                    await _repository.ExecuteAsync(srequest, UpdateStage);
97
+                }
98
+                returnresponse = new FormActionResponse();
99
+                returnresponse.Obj = null;
100
+                returnresponse.PkValue = 0;
101
+                return ActionResponse<FormActionResponse>.CreateSuccessResponse("success", returnresponse);
102
+            }
103
+        }
104
+        public List<UniqueKey> AppliedApps
105
+        {
106
+            get
107
+            {
108
+                return new List<UniqueKey>() {
109
+                    Bizgaze.CRM.Actions.UpdateCheckoutPreAction
110
+            };
111
+            }
112
+        }
113
+
114
+    }
115
+}
116
+
117
+
118
+

Notiek ielāde…
Atcelt
Saglabāt