예제 #1
0
        public ActionResult Create(ManageLabModel model)
        {
            string error = string.Empty;

            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            try
            {
                if (LabMember.Add(model.LabName, model.LabNameShort, model.Sequence, BaseContext.CurrentUser.UserName, out error))
                {
                    return(RedirectToAction("Index", new { Message = string.Format("Lab '{0}' successfully created.", model.LabName) }));
                }
                else
                {
                    return(RedirectToAction("Create", new { Message = error }));
                }
            }
            catch (Exception ex)
            {
                return(RedirectToAction("Create", new { Message = ex.Message }));
            }
        }
예제 #2
0
        /// <summary>
        /// GET: ManageLab/Edit/5
        /// </summary>
        /// <param name="id"></param>
        /// <param name="message"></param>
        /// <returns></returns>
        public ActionResult Edit(int id, string message)
        {
            ViewBag.StatusMessage = message;

            ManageLabModel model = LabMember.Get(id);

            return(View(model));
        }
예제 #3
0
        public async Task <ActionResult> DeleteConfirmed(int id)
        {
            LabMember labMember = await db.LabMembers.FindAsync(id);

            db.LabMembers.Remove(labMember);
            await db.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
예제 #4
0
        public async Task <ActionResult> Edit([Bind(Include = "LabMembersID,FirstName,Surname,WebPage,Email,ShortCV,MemberCategoriesID")] LabMember labMember)
        {
            if (ModelState.IsValid)
            {
                db.Entry(labMember).State = EntityState.Modified;
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            ViewBag.MemberCategoriesID = new SelectList(db.MemberCategories, "MemberCategoriesID", "CategoryName", labMember.MemberCategoriesID);
            return(View(labMember));
        }
예제 #5
0
        // GET: LabMembers/Details/5
        public async Task <ActionResult> Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            LabMember labMember = await db.LabMembers.FindAsync(id);

            if (labMember == null)
            {
                return(HttpNotFound());
            }
            return(View(labMember));
        }
예제 #6
0
        // GET: LabMembers/Edit/5
        public async Task <ActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            LabMember labMember = await db.LabMembers.FindAsync(id);

            if (labMember == null)
            {
                return(HttpNotFound());
            }
            ViewBag.MemberCategoriesID = new SelectList(db.MemberCategories, "MemberCategoriesID", "CategoryName", labMember.MemberCategoriesID);
            return(View(labMember));
        }
예제 #7
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public ActionResult ExportData()
        {
            List <ManageLabModel> list = LabMember.Get();

            System.Data.DataTable tblData = new System.Data.DataTable();
            tblData.Columns.Add("Lab ID");
            tblData.Columns.Add("Lab Name");
            tblData.Columns.Add("Sequence");

            foreach (ManageLabModel item in list)
            {
                System.Data.DataRow row = tblData.NewRow();

                row[0] = item.LabID;
                row[1] = item.LabName;
                row[2] = item.Sequence;

                tblData.Rows.Add(row);
            }

            using (XLWorkbook wb = new XLWorkbook())
            {
                wb.Worksheets.Add(tblData, "Lab");

                wb.Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
                wb.Style.Font.Bold            = true;

                Response.Clear();
                Response.Buffer      = true;
                Response.Charset     = "";
                Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
                Response.AddHeader("content-disposition", "attachment;filename=ExtractLabs.xlsx");

                using (MemoryStream MyMemoryStream = new MemoryStream())
                {
                    wb.SaveAs(MyMemoryStream);
                    MyMemoryStream.WriteTo(Response.OutputStream);
                    Response.Flush();
                    Response.End();
                }
            }

            return(RedirectToAction("Index", "ManageLab"));
        }
예제 #8
0
        public ActionResult Delete(int id, ManageLabModel model)
        {
            string error = string.Empty;

            try
            {
                model = LabMember.Get(id);
                if (LabMember.Delete(id, BaseContext.CurrentUser.UserName, out error))
                {
                    return(RedirectToAction("Index", new { Message = string.Format("Lab '{0}' successfully deleted.", model.LabName) }));
                }
                else
                {
                    return(RedirectToAction("Delete", new { Message = error }));
                }
            }
            catch (Exception ex)
            {
                return(RedirectToAction("Delete", new { Message = ex.Message }));
            }
        }
예제 #9
0
파일: LabsDao.cs 프로젝트: sbalac17/LIMS
        public static async Task <LabMember> AddMember(IRequestContext context, long labId, string userId)
        {
            var user = await context.UserManager.FindByIdAsync(userId);

            if (user == null)
            {
                throw new Exception("User does not exist.");
            }

            var labMembership = new LabMember
            {
                LabId        = labId,
                User         = user,
                IsLabManager = false
            };

            context.DbContext.LabMembers.Add(labMembership);
            await context.DbContext.SaveChangesAsync();

            await context.LogAsync($"Added user '{user.UserName}' to lab ID {labId}");

            return(labMembership);
        }
예제 #10
0
 public JsonResult GetData()
 {
     return(Json(LabMember.Get()));
 }