public ActionResult Create(Applicant applicant)
        {
            applicant.CreatedOn = DateTime.Now;
            applicant.CreatedBy = Convert.ToInt32(Session["emp_id"]);
            try
            {
                applicant.Picture = "~/ProfilePics/" + string.Concat(applicant.FormNo, "_", applicant.ProfilePicture.FileName);
                applicant.ProfilePicture.SaveAs(Server.MapPath("~/ProfilePics") + "/" + string.Concat(applicant.FormNo, "_", applicant.ProfilePicture.FileName));
            }
            catch (Exception)
            {
                ModelState.AddModelError(string.Empty, "Profile pictuer is required.");
                count++;
                ErrorMessage += count + "-Profile pictuer is required.<br />";
            }

            try
            {
                db.Applicants.Add(applicant);
                try
                {
                    for (int i = 0; i < applicant.SelectedPrograms.Length; i++)
                    {
                        applicant.BatchProgramID = Convert.ToInt32(applicant.SelectedPrograms[i]);

                        ApplyForProgram afp = new ApplyForProgram();
                        afp.FormNo    = applicant.FormNo;
                        afp.ProgramID = Convert.ToInt32(applicant.SelectedPrograms[i]); //Using for BatchProgramID
                        afp.IsActive  = applicant.IsActive;
                        afp.CreatedBy = Convert.ToInt32(Session["emp_id"]);
                        afp.CreatedOn = DateTime.Now;
                        db.ApplyForPrograms.Add(afp);
                    }
                }
                catch (Exception)
                {
                    count++;
                    ErrorMessage += count + "-Please select Program(s).<br />";
                }

                try
                {
                    if (string.IsNullOrEmpty(ErrorMessage))
                    {
                        applicant.FormNo = Convert.ToString(Convert.ToInt32(db.Applicants.Max(a => a.FormNo)) + 1);
                        db.SaveChanges();
                        ViewBag.MessageType = "success";
                        ViewBag.Message     = "Data has been saved successfully.";
                        return(RedirectToAction("Index", "Applicants"));
                    }
                    else
                    {
                        ViewBag.MessageType = "error";
                        ViewBag.Message     = ErrorMessage;
                    }
                }
                catch (DbUpdateException ex)
                {
                    ViewBag.MessageType = "error";
                    ViewBag.Message     = ex.Message;
                    ModelState.AddModelError(string.Empty, ex.Message);
                }
            }
            catch (DbEntityValidationException ex)
            {
                foreach (DbEntityValidationResult validationResult in ex.EntityValidationErrors)
                {
                    string entityName = validationResult.Entry.Entity.GetType().Name;
                    foreach (DbValidationError error in validationResult.ValidationErrors)
                    {
                        ModelState.AddModelError(string.Empty, error.ErrorMessage);
                        count++;
                        ErrorMessage += count + "-" + string.Concat(error.PropertyName, " is required.") + "<br />";
                    }
                }
                ViewBag.MessageType = "error";
                ViewBag.Message     = ErrorMessage;
            }

            ViewBag.IsActive            = new SelectList(db.Options, "OptionDesc", "OptionDesc", applicant.IsActive);
            ViewBag.CityID              = new SelectList(db.Cities, "CityID", "CityName", applicant.CityID);
            ViewBag.CountryID           = new SelectList(db.Countries, "CountryID", "CountryName", applicant.CountryID);
            ViewBag.CurrentOccupationID = new SelectList(db.CurrentOccupations, "CurrentOccupationID", "CurrentOccupationName", applicant.CurrentOccupationID);
            ViewBag.GenderID            = new SelectList(db.Genders, "GenderID", "GenderName", applicant.GenderID);
            ViewBag.MaritalStatusID     = new SelectList(db.MaritalStatus, "MaritalStatusID", "MaritalStatusName", applicant.MaritalStatusID);
            ViewBag.NationalityID       = new SelectList(db.Nationalities, "NationalityID", "NationalityName", applicant.NationalityID);
            ViewBag.ProvinceID          = new SelectList(db.Provinces, "ProvinceID", "ProvinceName", applicant.ProvinceID);
            ViewBag.RelationTypeID      = new SelectList(db.RelationTypes, "RelationTypeID", "RelationTypeName", applicant.RelationTypeID);
            ViewBag.ReligionID          = new SelectList(db.Religions, "ReligionID", "ReligionName", applicant.ReligionID);
            ViewBag.SalutationID        = new SelectList(db.Salutations, "SalutationID", "SalutationName", applicant.SalutationID);
            ViewBag.StatusID            = new SelectList(db.Status, "StatusID", "StatusName", applicant.StatusID);
            ViewBag.SelectedPrograms    = new SelectList(db.GetBatchProgramNameConcat("", 0), "ID", "Name", applicant.BatchProgramID);
            ViewBag.FormNo              = applicant.FormNo;
            return(View(applicant));
        }
