Ejemplo n.º 1
0
        public SafeResponse Post_CardVirtual([FromBody] SafeData safeData)
        {
            try {
                Review_HttpRequest(Request);
                Decrypt_Data(ref apiRequest, ref safeData);

                Tool.ValidatePhoneNumber(apiRequest.Phone_No);
                apiRequest.Exp_Date  = Tool.ValidateExpirationDate(apiRequest.Exp_Date);
                apiRequest.Informing = apiRequest.Informing.ToUpper();
                Tool.Validate_Status(apiRequest.Informing, "Informing");

                VirtualCard vcard = new VirtualCard(ref apiRequest);

                VirtualCardOut data = DA.Create_VirtualCard(ref apiRequest, ref vcard);

                SafeData sd = Encrypt_Data(data);
                apiResponse = new SafeResponse(sd, CodeStatus.Ok);
            } catch (ApiException ae) {
                apiResponse.Status = ae.Status;
                Print(ae, Tool.GetCurrentMethod());
            } catch (Exception e) {
                apiResponse.Status = new ResponseStatus(CodeStatus.Unhandled_Exception);
                Print(e, Tool.GetCurrentMethod(), false);
            } finally {
                Task.Run(() => Save_Response());
                chainLogger.Finish(apiResponse.Status.Detail);
            }

            return(apiResponse);
        }
Ejemplo n.º 2
0
        public SafeResponse Get_TopTransactions([FromBody] SafeData safeData)
        {
            try {
                Review_HttpRequest(Request);
                Decrypt_Data(ref apiRequest, ref safeData);

                if ((apiRequest.Top < 1) || ((apiRequest.Top > 99)))
                {
                    throw new ApiException("Invalid Top number. Must be from 1 to 99");
                }

                using (AutoDisposeList <Transaction> data = DA.Get_Transactions(ref apiRequest).Transactions) {
                    chainLogger.Database_Request();
                    using (SafeData sd = Encrypt_Data(data)) {
                        apiResponse = new SafeResponse(sd, CodeStatus.Ok);
                    }
                }
            } catch (ApiException ae) {
                apiResponse.Status = ae.Status;
                Print(ae, Tool.GetCurrentMethod());
            } catch (Exception e) {
                apiResponse.Status = new ResponseStatus(CodeStatus.Unhandled_Exception);
                Print(e, Tool.GetCurrentMethod());
            } finally {
                chainLogger.Finish(apiResponse.Status.Detail);
            }

            return(apiResponse);
        }
Ejemplo n.º 3
0
        public SafeResponse Post_CardBlock([FromBody] SafeData safeData)
        {
            try {
                Review_HttpRequest(Request);
                Decrypt_Data(ref apiRequest, ref safeData);
                apiRequest.Validate_Status();

                bool data = false;
                if (apiRequest.Status == "ON")
                {
                    data = DA.Block_Card(ref apiRequest);
                }
                else
                {
                    data = DA.UnBlock_Card(ref apiRequest);
                }

                apiResponse = new SafeResponse((data == true) ? CodeStatus.Ok : CodeStatus.Warning);
            } catch (ApiException ae) {
                apiResponse.Status = ae.Status;
                Print(ae, Tool.GetCurrentMethod());
            } catch (Exception e) {
                apiResponse.Status = new ResponseStatus(CodeStatus.Unhandled_Exception);
                Print(e, Tool.GetCurrentMethod());
            } finally {
                Task.Run(() => Save_Response());
                chainLogger.Finish(apiResponse.Status.Detail);
            }

            return(apiResponse);
        }
Ejemplo n.º 4
0
        public SafeResponse Check([FromBody] SimpleData simpleData)
        {
            try {
                DA.Check();

                if ((simpleData != null) && (!string.IsNullOrEmpty(simpleData.Data)))
                {
                    apiUser = new ApiUser()
                    {
                        User_ID   = 0,
                        PublicKey = string.IsNullOrEmpty(simpleData.PublicKey) ? Globals.key_public : simpleData.PublicKey
                    };
                    using (SafeData sd = Encrypt_Data(simpleData.Data)) {
                        apiResponse = new SafeResponse(sd, CodeStatus.Ok);
                    }
                }
                else
                {
                    apiResponse = new SafeResponse(CodeStatus.Ok);
                }
            } catch (ApiException ae) {
                apiResponse.Status = ae.Status;
                Print(ae, Tool.GetCurrentMethod());
                HttpContext.Response.StatusCode = 204; // No content - no connection to DataBase
            } catch (Exception e) {
                apiResponse.Status = new ResponseStatus(CodeStatus.Unhandled_Exception);
                Print(e, Tool.GetCurrentMethod());
                HttpContext.Response.StatusCode = 418; // I'm teapot
            }

            return(apiResponse);
        }
Ejemplo n.º 5
0
 internal void Save_Response()
 {
     try {
         DA.Response_Save(apiRequest, response, apiResponse.Status);
     } catch (Exception e) {
         Print(e, Tool.GetCurrentMethod());
     }
 }
