Beispiel #1
0
        public ActionResult WarningDetail(string data)
        {
            var result = EncryptHelper.Base64Decode(data);
            var obj    = JsonConvert.DeserializeObject <WarningScheduleVo>(result);

            return(View(obj));
        }
Beispiel #2
0
        /// <summary>
        /// 获取请求信息
        /// </summary>
        /// <param name="request"></param>
        private void GetRequestData(Request request)
        {
            //- Head
            var head = request.Form["head"];

            if (head == null)
            {
                throw new Exception("Request head data not exist or format error");
            }
            head     = Encoding.UTF8.GetString(EncryptHelper.Base64Decode(head));
            HeadData = JsonConvert.DeserializeObject <RequestHead>(head);
            if (HeadData == null)
            {
                throw new ArgumentNullException("head", "Request head data not exist");
            }
            if (string.IsNullOrEmpty(HeadData.Command))
            {
                throw new ArgumentNullException("command", "Request command is null or empty");
            }

            //- Body
            var bodyForm = request.Form["body"];

            if (!string.IsNullOrWhiteSpace(bodyForm))
            {
                string key = Settings.GetSignKey(HeadData.Channel);
                bodyForm  = EncryptHelper.DESDecrypt(bodyForm, key);
                bodyForm  = Encoding.UTF8.GetString(EncryptHelper.Base64Decode(bodyForm));
                BodyDatas = JsonConvert.DeserializeObject <List <Dictionary <string, object> > >(bodyForm);
            }

            //- Route
            // Command参数如果不是json数组装换为数组处理
            if (!HeadData.Command.StartsWith("[") && !HeadData.Command.EndsWith("]"))
            {
                HeadData.Command = string.Format("[\"{0}\"]", HeadData.Command);
            }
            string[] cmds = JsonConvert.DeserializeObject <string[]>(HeadData.Command);

            if (BodyDatas != null && cmds.Count() != BodyDatas.Count)
            {
                throw new Exception("Request body number of parameters error");
            }

            Dictionary <string, RouteData> routeDatas = new Dictionary <string, RouteData>();

            foreach (var cmd in cmds)
            {
                RouteData route = RouteHelper.GetOptimalRoute(cmd, HeadData.Version, HeadData.System);
                if (route == null)
                {
                    throw new ArgumentNullException("route", "Route data not exist");
                }

                routeDatas.Add(cmd, route);
            }

            //路由负载
            OptimalRoutes = RouteHelper.RoutingLoadBalance(routeDatas);
        }
Beispiel #3
0
        public IHttpActionResult GetProviderFromName([FromBody] string nameJson)
        {
            var             dataJson        = EncryptHelper.Base64Decode(nameJson);
            ProviderService providerService = new ProviderService();
            var             data            = providerService.GetProviderFromName(dataJson);

            return(Ok(data));
        }
Beispiel #4
0
        // GET api/values
        public IHttpActionResult Get(string queryInfo)
        {
            if (string.IsNullOrEmpty(queryInfo))
            {
                return(Ok(false));
            }
            var queryJson = EncryptHelper.Base64Decode(queryInfo);
            var query     = JsonConvert.DeserializeObject <QueryGridPhysicianVo>(queryJson);

            NpiService npiService = new NpiService();
            var        data       = npiService.GetListNpi(query);

            return(Ok(data));
        }
Beispiel #5
0
        // GET api/values
        public IHttpActionResult Get(string queryInfo)
        {
            if (string.IsNullOrEmpty(queryInfo))
            {
                return(Ok(false));
            }
            var queryJson = EncryptHelper.Base64Decode(queryInfo);
            var query     = JsonConvert.DeserializeObject <QueryGridProvider>(queryJson);

            ProviderService providerService = new ProviderService();
            var             data            = providerService.GetListProvider(query);

            return(Ok(data));
        }
Beispiel #6
0
        /// <summary>
        /// Get key Authentication for case Licence Invalid.
        /// </summary>
        /// <param name="keyCode"></param>
        /// <returns></returns>
        private string GetKeyAuthenticationDecrypt(string keyCode, ref string password)
        {
            var passPhrase = ConfigurationManager.AppSettings["PassPhrase"];

            if (string.IsNullOrEmpty(passPhrase))
            {
                throw new Exception("Missing config PassPhrase");
            }
            var bas64EncodeData = EncryptHelper.Base64Decode(keyCode);
            var decryptData     = EncryptHelper.Decrypt(bas64EncodeData, passPhrase);

            var obj = JsonConvert.DeserializeObject <dynamic>(decryptData);

            if (DynamicExtensions.IsPropertyExist(obj, "UserName") && DynamicExtensions.IsPropertyExist(obj, "Password"))
            {
                password = obj.Password;
                return(obj.UserName);
            }
            return(string.Empty);
        }
