Esempio n. 1
0
        public ActionResult EmailDelete()
        {
            string getType        = Request["_type"];
            string getNoReferensi = Request["_noReferensi"];

            ViewBag.Type = "deleteEmail";
            Params paramList = new Params()
            {
                Parameter = new Dictionary <string, string>()
            };
            ESBData esbData = new ESBData()
            {
                Result = new List <StringDictionary>()
            };

            Object[]     data         = new Object[1];
            JSONResponse jsonResponse = new JSONResponse();

            bool checkSpv = false;

            switch (getType)
            {
            case "inbox":
                checkSpv = RoleNPrivilege.checkEntityButtonByRoleID(new Guid(Session["RoleID"].ToString()), "EmailInbox", "Delete");
                break;

            case "kirimEmail":
                checkSpv = RoleNPrivilege.checkEntityButtonByRoleID(new Guid(Session["RoleID"].ToString()), "EmailSend", "Delete");
                break;
            }

            switch (checkSpv)
            {
            case true:
                paramList.RequestTransType = "DeleteEmailByRefNo";
                paramList.Parameter.Add("PK_ID", getNoReferensi);

                paramList.WSDL = "ESBDBDelimiter";

                esbData = EAI.RetrieveESBData(paramList);

                if (esbData != null && esbData.Result.Count != 0)
                {
                    foreach (StringDictionary kvp in esbData.Result)
                    {
                        if (kvp.ContainsKey("result"))
                        {
                            jsonResponse.Value = new
                            {
                                Message = Resources.Email.EmailDeleteSuccess
                            };
                            jsonResponse.Response = kvp["result"];
                        }
                    }
                }
                break;
            }

            return(Json(jsonResponse));
        }
