private void ShouldReturnErrorDuplicateInsert()
        {
            var dataAccessJsonStr = string.Empty;
            var formattedJsonStr  = string.Empty;

            try
            {
                var model = new FormActionModel()
                {
                    form_name = "TipeView",
                    form_text = "Tipe",
                    act_1     = "Tambah",
                    act_2     = "Ubah",
                    act_3     = "Hapus",
                };

                _services.Insert(model);
            }
            catch (DataAccessException ex)
            {
                dataAccessJsonStr = JsonConvert.SerializeObject(ex.DataAccessStatusInfo);
                formattedJsonStr  = JToken.Parse(dataAccessJsonStr).ToString();
            }
            finally
            {
                _testOutputHelper.WriteLine(formattedJsonStr);
            }
        }
        private void ShouldReturnSuccessForInsert()
        {
            var operationSecceded = false;
            var dataAccessJsonStr = string.Empty;
            var formattedJsonStr  = string.Empty;

            try
            {
                string[] formNames = new string[]
                {
                    "TipeView", "SubTipeView", "BarangView", "SupplierView", "PelangganView"
                };

                foreach (var form in formNames)
                {
                    var model = new FormActionModel()
                    {
                        form_name = form,
                        form_text = "Tipe",
                        act_1     = "Tambah",
                        act_2     = "Ubah",
                        act_3     = "Hapus",
                    };

                    _services.Insert(model);
                }

                operationSecceded = true;
            }
            catch (DataAccessException ex)
            {
                operationSecceded = ex.DataAccessStatusInfo.OperationSucceeded;
                dataAccessJsonStr = JsonConvert.SerializeObject(ex.DataAccessStatusInfo);
                formattedJsonStr  = JToken.Parse(dataAccessJsonStr).ToString();
            }

            try
            {
                Assert.True(operationSecceded);
                _testOutputHelper.WriteLine("Data berhasil ditambahkan.");
            }
            finally
            {
                _testOutputHelper.WriteLine(formattedJsonStr);
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Isi setiap Button yang ada di Form ke tabel role_detail
        /// </summary>
        /// <param name="form">Form target</param>
        /// <param name="formAction">FormActionModel object</param>
        /// <param name="control">Control target</param>
        private void PopulateButtonToRoleDetail(Form form, FormActionModel formAction, Control control)
        {
            foreach (Control ctrl in control.Controls)
            {
                // Kita hanya ingin memilih Control Button saja
                if (ctrl is Button)
                {
                    var button = (Button)ctrl;

                    // Lewati Button yang mempunyai Tag ignore
                    if (button.TagIgnore())
                    {
                        continue;
                    }

                    // Ambil menu_name dari Tag Button jika tersedia, sebaliknya ambil dari Text Button
                    string buttonText = button.Tag != null?button.Tag.ToString() : button.Text;

                    // Tambahkan ke kolom act baru jika Button ditemukan
                    _colActNo += 1;
                    string colActName = $"act_{_colActNo}"; // Nama property

                    // Atur property berdasarkan nama dari property
                    // cari property berdasarkan nama (contoh act_1)
                    // lalu isi value property tersebut berdasarkan tag / text dari Button
                    var propertyInfo = formAction.GetType().GetProperty(colActName);
                    propertyInfo.SetValue(formAction, Convert.ChangeType(buttonText, propertyInfo.PropertyType), null);

                    // Buat RoleDetail object
                    var roleDetail = new RoleDetailModel()
                    {
                        role_kode   = RoleKode,
                        menu_name   = buttonText,
                        menu_parent = form.AccessibleName, // Menu header (parent) di MenuStrip
                        form_action = form.Name,
                        tag         = "action"
                    };

                    // Simpan data Button ke tabel role_detail
                    _roleServices.Insert(roleDetail);
                }

                PopulateButtonToRoleDetail(form, formAction, ctrl); // Recursive method
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Isi Button action yang ada di Form ke tabel form_action
        /// </summary>
        /// <param name="form">Form target</param>
        private void PopulateButtonFormToFormAction(Form form)
        {
            // Buat object FormAction dari Form tersebut
            var formAction = new FormActionModel();

            formAction.form_name = form.Name;
            formAction.form_text = form.Text;

            // Looping setiap Control yang bertipe Button pada Form
            foreach (Control ctrl in form.Controls)
            {
                PopulateButtonToRoleDetail(form, formAction, ctrl);
            }

            // Reset nilai kolom act dan dispose object Form
            _colActNo = 0;
            form.Dispose();

            // Simpan data Form ke tabel form_action
            _formActionServices.Insert(formAction);
        }
        public void ShouldReturnModelMatchingFormName()
        {
            FormActionModel model         = null;
            var             formNameToGet = "TipeView";

            try
            {
                model = (FormActionModel)_services.GetByFormName(formNameToGet);
            }
            catch (DataAccessException ex)
            {
                _testOutputHelper.WriteLine(ex.DataAccessStatusInfo.GetFormatedValues());
            }

            Assert.True(model != null);
            Assert.True(model.form_name == formNameToGet);

            if (model != null)
            {
                TestsHelper.WriteModel(_testOutputHelper, model);
            }
        }
Ejemplo n.º 6
0
 public FormActionServicesFixture()
 {
     Model    = new FormActionModel();
     Services = new FormActionServices(null, new ModelDataAnnotationCheck());
 }