Beispiel #7
0
        public dynamic Verify(string parameters)
        {
            string encyptKey = ConfigurationManager.AppSettings["EncyptKey"];

            if (string.IsNullOrEmpty(encyptKey))
            {
                throw new Exception("EncyptKey not found in App.config");
            }

            var dataJson  = EncryptHelper.Base64Decode(parameters);
            var jSettings = new JsonSerializerSettings
            {
                Formatting           = Formatting.Indented,
                DateTimeZoneHandling = DateTimeZoneHandling.Utc
            };

            jSettings.Converters.Add(new DefaultWrongFormatDeserialize());
            var viewModel = JsonConvert.DeserializeObject <RequestAssessmentPcsVo>(dataJson, jSettings);

            //if tabSelected == 1 , Disclose form
            if (viewModel.TabSelected == 1)
            {
                var checkDisclosureForm = CheckInValidDisclosureForm(viewModel.DisclosureFormVo);
                if (checkDisclosureForm.Count > 0)
                {
                    var result = new ObjectReturnVo();
                    result.Error = checkDisclosureForm;
                    result.Id    = viewModel.AssessmentPcsId;
                    return(result);
                }
            }
            //if tabSelected == 2 , PCST form
            else
            {
                TrackingCompleteInformation(viewModel);
                if (viewModel.CurrentSectionId == null)
                {
                    var checkMid = CheckMidDisclosureFormAndPcstForm(viewModel);
                    if (checkMid.Count > 0)
                    {
                        if (viewModel.MessageErrorTotal == null)
                        {
                            viewModel.MessageErrorTotal = new List <MessageErrorVo>();
                            viewModel.MessageErrorTotal.AddRange(checkMid);
                        }
                        else
                        {
                            viewModel.MessageErrorTotal.AddRange(checkMid);
                        }
                    }
                    var checkErrorExpedited = CheckErrorExpedited(viewModel);
                    if (checkErrorExpedited.Count > 0)
                    {
                        viewModel.MessageErrorTotal.AddRange(checkErrorExpedited);
                    }
                }


                if (viewModel.MessageErrorTotal != null && viewModel.MessageErrorTotal.Count > 0)
                {
                    var index = 0;
                    foreach (var item in viewModel.MessageErrorTotal)
                    {
                        index++;
                        item.Index = index;
                    }
                    var result = new ObjectReturnVo();
                    result.Error = viewModel.MessageErrorTotal;
                    result.Id    = viewModel.AssessmentPcsId;
                    return(result);
                }
            }

            var result1 = new ObjectReturnVo();

            result1.Id = viewModel.AssessmentPcsId;
            return(result1);
        }