Esempio n. 2
0
        public JsonResult LoadGrid(string sidx, string sord, int rows, int page = 1)
        {
            string   getType      = Request["_type"];
            string   getVal       = Request["_val"];
            string   getTujuan    = "%" + Request["_tujuan"] + "%";
            string   getStartDate = Request["_startDate"];
            string   getEndDate   = Request["_endDate"];
            DateTime sd;

            if (!DateTime.TryParse(getStartDate, out sd))
            {
                // handle parse failure
            }
            else
            {
                getStartDate = sd.ToString("MM/dd/yyyy HH:mm:ss");
            }
            if (!DateTime.TryParse(getEndDate, out sd))
            {
                // handle parse failure
            }
            else
            {
                getEndDate = sd.DayMax().ToString("MM/dd/yyyy HH:mm:ss");
            }

            Params paramList = new Params()
            {
                Parameter = new Dictionary <string, string>()
            };
            ESBData esbData = new ESBData()
            {
                Result = new List <StringDictionary>()
            };

            Object[] data         = new Object[1];
            int      pageSize     = 0;
            int      totalRecords = 0;
            int      totalPages   = 0;

            bool checkSpv = RoleNPrivilege.checkEntityButtonByRoleID(new Guid(Session["RoleID"].ToString()), "EmailInbox", "SPV");

            switch (checkSpv)
            {
            case true:
                paramList.RequestTransType = "InqReceivedEmailforSPV";
                paramList.Parameter.Add("UserLoc1", "INBX");
                paramList.Parameter.Add("UserLoc2", " ");
                paramList.Parameter.Add("StartDate", getStartDate);
                paramList.Parameter.Add("EndDate", getEndDate);
                paramList.Parameter.Add("CustId", getTujuan);
                break;

            case false:
                string      dateString, format;
                DateTime    result;
                CultureInfo provider = CultureInfo.InvariantCulture;
                // Parse date-only value with invariant culture.
                format = "MM/dd/yyyy HH:mm:ss";         // h for 12 hour format, HH dor 24 hour format
                try
                {
                    result       = DateTime.ParseExact(getStartDate, format, provider);
                    getStartDate = result.ToString("MM/dd/yyyy");

                    result     = DateTime.ParseExact(getEndDate, format, provider);
                    getEndDate = result.AddDays(1).ToString("MM/dd/yyyy");
                }
                catch (FormatException)
                {
                    //Console.WriteLine("{0} is not in the correct format.", dateString);
                }
                paramList.RequestTransType = "InqReceivedEmailforOPR";
                paramList.Parameter.Add("AgentId", Session["DomainUserName"].ToString());
                paramList.Parameter.Add("UserLoc1", "INBX");
                paramList.Parameter.Add("UserLoc2", " ");
                paramList.Parameter.Add("StartDate", getStartDate.Substring(0, 10));
                paramList.Parameter.Add("EndDate", getEndDate.Substring(0, 10));
                paramList.Parameter.Add("CustId", getTujuan);
                break;
            }

            paramList.WSDL = "ESBDBDelimiter";

            List <EmailOutbox> listEmailOutboxs = new List <EmailOutbox>();

            esbData = EAI.RetrieveESBData(paramList);

            if (esbData != null && esbData.Result.Count != 0)
            {
                foreach (StringDictionary kvp in esbData.Result)
                {
                    EmailOutbox model = new EmailOutbox();
                    model.Id             = kvp[EmailOutboxMapping.refNo];
                    model.NoReferensi    = kvp[EmailOutboxMapping.refNo];
                    model.Tujuan         = kvp[EmailOutboxMapping.custId];
                    model.Subject        = kvp[EmailOutboxMapping.subject];
                    model.SpvAppv        = kvp[EmailOutboxMapping.supervisorId];
                    model.StatusTerakhir = kvp[EmailOutboxMapping.agentSpvLoc];
                    model.Tanggal        = kvp[EmailOutboxMapping.createdDate];

                    string      dateString, format;
                    DateTime    result;
                    CultureInfo provider = CultureInfo.InvariantCulture;

                    // Parse date-only value with invariant culture.
                    dateString = model.Tanggal;
                    format     = "M/d/yyyy h:mm:ss tt"; // h for 12 hour format, HH dor 24 hour format
                    try
                    {
                        result = DateTime.ParseExact(dateString, format, provider);
                        Console.WriteLine("{0} converts to {1}.", dateString, result.ToString());
                        model.Tanggal = result.ToString("dd/MM/yyyy HH:mm:ss");
                    }
                    catch (FormatException)
                    {
                        Console.WriteLine("{0} is not in the correct format.", dateString);
                    }

                    listEmailOutboxs.Add(model);
                }
            }
            else
            {
                //ViewBag.Message = esbData.Message;
            }
            var tempOutbox = listEmailOutboxs
                             .Select(x => new
            {
                Id             = x.Id,
                NoReferensi    = x.NoReferensi,
                Tujuan         = x.Tujuan,
                Subject        = x.Subject,
                Tanggal        = x.Tanggal,
                SpvAppv        = x.SpvAppv,
                StatusTerakhir = x.StatusTerakhir
            }).AsQueryable();

            pageSize     = rows;
            totalRecords = tempOutbox.Count();
            totalPages   = (int)Math.Ceiling((float)totalRecords / (float)pageSize);

            tempOutbox = tempOutbox.OrderBy(sidx + " " + sord).Skip((page - 1) * pageSize).Take(pageSize);
            data       = tempOutbox.ToArray();


            var       recordCount = totalRecords;
            JSONTable jTable      = new JSONTable();

            jTable.total   = totalPages;
            jTable.page    = page;
            jTable.records = recordCount;
            jTable.rows    = data;

            return(Json(jTable, JsonRequestBehavior.AllowGet));
        }
