public async Task <IActionResult> Create()
        {
            ReasonMapingGroupEditVM rejectMap = new ReasonMapingGroupEditVM();

            IEnumerable <SelectListItem> bankList;
            IEnumerable <SelectListItem> GroupRejectList;

            // List bank collector pendebetan CC
            List <int> bankIds = new List <int>();

            bankIds.Add(1);  // BCA
            bankIds.Add(2);  // Mandiri
            bankIds.Add(3);  // BNI
            bankIds.Add(12); // Mega
            bankIds.Add(14); // CIMB

            bankList = _context.BankModel.Where(b => bankIds.Contains(b.bank_id))
                       .Select(x => new SelectListItem {
                Value = x.bank_id.ToString(), Text = x.bank_code
            }).Where(r => r.Value != "0");
            GroupRejectList = _context.GroupRejectMappingModel.Select(x => new SelectListItem {
                Value = x.id.ToString(), Text = x.GroupRejectReason
            });
            rejectMap.banks       = bankList;
            rejectMap.GroupReject = GroupRejectList;

            return(View(rejectMap));
        }
        public ActionResult Edit(int id, [Bind("id,bank_id,RejectCode,RejectReason,GroupRejectMappingID,note")] ReasonMapingGroupEditVM ReasonMapingUpdate)
        {
            Boolean retval  = false;
            string  message = "";

            var reasonGroupModel = this.findRejectModel(id);

            if (reasonGroupModel == null)
            {
                retval  = false;
                message = "Data tidak ditemukan";
                return(Json(new { data = retval, message = message }));
            }

            int bankid;

            if (!int.TryParse(ReasonMapingUpdate.bank_id ?? "0", out bankid))
            {
                retval  = false;
                message = "Data tidak ditemukan";
                return(Json(new { data = retval, message = message }));
            }

            try
            {
                reasonGroupModel.bank_id              = (bankid == 0 ? (int?)null : bankid);
                reasonGroupModel.RejectCode           = ReasonMapingUpdate.RejectCode;
                reasonGroupModel.RejectReason         = ReasonMapingUpdate.RejectReason;
                reasonGroupModel.GroupRejectMappingID = int.Parse(ReasonMapingUpdate.GroupRejectMappingID);
                reasonGroupModel.note = ReasonMapingUpdate.note;
                _context.Update(reasonGroupModel);
                _context.SaveChanges();
                retval  = true;
                message = "sukses";
            }
            catch (Exception ex)
            {
                retval  = false;
                message = ex.Message;
            }

            return(Json(new { data = retval, message = message }));
        }
        public async Task <IActionResult> Create(ReasonMapingGroupEditVM ReasonMapVM)
        {
            var ReasonMapModel = new ReasonMapingGroupModel();

            int bankid, groupid;

            if (int.TryParse(ReasonMapVM.GroupRejectMappingID, out groupid))
            {
                ReasonMapModel.GroupRejectMappingID = groupid;
            }
            else
            {
                ModelState.AddModelError("GroupRejectMappingID", " Group Reject belum dipilih ");
            }

            if (string.IsNullOrEmpty(ReasonMapVM.RejectReason))
            {
                ModelState.AddModelError("RejectReason", " Reaject Reason harus diisi ");
            }

            if (ModelState.IsValid)
            {
                if (int.TryParse(ReasonMapVM.bank_id, out bankid))
                {
                    ReasonMapModel.bank_id = bankid;
                }

                if (ReasonMapModel.bank_id == null)
                {
                    ReasonMapModel.RejectCode = null;
                }
                else
                {
                    ReasonMapModel.RejectCode = ReasonMapVM.RejectCode;
                }

                ReasonMapModel.RejectReason = ReasonMapVM.RejectReason;

                ReasonMapModel.note     = ReasonMapVM.note;
                ReasonMapModel.user_crt = User.Identity.Name;
                ReasonMapModel.DateCrt  = DateTime.Now;



                _context.ReasonMapingGroupModel.Add(ReasonMapModel);
                await _context.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            IEnumerable <SelectListItem> bankList;
            IEnumerable <SelectListItem> GroupRejectList;

            // List bank collector pendebetan CC
            List <int> bankIds = new List <int>();

            bankIds.Add(1);  // BCA
            bankIds.Add(2);  // Mandiri
            bankIds.Add(3);  // BNI
            bankIds.Add(12); // Mega
            bankIds.Add(14); // CIMB

            bankList = _context.BankModel.Where(b => bankIds.Contains(b.bank_id))
                       .Select(x => new SelectListItem {
                Value = x.bank_id.ToString(), Text = x.bank_code
            }).Where(r => r.Value != "0");
            GroupRejectList = _context.GroupRejectMappingModel.Select(x => new SelectListItem {
                Value = x.id.ToString(), Text = x.GroupRejectReason
            });
            ReasonMapVM.banks       = bankList;
            ReasonMapVM.GroupReject = GroupRejectList;
            return(View(ReasonMapVM));
        }
        public async Task <IActionResult> Edit(int id)
        {
            ReasonMapingGroupEditVM rejectMap = new ReasonMapingGroupEditVM();
            var cmd = _context.Database.GetDbConnection().CreateCommand();

            cmd.CommandType = CommandType.Text;
            cmd.CommandText = @"SELECT rm.`id`,rm.`bank_id`,b.`bank_code`,rm.`RejectCode`,rm.`RejectReason`,rm.`GroupRejectMappingID`,gm.`GroupRejectReason`,rm.`note`
                                FROM `reason_maping_group` rm
                                LEFT JOIN `bank` b ON b.`bank_id`=rm.`bank_id`
                                LEFT JOIN `GroupRejectMapping` gm ON gm.`id`=rm.`id`
                                WHERE rm.`id`=@idx LIMIT 1 ; ";
            cmd.Parameters.Clear();
            cmd.Parameters.Add(new MySqlParameter("@idx", MySqlDbType.Int16)
            {
                Value = id
            });
            try
            {
                cmd.Connection.Open();
                var rd = await cmd.ExecuteReaderAsync();

                while (rd.Read())
                {
                    rejectMap.id                      = rd["id"].ToString();
                    rejectMap.bank_id                 = rd["bank_id"].ToString();
                    rejectMap.bank_name               = rd["bank_code"].ToString();
                    rejectMap.RejectCode              = rd["RejectCode"].ToString();
                    rejectMap.RejectReason            = rd["RejectReason"].ToString();
                    rejectMap.GroupRejectMappingID    = rd["GroupRejectMappingID"].ToString();
                    rejectMap.GroupReject_Description = rd["GroupRejectReason"].ToString();
                    rejectMap.note                    = rd["note"].ToString();
                }
            }
            catch (Exception ex) { flashMessage.Danger(ex.Message); }
            finally { cmd.Connection.Close(); }

            if (rejectMap == null)
            {
                return(NotFound());
            }

            IEnumerable <SelectListItem> bankList;
            IEnumerable <SelectListItem> GroupRejectList;

            // List bank collector pendebetan CC
            List <int> bankIds = new List <int>();

            bankIds.Add(1);
            bankIds.Add(2);
            bankIds.Add(3);
            bankIds.Add(12);
            bankIds.Add(14);

            bankList = _context.BankModel.Where(b => bankIds.Contains(b.bank_id))
                       .Select(x => new SelectListItem {
                Value = x.bank_id.ToString(), Text = x.bank_code
            }).Where(r => r.Value != "0");
            GroupRejectList = _context.GroupRejectMappingModel.Select(x => new SelectListItem {
                Value = x.id.ToString(), Text = x.GroupRejectReason
            });
            rejectMap.banks       = bankList;
            rejectMap.GroupReject = GroupRejectList;

            return(PartialView(rejectMap));
        }