コード例 #1
0
        // [Audit]
        public ActionResult Create([Bind(Include = "MaNhomThuoc,TenNhomThuoc,KyHieuNhomThuoc")] NhomThuoc nhomThuoc)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var nhaThuoc      = this.GetNhaThuoc();
                    var maNhaThuoc    = nhaThuoc.MaNhaThuoc;
                    var maNhaThuocCha = nhaThuoc.MaNhaThuocCha;
                    var item          = unitOfWork.NhomThuocRepository.Get(c => (c.NhaThuoc.MaNhaThuoc == maNhaThuoc || c.NhaThuoc.MaNhaThuoc == maNhaThuocCha) && c.TenNhomThuoc == nhomThuoc.TenNhomThuoc).FirstOrDefault();
                    if (item != null)
                    {
                        ModelState.AddModelError("TenNhomThuoc", "Tên nhóm thuốc này đã tồn tại. Vui lòng nhập tên nhóm thuốc khác");
                    }
                    else
                    {
                        nhomThuoc.NhaThuoc        = unitOfWork.NhaThuocRepository.GetById(maNhaThuocCha);
                        nhomThuoc.TenNhomThuoc    = nhomThuoc.TenNhomThuoc;
                        nhomThuoc.KyHieuNhomThuoc = nhomThuoc.KyHieuNhomThuoc;
                        nhomThuoc.Created         = DateTime.Now;
                        nhomThuoc.CreatedBy       = unitOfWork.UserProfileRepository.GetById(WebSecurity.GetCurrentUserId);
                        unitOfWork.NhomThuocRepository.Insert(nhomThuoc);
                        unitOfWork.Save();

                        return(RedirectToAction("Index"));
                    }
                }
                catch (Exception e)
                {
                    ModelState.AddModelError("TenNhomThuoc", e.Message);
                }
            }

            return(View(nhomThuoc));
        }
コード例 #2
0
        public ActionResult DeleteConfirmed(string id)
        {
            NhomThuoc nhomThuoc = db.NhomThuocs.Find(id);

            db.NhomThuocs.Remove(nhomThuoc);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
コード例 #3
0
 public ActionResult Edit([Bind(Include = "MaNhom,TenNhom")] NhomThuoc nhomThuoc)
 {
     if (ModelState.IsValid)
     {
         db.Entry(nhomThuoc).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(nhomThuoc));
 }
コード例 #4
0
        public ActionResult Create([Bind(Include = "MaNhom,TenNhom")] NhomThuoc nhomThuoc)
        {
            if (ModelState.IsValid)
            {
                db.NhomThuocs.Add(nhomThuoc);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(nhomThuoc));
        }
コード例 #5
0
        // GET: NhomThuocs/Delete/5
        public ActionResult Delete(string id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            NhomThuoc nhomThuoc = db.NhomThuocs.Find(id);

            if (nhomThuoc == null)
            {
                return(HttpNotFound());
            }
            return(View(nhomThuoc));
        }
コード例 #6
0
ファイル: NhomThuocBus.cs プロジェクト: itcthienkhiem/LIS
        public static Result CheckNhomThuocExistCode(string nhomThuocGUID, string code)
        {
            Result     result = new Result();
            MMOverride db     = null;

            try
            {
                db = new MMOverride();
                NhomThuoc nt = null;
                if (nhomThuocGUID == null || nhomThuocGUID == string.Empty)
                {
                    nt = db.NhomThuocs.SingleOrDefault <NhomThuoc>(n => n.MaNhomThuoc.ToLower() == code.ToLower());
                }
                else
                {
                    nt = db.NhomThuocs.SingleOrDefault <NhomThuoc>(n => n.MaNhomThuoc.ToLower() == code.ToLower() &&
                                                                   n.NhomThuocGUID.ToString() != nhomThuocGUID);
                }

                if (nt == null)
                {
                    result.Error.Code = ErrorCode.NOT_EXIST;
                }
                else
                {
                    result.Error.Code = ErrorCode.EXIST;
                }
            }
            catch (System.Data.SqlClient.SqlException se)
            {
                result.Error.Code        = (se.Message.IndexOf("Timeout expired") >= 0) ? ErrorCode.SQL_QUERY_TIMEOUT : ErrorCode.INVALID_SQL_STATEMENT;
                result.Error.Description = se.ToString();
            }
            catch (Exception e)
            {
                result.Error.Code        = ErrorCode.UNKNOWN_ERROR;
                result.Error.Description = e.ToString();
            }
            finally
            {
                if (db != null)
                {
                    db.Dispose();
                    db = null;
                }
            }

            return(result);
        }
コード例 #7
0
        public async Task <ActionResult> Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            var       nhaThuoc      = this.GetNhaThuoc();
            var       maNhaThuoc    = nhaThuoc.MaNhaThuoc;
            var       maNhaThuocCha = nhaThuoc.MaNhaThuocCha;
            NhomThuoc nhomThuoc     =
                await
                unitOfWork.NhomThuocRepository.GetMany(
                    e => e.MaNhomThuoc == id && (e.NhaThuoc.MaNhaThuoc == maNhaThuoc || e.NhaThuoc.MaNhaThuoc == maNhaThuocCha)).FirstAsync();

            if (nhomThuoc == null)
            {
                return(HttpNotFound());
            }
            return(View(nhomThuoc));
        }