Esempio n. 3
0
        public ActionResult SingleView(Guid id)
        {
            bool hasAccess   = RoleNPrivilege.HasAccess(new Guid(Session["RoleID"].ToString()), "Customer");
            int  gridMaxRows = Convert.ToInt32(ConfigurationManager.AppSettings["GridMaxRows"].ToString());

            ViewBag.GridMaxRows = gridMaxRows;

            if (hasAccess)
            {
                Customer          model          = db.customer.Find(id);
                List <CreditCard> creditcardList = new List <CreditCard>();
                List <Deposit>    depositList    = new List <Deposit>();
                List <Loan>       loanList       = new List <Loan>();
                List <Channel>    channelList    = new List <Channel>();

                List <KeyValuePair <int, string> > results = new List <KeyValuePair <int, string> >();
                Params paramProductList = new Params()
                {
                    Parameter = new Dictionary <string, string>()
                };
                Params paramChannelList = new Params()
                {
                    Parameter = new Dictionary <string, string>()
                };

                DBServices dbservices = new DBServices();

                paramProductList.WSDL = "CustomerProductListInquiry";
                if (string.IsNullOrEmpty(model.CISNumber) ||
                    model.CISNumber.StartsWith("C", true, CultureInfo.InvariantCulture)
                    //|| customer.GenderCode == 200000 // commented for a while
                    )
                {
                    paramProductList.RequestTransType = "SearchAllProductsByCustCC";
                    paramProductList.Parameter.Add("custNo", model.CreditCardCustomerNo);
                }
                else
                {
                    paramProductList.RequestTransType = "SearchAllProductsByCIS";
                    paramProductList.Parameter.Add("cisNo", model.CISNumber);
                }

                ESBData esbProduct = new ESBData()
                {
                    Result = new List <StringDictionary>()
                };
                esbProduct = EAI.RetrieveESBData(paramProductList);
                if (esbProduct.Result != null && esbProduct.Result.Count() > 0)
                {
                    dbservices.GetProducts(model, esbProduct.Result, null, out creditcardList, out depositList, out loanList);
                }
                else
                {
                    ViewBag.Message = esbProduct.Message;
                }

                paramChannelList.WSDL = "CustomerChannelListInquiry";
                if (string.IsNullOrEmpty(model.CISNumber) ||
                    model.CISNumber.StartsWith("C", true, CultureInfo.InvariantCulture))
                {
                    paramChannelList.RequestTransType = "SearchAllChannelsByCustCC";
                    paramChannelList.Parameter.Add("cisNo", "");
                    paramChannelList.Parameter.Add("custNo", model.CreditCardCustomerNo);
                }
                else
                {
                    paramChannelList.RequestTransType = "SearchAllChannelsByCIS";
                    paramChannelList.Parameter.Add("cisNo", model.CISNumber);
                    paramChannelList.Parameter.Add("custNo", "");
                }
                ESBData esbChannel = EAI.RetrieveESBData(paramChannelList);
                if (esbChannel.Result != null && esbChannel.Result.Count() > 0)
                {
                    dbservices.GetChannel(model, esbChannel.Result, out channelList);
                }
                else
                {
                    ViewBag.Message = esbChannel.Message;
                }

                // DEPOSIT
                var modelDeposit = (from x in depositList
                                    select new
                {
                    Id = x.Id,
                    CustomerId = x.CustomerId,
                    CustomerIdName = x.CustomerIdName,
                    AccountNo = x.AccountNo,
                    AccountTypeIdCode = x.AccountTypeIdCode,
                    AccountTypeIdName = x.AccountTypeIdName,
                    CardNo = x.CardNo,
                    CardTypeIdName = x.CardTypeIdName,
                    OwnerTypeLabel = x.OwnerTypeLabel,
                    RelationType = x.RelationType,
                    RelationshipWith = x.RelationshipWith
                });

                // CREDIT CARD
                var modelCreditCard = (from x in creditcardList
                                       group x by x.Id into y
                                       select new
                {
                    Id = y.Key,
                    CreditCardNumber = y.Select(z => z.CreditCardNumber).FirstOrDefault(),
                    CardholderName = y.Select(z => z.CardholderName).FirstOrDefault(),
                    CardType = y.Select(z => z.CardType).FirstOrDefault(),
                    CCType = y.Select(z => z.CCType).FirstOrDefault(),
                    CreditCardCustomerNo = y.Select(z => z.CreditCardCustomerNo).FirstOrDefault(),
                    CustomerId = y.Select(z => z.CustomerId).FirstOrDefault(),
                    CustomerIdName = y.Select(z => z.CustomerIdName).FirstOrDefault(),
                    Status = y.Select(z => z.Status).FirstOrDefault()
                });

                // LOAN
                var modelLoan = loanList
                                .OrderBy(x => x.AccountNo)
                                .ThenBy(x => x.LoanTypeIdCode)
                                .ThenBy(x => x.LoanNumber);

                // CHANNEL
                var modelChannel = channelList
                                   .OrderBy(x => x.ChannelType)
                                   .ThenBy(x => x.Id);



                ViewBag.DepositModel      = modelDeposit;
                ViewBag.DepositModelCount = modelDeposit.Count();
                if (ViewBag.DepositModelCount > gridMaxRows)
                {
                    ViewBag.DepositModel = modelDeposit.Take(gridMaxRows);
                }

                ViewBag.CreditCardModel      = modelCreditCard;
                ViewBag.CreditCardModelCount = modelCreditCard.Count();
                if (ViewBag.CreditCardModelCount > gridMaxRows)
                {
                    ViewBag.CreditCardModel = modelCreditCard.Take(gridMaxRows);
                }

                ViewBag.LoanModel      = modelLoan;
                ViewBag.LoanModelCount = modelLoan.Count();
                if (ViewBag.LoanModelCount > gridMaxRows)
                {
                    ViewBag.LoanModel = modelLoan.Take(gridMaxRows);
                }

                ViewBag.ChannelModel      = modelChannel;
                ViewBag.ChannelModelCount = modelChannel.Count();

                ViewBag.CustomerId     = model.CustomerID;
                ViewBag.CustomerIdName = model.FullName;
                ViewBag.CISNumber      = model.CISNumber;
                ViewBag.hasAccess      = 1;
            }
            else
            {
                ViewBag.hasAccess = 0;
            }
            return(View());
        }
