public async Task <IActionResult> Edit(int id, [Bind("AutoId,ClsFeeId,FeeNo,Caption,ForMonth,Amount,FeeCaption,PayByDate,ForClass,StdCategory,DueOn")] DynaFee dynaFee)
        {
            if (id != dynaFee.ClsFeeId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(dynaFee);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!DynaFeeExists(dynaFee.ClsFeeId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(dynaFee));
        }
        public async Task <IActionResult> Index([Bind("Caption,ForMonth,Amount,FeeCaption,ForClass,StdCategory, SessionName ")] DynaFee dynaFee)
        {
            if (ModelState.IsValid)
            {
                GetSchClss(_context);
                ViewBag.SchClssLst = new SelectList(SchClsLst, "Value", "Text", null);
                GetSchSession(_context);
                ViewBag.AcaSession = new SelectList(SchSessLst, "Value", "Text", null);
                GetStdFeeCat(_context);
                ViewBag.StdFeeCat  = new SelectList(SchStdFeeCat, "Value", "Text", null);
                ViewBag.StdFeeName = new SelectList("None", "None");
                if (dynaFee.ForClass != "")
                {
                    if (dynaFee.SessionName != "")
                    {
                        if (dynaFee.StdCategory != "")
                        {
                            HttpResponseMessage responseMessage = await client.GetAsync(url + "/api/Func/GetStdFeeName/?clss=" + dynaFee.ForClass + "&tSess=" + dynaFee.SessionName + "&stdFeeCat=" + dynaFee.StdCategory + "&dSess=" + dSess + "&mdBId=" + mdBId);

                            if (responseMessage.IsSuccessStatusCode)
                            {
                                var responseData = responseMessage.Content.ReadAsStringAsync().Result;
                                SchFeeNameLst = JsonConvert.DeserializeObject <List <SelectListItem> >(responseData);
                            }
                        }
                    }
                }
                ViewBag.StdFeeName = new SelectList(SchFeeNameLst, "Value", "Text", null);
            }
            return(View());
        }
        public async Task <IActionResult> Create([Bind("AutoId,ClsFeeId,FeeNo,Caption,ForMonth,Amount,FeeCaption,PayByDate,ForClass,StdCategory,DueOn")] DynaFee dynaFee)
        {
            if (ModelState.IsValid)
            {
                _context.Add(dynaFee);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(dynaFee));
        }
        public async Task <IActionResult> PostDynaFee([FromBody] DynaFee dynaFee)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            _context.DynaFee.Add(dynaFee);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetDynaFee", new { id = dynaFee.AutoId }, dynaFee));
        }
        public async Task <IActionResult> PutDynaFee([FromRoute] int id, [FromBody] DynaFee dynaFee)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            _context.Entry(dynaFee).State = EntityState.Modified;
            try
            {
                var conn = _context.Database.GetDbConnection();
                if (conn.State == ConnectionState.Closed)
                {
                    await conn.OpenAsync();
                }
                using (var command = conn.CreateCommand())
                {
                    if (dynaFee.ClsFeeId != 0)
                    {
                        MySql = " DELETE FROM DynaFee"
                                + " WHERE Dormant = 0  "
                                + " AND ClsFeeId = " + dynaFee.ClsFeeId
                                + " AND ForClass = '" + dynaFee.ForClass + "'"
                                + " AND StdCategory = '" + dynaFee.StdCategory + "'"
                                + " AND SessionName = '" + dynaFee.SessionName + "'"
                                + " AND FeeCaption = '" + dynaFee.FeeCaption + "'"
                                + " AND Caption = '" + dynaFee.Caption + "'";
                        command.CommandType = CommandType.Text;
                        command.CommandText = MySql;
                        command.ExecuteNonQuery();
                    }
                    MySql = " INSERT INTO DynaFee ( ClsFeeId, FeeNo, Caption, ForMonth, Amount, FeeCaption, PayByDate, ForClass, " +
                            "StdCategory,   SessionName, DueOn,"
                            + " Dormant, LoginName, ModTime, cTerminal, dBID) Values ("
                            + dynaFee.ClsFeeId + "," + dynaFee.FeeNo + ",'" + dynaFee.Caption + "'," + GloFunc.ToOADate(dynaFee.ForMonth) + ","
                            + dynaFee.Amount + ",'" + dynaFee.FeeCaption + "'," + GloFunc.ToOADate(dynaFee.PayByDate) + ",'" + dynaFee.ForClass + "','"
                            + dynaFee.StdCategory + "','" + dynaFee.SessionName + "'," + GloFunc.ToOADate(dynaFee.DueOn)
                            + ", 0,'" + dynaFee.LoginName + "'," + DateTime.Now.Date.ToOADate()
                            + ",'" + dynaFee.CTerminal + "'," + dynaFee.DBid + ")";

                    command.CommandType = CommandType.Text;
                    command.CommandText = MySql;
                    command.ExecuteNonQuery();
                }
            }
            catch (DbUpdateConcurrencyException)
            {
                throw;
            }
            return(NoContent());
        }
 public async Task <IActionResult> NewDynaFee(DynaFee dynaFee)
 {
     try
     {
         ViewBag.Clss        = dynaFee.ForClass;
         ViewBag.SessionName = dynaFee.SessionName;
         ViewBag.StdCategory = dynaFee.StdCategory;
         ViewBag.FeeCaption  = dynaFee.FeeCaption;
         return(View());
     }
     catch
     {
         return(View());
     }
 }
        public async Task <IActionResult> EditDynaFee(DynaFee dynaFee)
        {
            try
            {
                ViewBag.Clss        = dynaFee.ForClass;
                ViewBag.SessionName = dynaFee.SessionName;
                ViewBag.StdCategory = dynaFee.StdCategory;
                ViewBag.FeeCaption  = dynaFee.FeeCaption;
                HttpResponseMessage responseMessage = await client.GetAsync(url + "/api/Func/GetStdFeeDate/?clss=" + dynaFee.ForClass + "&tSess=" + dynaFee.SessionName + "&stdFeeCat=" + dynaFee.StdCategory + "&stdFeeCap=" + dynaFee.FeeCaption + "&dSess=" + dSess + "&mdBId=" + mdBId);

                if (responseMessage.IsSuccessStatusCode)
                {
                    var responseData = responseMessage.Content.ReadAsStringAsync().Result;
                    feeDueOn = JsonConvert.DeserializeObject <DateTime>(responseData);
                }

                ViewBag.BillDate = feeDueOn;
                return(View());
            }
            catch
            {
                return(View());
            }
        }
        public IEnumerable <DynaFee> GetDynaFee(string clss, string tSess, string stdFeeCat, string FeeCap, string dSess, int mdBId, int Mode = 0)
        {
            int            tAutoid        = 0;
            List <DynaFee> dynaFeeList    = new List <DynaFee>();
            List <string>  FeeCaptionList = new List <string>();
            var            conn           = _context.Database.GetDbConnection();
            DbDataReader   kMyReader;

            if (conn.State == ConnectionState.Closed)
            {
                conn.Open();
            }
            using (var command = conn.CreateCommand())
            {
                if (Mode == 0)
                {
                    MySql = " SELECT DISTINCT FeeCaption ";
                    MySql = MySql + " FROM FCaption WITH (NOLOCK)";
                    MySql = MySql + " WHERE  Dormant = 0";
                    MySql = MySql + " AND  ShowIt = 0";
                    MySql = MySql + " AND dBID = " + mdBId;

                    command.CommandType = CommandType.Text;
                    command.CommandText = MySql;
                    kMyReader           = command.ExecuteReader();
                    if (kMyReader.HasRows)
                    {
                        while (kMyReader.Read())
                        {
                            if (!kMyReader.IsDBNull(0))
                            {
                                FeeCaptionList.Add(kMyReader.GetString(0));
                            }
                        }
                    }
                    kMyReader.Close();
                }

                MySql = " SELECT ClsFeeId, FeeNo, Caption, ForMonth, Amount, FeeCaption, ";
                MySql = MySql + " PayByDate, ForClass, StdCategory, SessionName, DueOn ";
                MySql = MySql + " FROM DynaFee WITH (NOLOCK)";
                MySql = MySql + " WHERE  Dormant = 0";
                MySql = MySql + " AND dBID = " + mdBId;
                MySql = MySql + " AND ForClass = '" + clss + "'";
                MySql = MySql + " AND SessionName = '" + tSess + "'";
                MySql = MySql + " AND StdCategory = '" + stdFeeCat + "'";
                MySql = MySql + " AND FeeCaption = '" + FeeCap + "'";
                command.CommandType = CommandType.Text;
                command.CommandText = MySql;
                kMyReader           = command.ExecuteReader();
                if (kMyReader.HasRows)
                {
                    while (kMyReader.Read())
                    {
                        DynaFee dynFee = new DynaFee();
                        dynFee.AutoId = tAutoid + 1;
                        if (!kMyReader.IsDBNull(0))
                        {
                            dynFee.ClsFeeId = kMyReader.GetInt32(0);
                        }
                        if (!kMyReader.IsDBNull(1))
                        {
                            dynFee.FeeNo = kMyReader.GetInt32(1);
                        }
                        if (!kMyReader.IsDBNull(2))
                        {
                            dynFee.Caption = kMyReader.GetString(2);
                            FeeCaptionList.Remove(dynFee.Caption);
                        }
                        if (!kMyReader.IsDBNull(3))
                        {
                            dynFee.ForMonth = GloFunc.FromOADate(kMyReader.GetInt32(3));
                        }
                        if (!kMyReader.IsDBNull(4))
                        {
                            dynFee.Amount = kMyReader.GetDouble(4);
                        }
                        if (!kMyReader.IsDBNull(5))
                        {
                            dynFee.FeeCaption = kMyReader.GetString(5);
                        }
                        if (!kMyReader.IsDBNull(6))
                        {
                            dynFee.PayByDate = GloFunc.FromOADate(kMyReader.GetDouble(6));
                        }
                        if (!kMyReader.IsDBNull(7))
                        {
                            dynFee.ForClass = kMyReader.GetString(7);
                        }
                        if (!kMyReader.IsDBNull(8))
                        {
                            dynFee.StdCategory = kMyReader.GetString(8);
                        }
                        if (!kMyReader.IsDBNull(9))
                        {
                            dynFee.SessionName = kMyReader.GetString(9);
                        }
                        if (!kMyReader.IsDBNull(10))
                        {
                            dynFee.DueOn = GloFunc.FromOADate(kMyReader.GetDouble(10));
                        }
                        dynaFeeList.Add(dynFee);
                        tAutoid = tAutoid + 1;
                    }
                }
                kMyReader.Close();
            }
            foreach (var item in FeeCaptionList)
            {
                DynaFee dynFee = new DynaFee();
                dynFee.AutoId   = tAutoid + 1;
                dynFee.Caption  = item;
                dynFee.ClsFeeId = 0;
                dynFee.FeeNo    = 0;
                //dynFee.ForMonth = item.ForMonth;
                dynFee.Amount      = 0;
                dynFee.ForClass    = clss;
                dynFee.StdCategory = stdFeeCat;
                dynFee.SessionName = tSess;
                dynaFeeList.Add(dynFee);
                tAutoid = tAutoid + 1;
            }
            return(dynaFeeList);
        }