소스 검색

add stage

Narmada 2 년 전
부모
커밋
d2419eaf62
1개의 변경된 파일34개의 추가작업 그리고 13개의 파일을 삭제
  1. 34
    13
      CRM.Visitors/ActionProviders/UpdateVisitorBeenHerePreAction.cs

+ 34
- 13
CRM.Visitors/ActionProviders/UpdateVisitorBeenHerePreAction.cs 파일 보기

66
             var IdValue = providerObject.IdValue;
66
             var IdValue = providerObject.IdValue;
67
             var srequest = SelectRequest.FromRequest(request);
67
             var srequest = SelectRequest.FromRequest(request);
68
             var obj = providerObject.RequestObject;
68
             var obj = providerObject.RequestObject;
69
-            var docParametersList = providerObject.DocParametersList;
69
+            var returnresponse = new FormActionResponse();
70
+           // var docParametersList = providerObject.DocParametersList;
70
             var defaultPKValue = providerObject.DefaultPKValue;
71
             var defaultPKValue = providerObject.DefaultPKValue;
71
             var stageManager = Unibase.Dependency.DependencyConfig.Resolve<IStageManager>();
72
             var stageManager = Unibase.Dependency.DependencyConfig.Resolve<IStageManager>();
72
             var dictObj = obj as IDictionary<string, dynamic>;
73
             var dictObj = obj as IDictionary<string, dynamic>;
73
-            dynamic Visitorid = Convert.ChangeType(dictObj["mobilenumber"].ToString(), Type.GetType("System.Int64"));  
74
-           var updateValues = new Dictionary<string, object>();
75
-           updateValues.Add("agreement", true);
76
-           var updateQry = new Update("bizgazecrm_visitors").Values(updateValues).Where(Exp.Eq("visitorid", Visitorid));
77
-            var ds = await _repository.ExecuteAsync(request, updateQry);
78
-            //visitorObj = JsonSerializer.Deserialize<List<Infos.Visitor>>(data);
79
-            //var visitorId= Convert.ToInt64(visitorObj[0].MobileNumber);
80
-            //var VisitorManager = DependencyConfig.Resolve<IVisitorManager>();
81
-            //var visitorsInfo = await VisitorManager.GetVisitorPrAsyncintId(Srequest, visitorId);
82
-            var returnresponse = new FormActionResponse();
83
-            returnresponse.Obj = null;
84
-            returnresponse.PkValue = defaultPKValue;
74
+            var MobileNumber = dictObj["mobilenumber"].ToString();
75
+            //var select = new Unibase.Data.Sql.Select().Columns("bizgazecrm_visitors.visitorid").From("bizgazecrm_visitors").Where("mobilenumber", MobileNumber);
76
+            //List<Parameter> param = new List<Parameter>();
77
+            //param.Add(new Parameter("@mobilenumber", MobileNumber));
78
+            //var Visitor = await GetDataTableAsync(srequest, select, param);
79
+            long visitorid = 0;
80
+            var sql = new Unibase.Data.Sql.Select("bizgazecrm_visitors").Columns("bizgazecrm_visitors.installedappid", "bizgazecrm_visitors.visitorid", "bizgazecrm_visitors.fullname", "bizgazecrm_visitors.mobilenumber", "bizgazecrm_visitors.emailid", "bizgazecrm_visitors.photourl", "unibase_stagestatus.stageStatusName", "unibase_stagestatus.RefStatusId").InnerJoin("unibase_stages", Exp.EqColumns("unibase_stages.stageid", "bizgazecrm_visitors.stageid")).InnerJoin("unibase_stagestatus", Exp.EqColumns("unibase_stagestatus.stagestatusid", "unibase_stages.stagestatusid")).Where("bizgazecrm_visitors.mobilenumber", MobileNumber);
81
+            List<Parameter> paramsql = new List<Parameter>();
82
+            paramsql.Add(new Parameter("@bizgazecrm_visitors.mobilenumber", MobileNumber));
83
+            var dt = await GetDataTableAsync(srequest, sql, paramsql);
84
+            var stageStatusName = "";
85
+            if (dt.Rows.Count > 0)
86
+            {
87
+                stageStatusName = "CheckIn";               
88
+                for (int i = 0; i < dt.Rows.Count; i++)
89
+                {
90
+                    visitorid = dt.Rows[i]["visitorid"];
91
+                    var installedAppId = Convert.ToInt64(dt.Rows[i]["installedAppId"]);
92
+                    var stage = await stageManager.GetStageByStageStatusAsync(srequest, installedAppId, stageStatusName);
93
+                    var NewStageId = stage.Result.StageId;
94
+                    var UpdateStage = new Update("bizgazecrm_visitors").Value("stageid", NewStageId).Where(Exp.Eq("visitorId", visitorid));
95
+                    await _repository.ExecuteAsync(request, UpdateStage);
96
+                }
97
+                var updateValues = new Dictionary<string, object>();
98
+                updateValues.Add("agreement", true);
99
+                var updateQry = new Update("bizgazecrm_visitors").Values(updateValues).Where(Exp.Eq("visitorid", visitorid));
100
+                var ds = await _repository.ExecuteAsync(request, updateQry);                
101
+                returnresponse.Obj = null;
102
+                returnresponse.PkValue = defaultPKValue;
103
+                
104
+            }
85
             return ActionResponse<FormActionResponse>.CreateSuccessResponse("success", returnresponse);
105
             return ActionResponse<FormActionResponse>.CreateSuccessResponse("success", returnresponse);
86
         }
106
         }
87
 
107
 
108
+
88
         public List<UniqueKey> AppliedApps
109
         public List<UniqueKey> AppliedApps
89
         {
110
         {
90
             get
111
             get

Loading…
취소
저장