Esempio n. 4
0
        public ActionResult EmailSendDraft()
        {
            string getType          = Request["_type"];
            string getVal           = Request["_val"];
            string getAgentID       = Request["_pengirim"];
            string getCustID        = Request["_tujuan"];
            string getSubject       = Request["_subject"];
            string getContent       = Request["_isiBerita"];
            string getNoReferensi   = Request["_noReferensi"];
            string getUserLoc       = "";
            string getUserFlag      = "";
            string getAgentSpvLoc   = "WTAP";
            string getAgentFlag     = "READ";
            string getSupervisorID  = "";
            string getDateTimeAgent = DateTime.Now.ToString("MM/dd/yyyy HH:mm:ss");
            string getDateTimeUser  = "";

            ViewBag.Type = "sendEmail";
            Params paramList = new Params()
            {
                Parameter = new Dictionary <string, string>()
            };
            ESBData esbData = new ESBData()
            {
                Result = new List <StringDictionary>()
            };

            Object[]     data         = new Object[1];
            JSONResponse jsonResponse = new JSONResponse();

            bool checkSpv = false;

            switch (getType)
            {
            case "kirimEmail":
                checkSpv = RoleNPrivilege.checkEntityButtonByRoleID(new Guid(Session["RoleID"].ToString()), "EmailSend", "SPV");
                break;

            case "inbox":
                checkSpv = RoleNPrivilege.checkEntityButtonByRoleID(new Guid(Session["RoleID"].ToString()), "EmailInbox", "SPV");
                break;

            case "outbox":
                checkSpv = RoleNPrivilege.checkEntityButtonByRoleID(new Guid(Session["RoleID"].ToString()), "EmailOutbox", "SPV");
                break;
            }

            switch (checkSpv)
            {
            case true:
                paramList.RequestTransType = "SendDraftEmail";
                paramList.Parameter.Add("UserLoc", getUserLoc);
                paramList.Parameter.Add("UserFlag", getUserFlag);
                paramList.Parameter.Add("AgentSpvLoc", getAgentSpvLoc);
                paramList.Parameter.Add("SupervisorID", getSupervisorID);
                paramList.Parameter.Add("Content", getContent);
                paramList.Parameter.Add("DateTimeAgent", getDateTimeAgent);
                paramList.Parameter.Add("PK_ID", getNoReferensi);
                paramList.WSDL = "ESBDBDelimiter";

                esbData = EAI.RetrieveESBData(paramList);

                if (esbData != null && esbData.Result.Count != 0)
                {
                    foreach (StringDictionary kvp in esbData.Result)
                    {
                        if (kvp.ContainsKey("result"))
                        {
                            jsonResponse.Value = new
                            {
                                Message = Resources.Email.EmailSendSuccess
                            };
                            jsonResponse.Response = kvp["result"];
                        }
                    }
                }
                break;

            case false:
                paramList.RequestTransType = "SendDraftEmail";
                paramList.Parameter.Add("UserLoc", getUserLoc);
                paramList.Parameter.Add("UserFlag", getUserFlag);
                paramList.Parameter.Add("AgentSpvLoc", getAgentSpvLoc);
                paramList.Parameter.Add("SupervisorID", getSupervisorID);
                paramList.Parameter.Add("Content", getContent);
                paramList.Parameter.Add("DateTimeAgent", getDateTimeAgent);
                paramList.Parameter.Add("PK_ID", getNoReferensi);
                paramList.WSDL = "ESBDBDelimiter";

                esbData = EAI.RetrieveESBData(paramList);

                if (esbData != null && esbData.Result.Count != 0)
                {
                    foreach (StringDictionary kvp in esbData.Result)
                    {
                        if (kvp.ContainsKey("result"))
                        {
                            jsonResponse.Value = new
                            {
                                Message = Resources.Email.EmailSendSuccess
                            };
                            jsonResponse.Response = kvp["result"];
                        }
                    }
                }
                break;
            }
            return(Json(jsonResponse));
        }