コード例 #8
0
        public int SaveDrugGroup(string maNhaThuoc, int userId, GroupDrugInfo model)
        {
            int       retval       = -1;
            NhomThuoc newNhomThuoc = new NhomThuoc
            {
                MaNhaThuoc       = maNhaThuoc,
                CreatedBy_UserId = userId,
                Created          = DateTime.Now,
                TenNhomThuoc     = model.TenNhomThuoc,
                KyHieuNhomThuoc  = model.KyHieuNhomThuoc
            };

            var nhomThuocRepo = IoC.Container.Resolve <BaseRepositoryV2 <MedDbContext, NhomThuoc> >();

            nhomThuocRepo.Insert(newNhomThuoc);
            nhomThuocRepo.Commit();
            retval = newNhomThuoc.MaNhomThuoc;

            return(retval);
        }
コード例 #9
0
        // [Audit]
        public async Task <ActionResult> Edit([Bind(Include = "MaNhomThuoc,TenNhomThuoc,KyHieuNhomThuoc,MaNhaThuoc")] NhomThuoc nhomThuoc)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var nhaThuoc      = this.GetNhaThuoc();
                    var maNhaThuoc    = nhaThuoc.MaNhaThuoc;
                    var maNhaThuocCha = nhaThuoc.MaNhaThuocCha;
                    var existItem     = unitOfWork.NhomThuocRepository.Get(c => c.TenNhomThuoc == nhomThuoc.TenNhomThuoc && c.MaNhomThuoc != nhomThuoc.MaNhomThuoc && (c.NhaThuoc.MaNhaThuoc == maNhaThuoc || c.NhaThuoc.MaNhaThuoc == maNhaThuocCha)).FirstOrDefault();
                    if (existItem != null)
                    {
                        ModelState.AddModelError("TenNhomThuoc", "Tên nhóm thuốc này đã tồn tại. Vui lòng nhập tên nhóm thuốc khác.");
                        return(View(nhomThuoc));
                    }
                    else
                    {
                        var nThuoc = await unitOfWork.NhomThuocRepository.GetMany(e => e.MaNhomThuoc == nhomThuoc.MaNhomThuoc && (e.NhaThuoc.MaNhaThuoc == maNhaThuoc || e.NhaThuoc.MaNhaThuoc == maNhaThuocCha)).FirstAsync();

                        if (nThuoc != null)
                        {
                            nThuoc.TenNhomThuoc    = nhomThuoc.TenNhomThuoc;
                            nThuoc.KyHieuNhomThuoc = nhomThuoc.KyHieuNhomThuoc;
                            nThuoc.Modified        = DateTime.Now;
                            nThuoc.ModifiedBy      = unitOfWork.UserProfileRepository.GetById(WebSecurity.GetCurrentUserId);
                            unitOfWork.NhomThuocRepository.Update(nThuoc);
                            unitOfWork.Save();
                        }
                    }
                }
                catch (Exception e)
                {
                    ModelState.AddModelError("TenNhomThuoc", e.Message);
                    return(View(nhomThuoc));
                }

                return(RedirectToAction("Index"));
            }
            return(View(nhomThuoc));
        }