Ejemplo n.º 6
0
        public SafeResponse Check(string probe = "health")
        {
            try {
                DA.Check();
                apiResponse = new SafeResponse(CodeStatus.Ok);
            } catch (ApiException ae) {
                apiResponse.Status = ae.Status;
                Print(ae, Tool.GetCurrentMethod());
                HttpContext.Response.StatusCode = 500; // No content - no connection to DataBase
            } catch (Exception e) {
                apiResponse.Status = new ResponseStatus(CodeStatus.Unhandled_Exception);
                Print(e, Tool.GetCurrentMethod());
                HttpContext.Response.StatusCode = 418; // I'm teapot
            }

            Console.Out.WriteLine($"Probe {probe}: {apiResponse.Status.Detail}");

            return(apiResponse);
        }
Ejemplo n.º 7
0
        public SafeResponse Card_DetailInform([FromBody] SafeData safeData)
        {
            try {
                Review_HttpRequest(Request);
                Decrypt_Data(ref apiRequest, ref safeData);
                bool data = DA.CardDetail_Inform(ref apiRequest);

                apiResponse = new SafeResponse((data == true) ? CodeStatus.Ok : CodeStatus.Warning);
            } catch (ApiException ae) {
                apiResponse.Status = ae.Status;
                Print(ae, Tool.GetCurrentMethod());
            } catch (Exception e) {
                apiResponse.Status = new ResponseStatus(CodeStatus.Unhandled_Exception);
                Print(e, Tool.GetCurrentMethod());
            } finally {
                chainLogger.Finish(apiResponse.Status.Detail);
            }

            return(apiResponse);
        }
Ejemplo n.º 8
0
        public SafeResponse Post_Response([FromBody] SafeData safeData)
        {
            try {
                Review_HttpRequest(Request);
                Decrypt_Data(ref apiRequest, ref safeData);

                PartnerResponse data = DA.Read_Partner_Response(ref apiRequest);

                SafeData sd = Encrypt_Data(data);

                apiResponse = new SafeResponse(sd, CodeStatus.Ok);
            } catch (ApiException ae) {
                apiResponse.Status = ae.Status;
                Print(ae, Tool.GetCurrentMethod());
            } catch (Exception e) {
                apiResponse.Status = new ResponseStatus(CodeStatus.Unhandled_Exception);
                Print(e, Tool.GetCurrentMethod());
            } finally {
                chainLogger.Finish(apiResponse.Status.Detail);
            }

            return(apiResponse);
        }
Ejemplo n.º 9
0
        public SafeResponse Card_Cvc2([FromBody] SafeData safeData)
        {
            try {
                Review_HttpRequest(Request);
                Decrypt_Data(ref apiRequest, ref safeData);

                CardCvc2 data = DA.Get_CardCVC2(ref apiRequest);

                SafeData sd = Encrypt_Data(data);

                apiResponse = new SafeResponse(sd, (data.Cvc2.Length == 3) ? CodeStatus.Ok : CodeStatus.Warning);
            } catch (ApiException ae) {
                apiResponse.Status = ae.Status;
                Print(ae, Tool.GetCurrentMethod());
            } catch (Exception e) {
                apiResponse.Status = new ResponseStatus(CodeStatus.Unhandled_Exception);
                Print(e, Tool.GetCurrentMethod());
            } finally {
                chainLogger.Finish(apiResponse.Status.Detail);
            }

            return(apiResponse);
        }
Ejemplo n.º 10
0
        public SafeResponse Post_CardPinCountReset([FromBody] SafeData safeData)
        {
            try {
                Review_HttpRequest(Request);
                Decrypt_Data(ref apiRequest, ref safeData);

                bool data = DA.Reset_Pin_Counter(ref apiRequest);
                chainLogger.Database_Request();

                apiResponse = new SafeResponse((data == true) ? CodeStatus.Ok : CodeStatus.Warning);
            } catch (ApiException ae) {
                apiResponse.Status = ae.Status;
                Print(ae, Tool.GetCurrentMethod());
            } catch (Exception e) {
                apiResponse.Status = new ResponseStatus(CodeStatus.Unhandled_Exception);
                Print(e, Tool.GetCurrentMethod());
            } finally {
                Task.Run(() => Save_Response());
                chainLogger.Finish(apiResponse.Status.Detail);
            }

            return(apiResponse);
        }
Ejemplo n.º 11
0
        public SafeResponse Get_AbsTransactions([FromBody] SafeData safeData)
        {
            try {
                Review_HttpRequest(Request);
                Decrypt_Data(ref apiRequest, ref safeData);

                using (AutoDisposeList <Abs_Transaction> data = DA.Get_AbsTransactions(ref apiRequest)) {
                    chainLogger.Database_Request();
                    using (SafeData sd = Encrypt_Data(data)) {
                        apiResponse = new SafeResponse(sd, CodeStatus.Ok);
                    }
                }
            } catch (ApiException ae) {
                apiResponse.Status = ae.Status;
                Print(ae, Tool.GetCurrentMethod());
            } catch (Exception e) {
                apiResponse.Status = new ResponseStatus(CodeStatus.Unhandled_Exception);
                Print(e, Tool.GetCurrentMethod());
            } finally {
                chainLogger.Finish(apiResponse.Status.Detail);
            }

            return(apiResponse);
        }