コード例 #1
0
        public ActionResult Created([Bind(Include = "ID,Code,Category,ConferenceYear")] Conference conference)
        {
            Cmn cmn = new Cmn();

            cmn.UserName = "******";
            if (User.Identity.IsAuthenticated)
            {
                cmn.UserName = User.Identity.Name;
            }
            UserInformation userInformation = db.UserInformations.Where(p => p.UserAccount == cmn.UserName)
                                              .Where(p => p.PermissionEnabled == "Enabled")
                                              .FirstOrDefault();

            if (userInformation == null)
            {
                return(RedirectToAction("", "Home", null));
            }
            if (userInformation.PermissionGroup == null)
            {
                return(RedirectToAction("", "Home", null));
            }
            if (userInformation.PermissionGroup != "Administrator")
            {
                return(RedirectToAction("", "Home", null));
            }

            if (conference == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            if (ModelState.IsValid == false)
            {
                return(View(conference));
            }

            //  Either one time or in series
            if (conference.Code == null && conference.Category == null && conference.ConferenceYear == null)
            {
                return(View(conference));
            }
            ;
            if (conference.Code == null && conference.Category == null && conference.ConferenceYear != null)
            {
                return(View(conference));
            }
            ;
            if (conference.Code == null && conference.Category != null && conference.ConferenceYear == null)
            {
                return(View(conference));
            }
            ;
            //  if (conference.Code == null && conference.Category != null && conference.ConferenceYear != null) { return View(conference); };
            //  if (conference.Code != null && conference.Category == null && conference.ConferenceYear == null) { return View(conference); };
            if (conference.Code != null && conference.Category == null && conference.ConferenceYear != null)
            {
                return(View(conference));
            }
            ;
            if (conference.Code != null && conference.Category != null && conference.ConferenceYear == null)
            {
                return(View(conference));
            }
            ;
            if (conference.Code != null && conference.Category != null && conference.ConferenceYear != null)
            {
                return(View(conference));
            }
            ;

            //  Validate conference code as unique
            string conferneceCode = conference.Code;

            if (conference.ConferenceYear != null)
            {
                if (cmn.IsInteger(conference.ConferenceYear) == false)
                {
                    return(View(conference));
                }
                conferneceCode = conference.Category + cmn.CnvString(conference.ConferenceYear.ToString(), 2);
            }
            ;
            int numRecord = db.Conferences.Count(p => p.Code == conferneceCode);

            if (numRecord != 0)
            {
                return(View(conference));
            }
            //  Set system log
            conference.DateCreate = cmn.CurrentDatetime;
            conference.UserCreate = cmn.UserName;
            conference.DateEdit   = cmn.CurrentDatetime;
            conference.UserEdit   = cmn.UserName;
            db.Conferences.Add(conference);
            db.SaveChanges();

            //  Generate control date
            List <CommonDropList> commonDropLists = db.CommonDropLists.Where(p => p.Category == "ImportantDateOfConference").OrderBy(p => p.SequenceNum).ToList();

            if (commonDropLists != null)
            {
                foreach (CommonDropList commonDropList in commonDropLists)
                {
                    ControlDate controlDate = new ControlDate();
                    controlDate.ConferenceID = conference.ID;
                    controlDate.Category     = commonDropList.Value;
                    controlDate.Explanation  = cmn.CnvString(commonDropList.SequenceNum.ToString(), 2) + " " + commonDropList.Text;
                    controlDate.DateCreate   = cmn.CurrentDatetime;
                    controlDate.UserCreate   = cmn.UserName;
                    controlDate.DateEdit     = cmn.CurrentDatetime;
                    controlDate.UserEdit     = cmn.UserName;
                    db.ControlDates.Add(controlDate);
                }
            }

            return(RedirectToAction("Edit", "Conferences", new { id = conference.ID }));
        }