コード例 #10
0
ファイル: NhomThuocBus.cs プロジェクト: itcthienkhiem/LIS
        public static Result InsertNhomThuoc(NhomThuoc nhomThuoc, List <string> addedThuocList, List <string> deletedThuocList)
        {
            Result     result = new Result();
            MMOverride db     = null;

            try
            {
                db = new MMOverride();
                string desc = string.Empty;

                using (TransactionScope t = new TransactionScope(TransactionScopeOption.RequiresNew))
                {
                    //Insert
                    if (nhomThuoc.NhomThuocGUID == null || nhomThuoc.NhomThuocGUID == Guid.Empty)
                    {
                        nhomThuoc.NhomThuocGUID = Guid.NewGuid();
                        db.NhomThuocs.InsertOnSubmit(nhomThuoc);
                        db.SubmitChanges();

                        desc += string.Format("- Nhóm thuốc: GUID: '{0}', Mã nhóm thuốc: '{1}', Tên nhóm thuốc: '{2}'\n",
                                              nhomThuoc.NhomThuocGUID.ToString(), nhomThuoc.MaNhomThuoc, nhomThuoc.TenNhomThuoc);

                        //Thuoc
                        if (addedThuocList != null && addedThuocList.Count > 0)
                        {
                            desc += string.Format("- Danh sách thuốc được thêm:\n");
                            foreach (string key in addedThuocList)
                            {
                                NhomThuoc_Thuoc ntt = db.NhomThuoc_Thuocs.SingleOrDefault <NhomThuoc_Thuoc>(n => n.ThuocGUID.ToString() == key &&
                                                                                                            n.NhomThuocGUID.ToString() == nhomThuoc.NhomThuocGUID.ToString());

                                if (ntt == null)
                                {
                                    ntt = new NhomThuoc_Thuoc();
                                    ntt.NhomThuoc_ThuocGUID = Guid.NewGuid();
                                    ntt.NhomThuocGUID       = nhomThuoc.NhomThuocGUID;
                                    ntt.ThuocGUID           = Guid.Parse(key);
                                    ntt.CreatedDate         = DateTime.Now;
                                    ntt.CreatedBy           = Guid.Parse(Global.UserGUID);
                                    ntt.Status = (byte)Status.Actived;
                                    db.NhomThuoc_Thuocs.InsertOnSubmit(ntt);
                                    db.SubmitChanges();
                                }
                                else
                                {
                                    ntt.Status      = (byte)Status.Actived;
                                    ntt.UpdatedDate = DateTime.Now;
                                    ntt.UpdatedBy   = Guid.Parse(Global.UserGUID);
                                    db.SubmitChanges();
                                }

                                desc += string.Format("  + GUID: '{0}', Thuốc:'{1}'\n", ntt.NhomThuoc_ThuocGUID.ToString(), ntt.Thuoc.TenThuoc);
                            }
                        }

                        //Tracking
                        desc = desc.Substring(0, desc.Length - 1);
                        Tracking tk = new Tracking();
                        tk.TrackingGUID = Guid.NewGuid();
                        tk.TrackingDate = DateTime.Now;
                        tk.DocStaffGUID = Guid.Parse(Global.UserGUID);
                        tk.ActionType   = (byte)ActionType.Add;
                        tk.Action       = "Thêm thông tin nhóm thuốc";
                        tk.Description  = desc;
                        tk.TrackingType = (byte)TrackingType.None;
                        tk.ComputerName = Utility.GetDNSHostName();
                        db.Trackings.InsertOnSubmit(tk);

                        db.SubmitChanges();
                    }
                    else //Update
                    {
                        NhomThuoc nt = db.NhomThuocs.SingleOrDefault <NhomThuoc>(n => n.NhomThuocGUID.ToString() == nhomThuoc.NhomThuocGUID.ToString());
                        if (nt != null)
                        {
                            nt.MaNhomThuoc  = nhomThuoc.MaNhomThuoc;
                            nt.TenNhomThuoc = nhomThuoc.TenNhomThuoc;
                            nt.Note         = nhomThuoc.Note;
                            nt.CreatedDate  = nhomThuoc.CreatedDate;
                            nt.CreatedBy    = nhomThuoc.CreatedBy;
                            nt.UpdatedDate  = nhomThuoc.UpdatedDate;
                            nt.UpdatedBy    = nhomThuoc.UpdatedBy;
                            nt.DeletedDate  = nhomThuoc.DeletedDate;
                            nt.DeletedBy    = nhomThuoc.DeletedBy;
                            nt.Status       = nhomThuoc.Status;

                            desc += string.Format("- Nhóm thuốc: GUID: '{0}', Mã nhóm thuốc: '{1}', Tên nhóm thuốc: '{2}'\n",
                                                  nt.NhomThuocGUID.ToString(), nt.MaNhomThuoc, nt.TenNhomThuoc);
                        }

                        //Delete Thuoc
                        if (deletedThuocList != null && deletedThuocList.Count > 0)
                        {
                            desc += string.Format("- Danh sách thuốc được xóa:\n");
                            foreach (string key in deletedThuocList)
                            {
                                NhomThuoc_Thuoc ntt = db.NhomThuoc_Thuocs.SingleOrDefault <NhomThuoc_Thuoc>(n => n.ThuocGUID.ToString() == key &&
                                                                                                            n.NhomThuocGUID.ToString() == nhomThuoc.NhomThuocGUID.ToString());

                                if (ntt != null)
                                {
                                    ntt.Status      = (byte)Status.Deactived;
                                    ntt.DeletedDate = DateTime.Now;
                                    ntt.DeletedBy   = Guid.Parse(Global.UserGUID);

                                    desc += string.Format("  + GUID: '{0}', Thuốc: '{1}'\n", ntt.NhomThuoc_ThuocGUID.ToString(), ntt.Thuoc.TenThuoc);
                                }
                            }
                            db.SubmitChanges();
                        }

                        //Add Thuoc
                        if (addedThuocList != null && addedThuocList.Count > 0)
                        {
                            desc += string.Format("- Danh sách thuốc được thêm:\n");
                            foreach (string key in addedThuocList)
                            {
                                NhomThuoc_Thuoc ntt = db.NhomThuoc_Thuocs.SingleOrDefault <NhomThuoc_Thuoc>(n => n.ThuocGUID.ToString() == key &&
                                                                                                            n.NhomThuocGUID.ToString() == nhomThuoc.NhomThuocGUID.ToString());

                                if (ntt == null)
                                {
                                    ntt = new NhomThuoc_Thuoc();
                                    ntt.NhomThuoc_ThuocGUID = Guid.NewGuid();
                                    ntt.NhomThuocGUID       = nhomThuoc.NhomThuocGUID;
                                    ntt.ThuocGUID           = Guid.Parse(key);
                                    ntt.CreatedDate         = DateTime.Now;
                                    ntt.CreatedBy           = Guid.Parse(Global.UserGUID);
                                    ntt.Status = (byte)Status.Actived;
                                    db.NhomThuoc_Thuocs.InsertOnSubmit(ntt);
                                    db.SubmitChanges();
                                }
                                else
                                {
                                    ntt.Status      = (byte)Status.Actived;
                                    ntt.UpdatedDate = DateTime.Now;
                                    ntt.UpdatedBy   = Guid.Parse(Global.UserGUID);
                                    db.SubmitChanges();
                                }

                                desc += string.Format("  + GUID: '{0}', Thuốc:'{1}'\n", ntt.NhomThuoc_ThuocGUID.ToString(), ntt.Thuoc.TenThuoc);
                            }
                        }

                        //Tracking
                        desc = desc.Substring(0, desc.Length - 1);
                        Tracking tk = new Tracking();
                        tk.TrackingGUID = Guid.NewGuid();
                        tk.TrackingDate = DateTime.Now;
                        tk.DocStaffGUID = Guid.Parse(Global.UserGUID);
                        tk.ActionType   = (byte)ActionType.Edit;
                        tk.Action       = "Sửa thông tin nhóm thuốc";
                        tk.Description  = desc;
                        tk.TrackingType = (byte)TrackingType.None;
                        tk.ComputerName = Utility.GetDNSHostName();
                        db.Trackings.InsertOnSubmit(tk);

                        db.SubmitChanges();
                    }

                    t.Complete();
                }
            }
            catch (System.Data.SqlClient.SqlException se)
            {
                result.Error.Code        = (se.Message.IndexOf("Timeout expired") >= 0) ? ErrorCode.SQL_QUERY_TIMEOUT : ErrorCode.INVALID_SQL_STATEMENT;
                result.Error.Description = se.ToString();
            }
            catch (Exception e)
            {
                result.Error.Code        = ErrorCode.UNKNOWN_ERROR;
                result.Error.Description = e.ToString();
            }
            finally
            {
                if (db != null)
                {
                    db.Dispose();
                    db = null;
                }
            }

            return(result);
        }
