Esempio n. 1
0
        public ActionResult RejectHotMarkRequest(string CardNo, long RequestId)
        {
            bool CheckAuthorizerSame = new RequestDataAccess().CheckSameAuthorizer(StateHelper.UserId, Convert.ToInt32(RequestId));

            if (CheckAuthorizerSame)
            {
                return(Json(new { IsSuccess = false, ErrorMessage = CustomMessages.SameCreatorAndsAuthorizer }, JsonRequestBehavior.AllowGet));
            }
            else
            {
                bool flag = false;

                flag = CardHotMarkMethods.AuthorizeRequest(CardNo, RequestId, "C");
                if (flag == true)
                {
                    return(Json(new { IsSuccess = false, ErrorMessage = CustomMessages.Success }, JsonRequestBehavior.AllowGet));
                }
                else
                {
                    return(Json(new { IsSuccess = false, ErrorMessage = CustomMessages.GenericErrorMessage }, JsonRequestBehavior.AllowGet));
                }
            }


            //return Json(flag, JsonRequestBehavior.AllowGet);
        }
Esempio n. 2
0
        public ActionResult PartialDemoReport(string branchCode, string requestType, int cardType)
        {
            var data      = new RequestDataAccess().GetRequestDataForExport(requestType, cardType, branchCode);
            var viewModel = data.Rows.Count > 0 ? DAL.ReflectionHelper.CreateGenericListFromDataTable <RequestForExportVM>(data) : new List <RequestForExportVM>();

            return(PartialView("_partialDemoReport", viewModel));
        }
Esempio n. 3
0
        public ActionResult ApproveHotMarkRequest(string CardNo, long RequestId)
        {
            //var getSystemRequest = new SystemRequestDataAccess().GetSystemRequest(int.Parse(RequestId.ToString()), "P");
            //Checking if Creator is same as Authorizer
            //if (getSystemRequest.CreatorID == StateHelper.UserId)
            //{
            //    return Json(new { IsSuccess = false, ErrorMessage = CustomMessages.SameCreatorAndsAuthorizer }, JsonRequestBehavior.AllowGet);
            //}

            bool CheckAuthorizerSame = new RequestDataAccess().CheckSameAuthorizer(StateHelper.UserId, Convert.ToInt32(RequestId));

            if (CheckAuthorizerSame)
            {
                return(Json(new { IsSuccess = false, ErrorMessage = CustomMessages.SameCreatorAndsAuthorizer }, JsonRequestBehavior.AllowGet));
            }

            else
            {
                bool flag = false;
                CustomerCardDataAccess result = new CustomerCardDataAccess();
                var AlreadyHot = result.IsCardHotMarked(CardNo);
                if (AlreadyHot == "Success")
                {
                    CardHotMarkMethods.AuthorizeRequest(CardNo, RequestId, "A");
                    flag = result.CardHotMark(CardNo);
                    return(Json(new { IsSuccess = true, ErrorMessage = CustomMessages.Success }, JsonRequestBehavior.AllowGet));
                }
                else
                {
                    return(Json(new { IsSuccess = false, ErrorMessage = AlreadyHot }, JsonRequestBehavior.AllowGet));
                }
            }
        }
Esempio n. 4
0
        public ActionResult DemoReport()
        {
            var data      = new RequestDataAccess().GetRequestDataForExport("N", 1, "0002");
            var viewModel = data.Rows.Count > 0 ? DAL.ReflectionHelper.CreateGenericListFromDataTable <RequestForExportVM>(data) : new List <RequestForExportVM>();

            return(View(viewModel));
        }
Esempio n. 5
0
        public ActionResult PartialRecoveryReport(string CardNo, string AccountNo, string BranchCode, DateTime?StartDate, DateTime?EndDate)
        {
            var minStartDate = StartDate == null ? StartDate : CustomHelper.ConvertToMinDate(StartDate);
            var maxEndDate   = EndDate == null ? EndDate : CustomHelper.ConvertToMaxDate(EndDate);
            var data         = new RequestDataAccess().GetRecoveryDataForReport(CardNo, AccountNo, BranchCode, minStartDate.GetValueOrDefault(), maxEndDate.GetValueOrDefault());
            var viewModel    = data.ToHTMLTable(Url.Action("Export", "Report"));

            return(Content(viewModel));
        }