Beispiel #2
0
        public ActionResult Edit(Student student)
        {
            try
            {
                if (student.ProfilePicture != null)
                {
                    student.Picture = "~/ProfilePics/" + string.Concat(student.FormNo, "_", student.ProfilePicture.FileName);
                    student.ProfilePicture.SaveAs(Server.MapPath("~/ProfilePics") + "/" + string.Concat(student.FormNo, "_", student.ProfilePicture.FileName));
                }
            }
            catch (Exception)
            {
                ModelState.AddModelError(string.Empty, "Profile pictuer is not saved.");
                count++;
                ErrorMessage += count + "-Profile pictuer is not saved.<br />";
                MessageType   = "error";
            }

            try
            {
                try
                {
                    db.Entry(student).State = EntityState.Modified;
                    student.ModifiedOn      = DateTime.Now;
                    student.ModifiedBy      = Convert.ToInt32(Session["emp_id"]);
                    ApplyForProgram applyForProgram = db.ApplyForPrograms.FirstOrDefault(afp => afp.FormNo == student.FormNo);
                    student.BatchProgramID = Convert.ToInt32(applyForProgram.ProgramID);
                    db.SaveChanges();
                    ViewBag.MessageType = "success";
                    ViewBag.Message     = "Data has been saved successfully.";
                    return(RedirectToAction("Index", "Students"));
                }
                catch (DbUpdateException ex)
                {
                    MessageType = "error";
                    count++;
                    ErrorMessage += count + "-" + ex.Message;
                    ModelState.AddModelError(string.Empty, ex.Message);
                }
            }
            catch (DbEntityValidationException ex)
            {
                foreach (DbEntityValidationResult validationResult in ex.EntityValidationErrors)
                {
                    string entityName = validationResult.Entry.Entity.GetType().Name;
                    foreach (DbValidationError error in validationResult.ValidationErrors)
                    {
                        ModelState.AddModelError(string.Empty, error.ErrorMessage);
                        count++;
                        ErrorMessage += count + "-" + string.Concat(error.PropertyName, " is required.") + "<br />";
                    }
                }
                MessageType = "error";
            }

            ViewBag.IsActive            = new SelectList(db.Options, "OptionDesc", "OptionDesc", student.IsActive);
            ViewBag.CityID              = new SelectList(db.Cities, "CityID", "CityName", student.CityID);
            ViewBag.CountryID           = new SelectList(db.Countries, "CountryID", "CountryName", student.CountryID);
            ViewBag.CurrentOccupationID = new SelectList(db.CurrentOccupations, "CurrentOccupationID", "CurrentOccupationName", student.CurrentOccupationID);
            ViewBag.GenderID            = new SelectList(db.Genders, "GenderID", "GenderName", student.GenderID);
            ViewBag.MaritalStatusID     = new SelectList(db.MaritalStatus, "MaritalStatusID", "MaritalStatusName", student.MaritalStatusID);
            ViewBag.NationalityID       = new SelectList(db.Nationalities, "NationalityID", "NationalityName", student.NationalityID);
            ViewBag.ProvinceID          = new SelectList(db.Provinces, "ProvinceID", "ProvinceName", student.ProvinceID);
            ViewBag.RelationTypeID      = new SelectList(db.RelationTypes, "RelationTypeID", "RelationTypeName", student.RelationTypeID);
            ViewBag.ReligionID          = new SelectList(db.Religions, "ReligionID", "ReligionName", student.ReligionID);
            ViewBag.SalutationID        = new SelectList(db.Salutations, "SalutationID", "SalutationName", student.SalutationID);
            ViewBag.StatusID            = new SelectList(db.Status, "StatusID", "StatusName", student.StatusID);
            ViewBag.BatchProgramID      = new SelectList(db.GetBatchProgramNameConcat("", 0), "ID", "Name", student.BatchProgramID);

            if (!string.IsNullOrEmpty(ErrorMessage) && MessageType == "error")
            {
                ViewBag.MessageType = MessageType;
                ViewBag.Message     = ErrorMessage;
            }
            return(View(student));
        }