コード例 #11
0
ファイル: NhomThuocBus.cs プロジェクト: itcthienkhiem/LIS
        public static Result DeleteNhomThuoc(List <string> nhomThuocKeys)
        {
            Result     result = new Result();
            MMOverride db     = null;

            try
            {
                db = new MMOverride();
                using (TransactionScope t = new TransactionScope(TransactionScopeOption.RequiresNew))
                {
                    string desc = string.Empty;
                    foreach (string key in nhomThuocKeys)
                    {
                        NhomThuoc nhomThuoc = db.NhomThuocs.SingleOrDefault <NhomThuoc>(n => n.NhomThuocGUID.ToString() == key);
                        if (nhomThuoc != null)
                        {
                            nhomThuoc.DeletedDate = DateTime.Now;
                            nhomThuoc.DeletedBy   = Guid.Parse(Global.UserGUID);
                            nhomThuoc.Status      = (byte)Status.Deactived;

                            desc += string.Format("- GUID: '{0}', Mã nhóm thuốc: '{1}', Tên nhóm thuốc: '{2}'\n",
                                                  nhomThuoc.NhomThuocGUID.ToString(), nhomThuoc.MaNhomThuoc, nhomThuoc.TenNhomThuoc);
                        }
                    }

                    //Tracking
                    desc = desc.Substring(0, desc.Length - 1);
                    Tracking tk = new Tracking();
                    tk.TrackingGUID = Guid.NewGuid();
                    tk.TrackingDate = DateTime.Now;
                    tk.DocStaffGUID = Guid.Parse(Global.UserGUID);
                    tk.ActionType   = (byte)ActionType.Delete;
                    tk.Action       = "Xóa thông tin nhóm thuốc";
                    tk.Description  = desc;
                    tk.TrackingType = (byte)TrackingType.None;
                    tk.ComputerName = Utility.GetDNSHostName();
                    db.Trackings.InsertOnSubmit(tk);

                    db.SubmitChanges();
                    t.Complete();
                }
            }
            catch (System.Data.SqlClient.SqlException se)
            {
                result.Error.Code        = (se.Message.IndexOf("Timeout expired") >= 0) ? ErrorCode.SQL_QUERY_TIMEOUT : ErrorCode.INVALID_SQL_STATEMENT;
                result.Error.Description = se.ToString();
            }
            catch (Exception e)
            {
                result.Error.Code        = ErrorCode.UNKNOWN_ERROR;
                result.Error.Description = e.ToString();
            }
            finally
            {
                if (db != null)
                {
                    db.Dispose();
                    db = null;
                }
            }

            return(result);
        }