Beispiel #8
0
        public dynamic Save(string parameters)
        {
            string encyptKey = ConfigurationManager.AppSettings["EncyptKey"];

            if (string.IsNullOrEmpty(encyptKey))
            {
                throw new Exception("EncyptKey not found in App.config");
            }

            var dataJson  = EncryptHelper.Base64Decode(parameters);
            var jSettings = new JsonSerializerSettings
            {
                Formatting           = Formatting.Indented,
                DateTimeZoneHandling = DateTimeZoneHandling.Utc
            };

            jSettings.Converters.Add(new DefaultWrongFormatDeserialize());
            var viewModel = JsonConvert.DeserializeObject <RequestAssessmentPcsVo>(dataJson, jSettings);

            TrackingCompleteInformation(viewModel);

            var listDisclodureError      = new List <MessageErrorVo>();
            var IsDisclosureFormComplete = true;
            var listError = new List <MessageErrorVo>();

            if (viewModel.IsSaveAll == true)
            {
                var checkDisclosureForm = CheckInValidDisclosureForm(viewModel.DisclosureFormVo);
                if (checkDisclosureForm.Count > 0)
                {
                    if (viewModel.MessageErrorTotal == null)
                    {
                        viewModel.MessageErrorTotal = new List <MessageErrorVo>();
                        viewModel.MessageErrorTotal.AddRange(checkDisclosureForm);
                    }
                    else
                    {
                        viewModel.MessageErrorTotal.AddRange(checkDisclosureForm);
                    }
                    listDisclodureError      = checkDisclosureForm;
                    IsDisclosureFormComplete = false;
                }
                var checkMid = CheckMidDisclosureFormAndPcstForm(viewModel);
                if (checkMid.Count > 0)
                {
                    if (viewModel.MessageErrorTotal == null)
                    {
                        viewModel.MessageErrorTotal = new List <MessageErrorVo>();
                        viewModel.MessageErrorTotal.AddRange(checkMid);
                    }
                    else
                    {
                        viewModel.MessageErrorTotal.AddRange(checkMid);
                    }
                }

                if (viewModel.MessageErrorTotal != null && viewModel.MessageErrorTotal.Count > 0)
                {
                    var index = 0;
                    foreach (var item in viewModel.MessageErrorTotal)
                    {
                        index++;
                        item.Index = index;
                    }
                    //var result = new ObjectReturnVo();
                    //result.Error = viewModel.MessageErrorTotal;
                    //result.Id = viewModel.AssessmentPcsId;
                    //return result;
                    listError = viewModel.MessageErrorTotal;
                }
            }

            var assessmentData = new AssessmentDataVo
            {
                Sections = viewModel.Sections,
                AssessmentSectionQuestions = viewModel.AssessmentSectionQuestions,
            };
            //GetContentHtml(viewModel, assessmentData);

            var encryptAssessmentData =
                EncryptHelper.Encrypt(JsonConvert.SerializeObject(assessmentData), encyptKey);

            //parse string to DateTime
            if (viewModel.DisclosureFormVo.Member != null)
            {
                viewModel.DisclosureFormVo.Member.Dob =
                    CaculatorHelper.TryParseDatTimeFromStr(viewModel.DisclosureFormVo.Member.DobStr);//.GetValueOrDefault();
                if (viewModel.DisclosureFormVo.Member.Signature == "_blank")
                {
                    viewModel.DisclosureFormVo.Member.Signature = null;
                }
            }
            viewModel.DisclosureFormVo.DateSigned =
                CaculatorHelper.TryParseDatTimeFromStr(viewModel.DisclosureFormVo.DateSignedStr);       //.GetValueOrDefault();
            viewModel.DisclosureFormVo.TheFollowingDate =
                CaculatorHelper.TryParseDatTimeFromStr(viewModel.DisclosureFormVo.TheFollowingDateStr); //.GetValueOrDefault();
            if (viewModel.DisclosureFormVo.Guardian != null && viewModel.DisclosureFormVo.Guardian.Signature == "_blank")
            {
                viewModel.DisclosureFormVo.Guardian.Signature = null;
            }
            if (viewModel.DisclosureFormVo.IsHasProviderAgency)
            {
                //set MPI == id
                if (viewModel.DisclosureFormVo.Providers != null && viewModel.DisclosureFormVo.Providers.Count > 0)
                {
                    foreach (var dt in viewModel.DisclosureFormVo.Providers)
                    {
                        if (dt.Id != null && dt.Id.GetValueOrDefault() > 0)
                        {
                            dt.Mpi = dt.Id.ToString();
                        }
                    }
                }
            }
            else
            {
                viewModel.DisclosureFormVo.Providers = new List <ProviderDisclosureFormViewModel>();
            }
            var encryptDisclosureFormData =
                EncryptHelper.Encrypt(JsonConvert.SerializeObject(viewModel.DisclosureFormVo), encyptKey);

            var encryptMid = EncryptHelper.Encrypt(JsonConvert.SerializeObject(GetMid(viewModel)), encyptKey);

            var extensionVm = new ExtensionAssessment
            {
                DisclosureFormIsComplete = IsDisclosureFormComplete,
                ErrorDisclosureForm      = listDisclodureError
            };

            var extensionStr = JsonConvert.SerializeObject(extensionVm);

            using (var context = new AssessmentContext())
            {
                //Update
                if (viewModel.AssessmentPcsId > 0)
                {
                    var assessment = context.Assessments.FirstOrDefault(o => o.Id == viewModel.AssessmentPcsId);
                    if (assessment != null)
                    {
                        assessment.FileName           = viewModel.AssessmentName;
                        assessment.ModifiedOn         = DateTime.Now;
                        assessment.AssessmentData     = encryptAssessmentData;
                        assessment.DisclosureFormData = encryptDisclosureFormData;
                        assessment.Mid       = encryptMid;
                        assessment.Extension = extensionStr;

                        context.Entry(assessment).State = EntityState.Modified;
                        context.SaveChanges();

                        var result = new ObjectReturnVo();
                        result.Id    = assessment.Id;
                        result.Error = listError.Count > 0 ? listError : null;
                        return(result);
                    }
                    else
                    {
                        var result = new ObjectReturnVo();
                        result.Error = new List <MessageErrorVo>
                        {
                            new MessageErrorVo
                            {
                                MessageError = "This record was delete."
                            }
                        };
                        result.Id = 0;

                        return(result);
                    }
                }
                //Add
                else
                {
                    var entity = new Assessment
                    {
                        FileName           = viewModel.AssessmentName,
                        FilePath           = "",
                        CreatedOn          = DateTime.Now,
                        ModifiedOn         = DateTime.Now,
                        AssessmentData     = encryptAssessmentData,
                        DisclosureFormData = encryptDisclosureFormData,
                        Mid       = encryptMid,
                        Extension = extensionStr
                    };
                    context.Entry(entity).State = EntityState.Added;
                    context.SaveChanges();

                    var result = new ObjectReturnVo();
                    result.Id    = entity.Id;
                    result.Error = listError;
                    return(result);
                }
            }
        }