Esempio n. 6
0
        public ActionResult PartialDailyReversalReport(string CardNo, string AccountNo, string BranchCode, DateTime?ApplicableDateFrom, DateTime?ApplicableDateTo, string RequestType, string CIF, DateTime?TransDate)
        {
            try
            {
                var maxEndDate = TransDate == null ? TransDate : CustomHelper.ConvertToMaxDate(TransDate);
                var data       = new RequestDataAccess().GetDataForDailyReversal(CardNo, AccountNo, BranchCode, maxEndDate.GetValueOrDefault());
                if (data.Rows.Count >= 1)
                {
                    DataRow row = data.NewRow();
                    row[data.Columns[0].ColumnName.ToString()] = DBNull.Value;
                    row[data.Columns[1].ColumnName.ToString()] = DBNull.Value;
                    row[data.Columns[2].ColumnName.ToString()] = "";

                    row[data.Columns[3].ColumnName.ToString()] = "";
                    row[data.Columns[4].ColumnName.ToString()] = "";
                    row[data.Columns[5].ColumnName.ToString()] = "";
                    row[data.Columns[6].ColumnName.ToString()] = "";

                    row[data.Columns[7].ColumnName.ToString()] = data.Compute("Sum([" + data.Columns[7].ColumnName.ToString() + "])", "[" + data.Columns[7].ColumnName.ToString() + "] > 0");
                    row[data.Columns[8].ColumnName.ToString()] = data.Compute("Sum([" + data.Columns[8].ColumnName.ToString() + "])", "[" + data.Columns[8].ColumnName.ToString() + "] > 0");

                    row[data.Columns[9].ColumnName.ToString()]  = "";
                    row[data.Columns[10].ColumnName.ToString()] = "";

                    row[data.Columns[11].ColumnName.ToString()] = "";
                    row[data.Columns[12].ColumnName.ToString()] = data.Compute("Sum([" + data.Columns[12].ColumnName.ToString() + "])", "[" + data.Columns[12].ColumnName.ToString() + "] > 0");
                    row[data.Columns[13].ColumnName.ToString()] = "";
                    row[data.Columns[14].ColumnName.ToString()] = "";
                    row[data.Columns[15].ColumnName.ToString()] = "";
                    row[data.Columns[16].ColumnName.ToString()] = "";

                    row[data.Columns[17].ColumnName.ToString()] = "";
                    row[data.Columns[18].ColumnName.ToString()] = data.Compute("Sum([" + data.Columns[18].ColumnName.ToString() + "])", "[" + data.Columns[18].ColumnName.ToString() + "] > 0");
                    row[data.Columns[19].ColumnName.ToString()] = "";
                    row[data.Columns[20].ColumnName.ToString()] = "";
                    row[data.Columns[21].ColumnName.ToString()] = "";
                    row[data.Columns[22].ColumnName.ToString()] = "";
                    row[data.Columns[23].ColumnName.ToString()] = "";
                    row[data.Columns[24].ColumnName.ToString()] = data.Compute("Sum([" + data.Columns[24].ColumnName.ToString() + "])", "[" + data.Columns[24].ColumnName.ToString() + "] > 0");
                    row[data.Columns[25].ColumnName.ToString()] = "";
                    row[data.Columns[26].ColumnName.ToString()] = "";



                    data.Rows.Add(row);
                }

                var viewModel = data.ToHTMLTable(Url.Action("Export", "Report"));

                return(Content(viewModel));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Esempio n. 7
0
        public ActionResult PartialRequestReport(string CardNo, string AccountNo, string BranchCode, int?CardTypeId, string CIF, long?RequestNo, int?Waive, string RequestType, string ReportType, DateTime?StartDate, DateTime?EndDate, string AuthorizeStatus)
        {
            Waive      = Waive ?? -1;
            CardTypeId = CardTypeId ?? -1;
            RequestNo  = RequestNo ?? -1;
            var minStartDate = StartDate == null ? StartDate : CustomHelper.ConvertToMinDate(StartDate);
            var maxEndDate   = EndDate == null ? EndDate : CustomHelper.ConvertToMaxDate(EndDate);
            var data         = new RequestDataAccess().GetRequestDataForReport(CardNo, AccountNo, BranchCode, CardTypeId, CIF, RequestNo, Waive, RequestType, ReportType, minStartDate.GetValueOrDefault(), maxEndDate.GetValueOrDefault(), AuthorizeStatus);
            var viewModel    = data.ToHTMLTable(Url.Action("Export", "Report"));

            return(Content(viewModel));
        }
Esempio n. 8
0
        public JsonResult SearchCardDetail(string CardNo)
        {
            CardTypesDataAccess      obj = new CardTypesDataAccess();
            List <CustomerAccountVM> lst = new List <CustomerAccountVM>();

            NewCISSB.SONFETCHCARDINFOTypeGSONFETCHCARDINFODetailTypeMSONFETCHCARDINFODetailType resp = new NewCISSB.SONFETCHCARDINFOTypeGSONFETCHCARDINFODetailTypeMSONFETCHCARDINFODetailType();

            lst = CardReportMethods.GetCustomerAccount(CardNo);

            if (lst.Count <= 0)
            {
                return(Json(new { Result = lst, ErrorMessage = CustomMessages.CardNotExists }, JsonRequestBehavior.AllowGet));
            }
            else
            {
                var request = new RequestDataAccess().GetRequest(CardNo, lst.FirstOrDefault()?.AccountNo ?? string.Empty, lst.FirstOrDefault()?.CIF ?? string.Empty);

                var requestdata = new RequestVM
                {
                    ID          = request?.ID ?? 0,
                    RequestType = request?.RequestType ?? string.Empty,
                    Waive       = request != null?request.WaiveCharges.GetValueOrDefault() : false
                };

                var userlog    = new UserLogDataAccess().GetUserLogByEntityId(request?.ID ?? 0, "tbl_Requests");
                var creator    = userlog.Where(e => e.EventName == "i").FirstOrDefault()?.tbl_Users?.UserName ?? string.Empty;
                var authorizer = userlog.Where(e => e.EventName == "A").OrderByDescending(e => e.ID).FirstOrDefault()?.tbl_Users?.UserName ?? string.Empty;

                try
                {
                    resp = T24Methods.FetchAccount(lst.FirstOrDefault()?.AccountNo ?? string.Empty, lst.FirstOrDefault()?.CIF ?? string.Empty);
                }
                catch { resp = new NewCISSB.SONFETCHCARDINFOTypeGSONFETCHCARDINFODetailTypeMSONFETCHCARDINFODetailType(); }

                //var CardIssuance = lst.FirstOrDefault().CardIssuance.ToString();
                //var CardExpiry = lst.FirstOrDefault().CardExpiry.ToString();
                //var DOB = lst.FirstOrDefault().DateofBirth.ToString();
                var CardTypes = obj.GetCardTypes("A");
                CardTypes = (CardTypes.Where(s => s.ID == (lst.FirstOrDefault()?.CardTypeID ?? 0))).ToList();
                var CardType = (CardTypes.Count > 0) ? CardTypes[0].Title : string.Empty;
                List <CustomerAccountVM> DelinkInfo = new List <CustomerAccountVM>();
                //DelinkInfo = CommonMethods.GetAccountInfo(CardNo, lst.FirstOrDefault()?.AccountNo ?? "0");
                var DelinkInfoStr = CommonMethods.GetLinkedAccounts(CardNo, lst.FirstOrDefault()?.AccountNo ?? "0");

                var Product = new AccountTypeDataAccess().GetAccountTypeById(lst.FirstOrDefault().AccountTypeID ?? 0)?.Name ?? string.Empty;
                return(Json(new { Result = lst, /*CardIssuance=CardIssuance, CardExpiry= CardExpiry,DOB=DOB,*/ DelinkInfoStr = DelinkInfoStr, CardType = CardType, Product = Product, Request = requestdata, AccountResponse = resp, Creator = creator, Authorizer = authorizer, ErrorMessage = CustomMessages.Success }, JsonRequestBehavior.AllowGet));
            }
        }
Esempio n. 9
0
        public ActionResult PartialCurrentRecoveryReport(string CardNo, string AccountNo, string BranchCode, DateTime?StartDate, DateTime?EndDate, string RequestType, string CIF, DateTime?TransDate)
        {
            try
            {
                var minStartDate = StartDate == null ? StartDate : CustomHelper.ConvertToMinDate(StartDate);
                var maxEndDate   = EndDate == null ? EndDate : CustomHelper.ConvertToMaxDate(EndDate);
                var data         = new RequestDataAccess().GetDataForCurrentRecovery(CardNo, AccountNo, BranchCode, minStartDate.GetValueOrDefault(), maxEndDate.GetValueOrDefault(), RequestType, CIF);
                //***Add Row  Total in datatable
                if (data.Rows.Count >= 1)
                {
                    DataRow row = data.NewRow();
                    row[data.Columns[0].ColumnName.ToString()] = DBNull.Value;
                    row[data.Columns[1].ColumnName.ToString()] = "";
                    row[data.Columns[2].ColumnName.ToString()] = "";

                    row[data.Columns[3].ColumnName.ToString()] = "";
                    row[data.Columns[4].ColumnName.ToString()] = "";
                    row[data.Columns[5].ColumnName.ToString()] = "";

                    row[data.Columns[6].ColumnName.ToString()] = data.Compute("Sum([" + data.Columns[6].ColumnName.ToString() + "])", "[" + data.Columns[6].ColumnName.ToString() + "] > 0");
                    row[data.Columns[7].ColumnName.ToString()] = data.Compute("Sum([" + data.Columns[7].ColumnName.ToString() + "])", "[" + data.Columns[7].ColumnName.ToString() + "] > 0");
                    row[data.Columns[8].ColumnName.ToString()] = data.Compute("Sum([" + data.Columns[8].ColumnName.ToString() + "])", "[" + data.Columns[8].ColumnName.ToString() + "] > 0");

                    row[data.Columns[9].ColumnName.ToString()]  = "";
                    row[data.Columns[10].ColumnName.ToString()] = DBNull.Value;


                    data.Rows.Add(row);
                }

                var viewModel = data.ToHTMLTable(Url.Action("Export", "Report"));

                return(Content(viewModel));
            }
            catch (Exception ex)
            { throw ex; }
        }
Esempio n. 10
0
        /// <summary>
        /// Sonaware:
        ///Field Name Index
        ///* Account Number 4 – AC : Account Number
        ///*Customer Number 37 – CP: CIF#
        ///Frequency Cycle Begin Date 50 – DA: Card Issuance Date(Expiry is +5 years)
        ///*PAN 6 – DA : Card #
        ///Pri/Sec Code 5 – DA : Main or Supplementary Card
        ///Tipper Flag 4 – DA : Card Code(*Card Type ID to be picked from Card Type table)
        ///Default Account 8 – AC: O: is def acct Y: linked account N: linked account
        ///Revised ACCeSS 3.5 Import Format For Host_2.2: CIS->IRIS
        ///ACCeSS Export File Utility for SonawareDotNet_1_0: IRIS->CIS
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public ActionResult AddUpdateFileImport(tbl_File_Imports request, string filePath)
        {
            List <tbl_Customer_Cards> lst             = new List <tbl_Customer_Cards>();
            List <ExceptionLogVM>     lstExceptionLog = new List <ExceptionLogVM>();

            string[] record         = new string[] { };
            string[] data           = new string[] { };
            int?     cardType       = null;
            string   result         = string.Empty;
            var      currentDate    = DateTime.Now;
            var      outputFilename = $"{DateTime.Now.ToString("yyyy-dd-M--HH-mm-ss")}.txt";

            //var filename = "card.txt"/*"DEMO2018-27-2--16-47-25.txt"*/;
            //var filePath = new FilePathDataAccess().GetFilePathByTypeID(((int)Constants.enPathType.Import).ToString());
            //string path = filePath?.Path ?? @"C:\";

            var path     = filePath;
            var filename = Path.GetFileName(path);

            // Need to Uncomment its only for testing plain file
            //var response = new GNUPG_Wrapper().Decrypt(Path.Combine(path, filename), outputFilename);
            record = FileHelper.Import(path /*outputFilename*/); //Need to Uncomment its only for testing plain file

            if (record != null)
            {
                data = record;       /*record.Where(e => !string.IsNullOrEmpty(e) && !cardNumbers.Contains(e.Split('|')[3])).ToArray();*/
                if (data.Length > 0)
                {
                    for (int i = 0; i < data.Length; i++)
                    {
                        var datum = data[i].Split('|');
                        datum = datum.Length > 7 ? datum.Take(7).ToArray() : datum;
                        if (datum.Length == 7)
                        {
                            var accno       = datum[datum.Length - (datum.Length)];
                            var custno      = datum[datum.Length - (datum.Length - 1)];
                            var strfreqdate = datum[datum.Length - (datum.Length - 2)];
                            var cardnum     = datum[datum.Length - (datum.Length - 3)];
                            var priseccode  = datum[datum.Length - (datum.Length - 4)];
                            var cardcode    = datum[datum.Length - (datum.Length - 5)];
                            var deforlinked = datum[datum.Length - (datum.Length - 6)];
                            var dtfreqdate  = new DateTime(int.Parse(strfreqdate.Substring(0, 4)), int.Parse(strfreqdate.Substring(4, 2)), int.Parse(strfreqdate.Substring(6, 2)), 0, 0, 0);
                            var dtexpiry    = dtfreqdate.AddYears(5);

                            if (string.IsNullOrWhiteSpace(accno) || accno.Length != 15)
                            {
                                CreateExceptionLog(ref lstExceptionLog, accno, cardnum, custno, string.Format(CustomMessages.AccountNumberEmptyOrLimitExceed, 15), filename);
                            }

                            if (string.IsNullOrWhiteSpace(cardnum) || cardnum.Length != 16)
                            {
                                CreateExceptionLog(ref lstExceptionLog, accno, cardnum, custno, string.Format(CustomMessages.CardNumberEmptyOrLimitExceed, 16), filename);
                            }

                            if (string.IsNullOrWhiteSpace(custno) || custno.Length != 10)
                            {
                                CreateExceptionLog(ref lstExceptionLog, accno, cardnum, custno, string.Format(CustomMessages.CustomerNumberEmptyOrLimitExceed, 10), filename);
                            }

                            var requestRecord = new RequestDataAccess().GetRequestForImport(custno, accno);

                            if (requestRecord != null)
                            {
                                //cardType = new CardTypesDataAccess().GetCardTypeIdByCardCode(cardcode);
                                //request.CardTypes = Convert.ToString(cardType);
                                var salutation = requestRecord.Salutation ?? string.Empty;
                                var cardtitle  = requestRecord.CardTitle ?? string.Empty;
                                cardType = requestRecord.CardTypeID ?? 0;
                                lst.Add(new tbl_Customer_Cards {
                                    AccountNo = accno, CardNo = cardnum, CardIssuance = dtfreqdate, CardExpiry = new DateTime(dtexpiry.Year, dtexpiry.Month, DateTime.DaysInMonth(dtexpiry.Year, dtexpiry.Month)), CardTypeID = cardType, Salutation = salutation, CardTitle = cardtitle, CardStatusActive = true, CIF = custno
                                });
                            }
                            else
                            {
                                CreateExceptionLog(ref lstExceptionLog, accno, cardnum, custno, CustomMessages.RequestNotExists, filename);
                            }
                        }
                    }

                    // Create successfull card file for T24
                    var filepath = new FilePathDataAccess().GetFilePathByTypeID(((int)Constants.enPathType.Export).ToString());
                    var fullpath = (filepath?.Path ?? string.Empty) == string.Empty ? $"{@"C:\CIS_card_file_"}{currentDate.ToString(Constants.Formats.DateFormat)}{currentDate.ToString(Constants.Formats.TimeFormat)}" : $"{filepath?.Path}\\CIS_card_file_{currentDate.ToString(Constants.Formats.DateFormat)}{currentDate.ToString(Constants.Formats.TimeFormat)}";

                    var fileheader = $"caRD.NUMBER,ACCT.ID1::ACCTID2";
                    FileHelper.WriteFile(fullpath, new string[] { fileheader });

                    // Add cards to customer card table
                    foreach (var item in lst)
                    {
                        if (new CustomerCardDataAccess().AddCustomerCard(item))
                        {
                            request.RecordCount = (request.RecordCount == null) ? 1 : ++request.RecordCount;

                            var filedata = $"{item.CardNo},{item.AccountNo}::{item.CIF}";
                            FileHelper.WriteFile(fullpath, new string[] { filedata });
                        }
                        else
                        {
                            CreateExceptionLog(ref lstExceptionLog, item.AccountNo, item.CardNo, item.CIF, CustomMessages.CardAlreadyExists, filename);
                        }
                    }
                    /*new CustomerCardDataAccess().AddMultipleCustomerCard(lst);*/

                    // Upgrade Customer Account, link card to customer accounts
                    lst.ForEach(e => new CustomerAccountDataAccess().UpdateCustomerAccountCardNo(e.AccountNo, e.CIF, e.CardNo));

                    /*request.RecordCount = (request.RecordCount ?? 0) + lst.Count;*/
                }
            }

            var IsSuccess = new FileImportDataAccess().AddFileImport(request);

            if (IsSuccess)
            {
                AddExceptionLog(lstExceptionLog);

                return(Json(new { IsSuccess = IsSuccess, Response = IsSuccess, ErrorMessage = string.Format(CustomMessages.ImportRecordsRetrieveAndImport, record.Length, request.RecordCount ?? 0) }, JsonRequestBehavior.AllowGet));
            }
            else
            {
                AddExceptionLog(lstExceptionLog);

                return(Json(new { IsSuccess = IsSuccess, ErrorMessage = CustomMessages.GenericErrorMessage, Response = IsSuccess }, JsonRequestBehavior.AllowGet));
            }
        }