Beispiel #1
0
        public IOrderedQueryable <Medicine> GetAll()
        {
            var result = _repository.GetAll();

            return(result);
        }
Beispiel #2
0
        // GET: Medicine
        public ActionResult Index()
        {
            var medicines = _mapper.Map <IEnumerable <MedicineViewModel> >(_medicineRepository.GetAll());

            return(View(medicines));
        }
Beispiel #3
0
 public async Task <List <Medicine> > GetAllMedicinesAsync() => await _medicineRepository.GetAll().ToListAsync();
        /// <summary>
        /// Initializes this instance.
        /// </summary>
        private void Initialize()
        {
            this._vWareHouseDetailList      = new List <VWareHouseDetail>();
            this.bdsMedicine.DataSource     = _medicineRepo.GetAll();
            this._medDeliveryAllocationList = new List <MedicineDeliveryAllocationEntity>();
            this._prescription = _prescriptionRepo.Get(this._prescriptionId);
            this.bdsPrescription.DataSource = this._prescription;
            this._prescriptionDetailList    = _prescriptionDetailRepo.GetByPrescription(this._prescriptionId);
            if (_prescription == null || this._prescriptionDetailList == null)
            {
                throw new Exception("Data done not existed");
            }

            this._medicineDelivery = this._medicineDeliveryRepo.GetByPrescriptionId(this._prescriptionId);
            this._formMode         = this._medicineDelivery == null ? ViewModes.Add : ViewModes.View;

            if (this._formMode == ViewModes.Add)
            {
                // Createe MachineDelivery
                // Create MachineDeliveryDetail
                // Craete MedicindeDeliveryDetailAllocate
                // Get WareHouseDetail
                // Get WareHouse;
                // this._warehouseDetailList  = this._warehouseDetailRepo
                var medincineIdList = this._prescriptionDetailList.Select(item => item.MedicineId).ToList();
                this._warehouseList              = this._warehouseRepo.GetByMedicineId(medincineIdList, AppContext.CurrentClinic.Id);
                this._vWareHouseDetailList       = this._vWareHouseDetailRepo.GetByMedicine(medincineIdList);
                this._medicineDelivery           = CreatePrescription(this._prescription);
                this._medicineDeliveryDetailList = CreateMedicineDeliveryDetail(this._prescriptionDetailList);
                this.AutoAllocate(this._medicineDeliveryDetailList, this._vWareHouseDetailList);
                // this._warehouseDetailList = this._warehouseDetailRepo.GetByMedicine(medincineIdList, AppContext.CurrentClinic.Id);)
                // this._mdecidineDeliveryDetailAllocate = AutoAllocate(this._medicineDeliveryDetailList, this._warehouseDetailList);
                // var item = this._warehouseDetailList.Select(x => new { x.MedicineId, x.LotNo, x.ExpiredDate}).GroupBy(x => new { x.MedicineId, x.LotNo, x.ExpiredDate }).ToList();

                var no = 1;
                foreach (var deliveryItem in this._medicineDeliveryDetailList)
                {
                    // var allocatedList = this._mdecidineDeliveryDetailAllocate.Where(x => x.MedicineDeliveryDetailId == deliveryItem.Id).ToList();
                    var warehouse = this._warehouseList.FirstOrDefault(x => x.MedicineId == deliveryItem.MedicineId);
                    var item      = new MedicineDeliveryAllocationEntity(no++, deliveryItem, warehouse);
                    this._medDeliveryAllocationList.Add(item);

                    var subNo = 1;
                    foreach (var itm in deliveryItem.AllocatedWareHouseDetail)
                    {
                        var subItem = new MedicineDeliveryAllocationEntity(subNo++, itm);
                        _medDeliveryAllocationList.Add(subItem);
                    }
                }
                this.bindingSource1.DataSource = this._medDeliveryAllocationList;
            }
            else
            {
                var medincineIdList = this._prescriptionDetailList.Select(item => item.MedicineId).ToList();
                this._warehouseList        = this._warehouseRepo.GetByMedicineId(medincineIdList, AppContext.CurrentClinic.Id);
                this._vWareHouseDetailList = this._vWareHouseDetailRepo.GetByMedicine(medincineIdList);

                this._medicineDelivery           = this._medicineDeliveryRepo.GetByPrescriptionId(this._prescription.Id);
                this._medicineDeliveryDetailList = this._medicineDeliveryDetailRepo.GetByDelivery(this._medicineDelivery.Id);
                var deliveryDetailList = this._medicineDeliveryDetailList.Select(x => x.Id).ToList();
                this._vMedicineDeliveryDetailAllocateds = this._medicineDeliveryDetailRepo.GetDeliveryDetailAllocateds(deliveryDetailList);
                // this._mdecidineDeliveryDetailAllocate = AutoAllocate(this._medicineDeliveryDetailList, this._warehouseDetailList);
                // var item = this._warehouseDetailList.Select(x => new { x.MedicineId, x.LotNo, x.ExpiredDate}).GroupBy(x => new { x.MedicineId, x.LotNo, x.ExpiredDate }).ToList();
                // this._warehouseDetailList = this._warehouseDetailRepo.GetByMedicine(medincineIdList, AppContext.CurrentClinic.Id);)

                var no = 1;
                foreach (var deliveryItem in this._medicineDeliveryDetailList)
                {
                    // var allocatedList = this._mdecidineDeliveryDetailAllocate.Where(x => x.MedicineDeliveryDetailId == deliveryItem.Id).ToList();
                    var warehouse = this._warehouseList.FirstOrDefault(x => x.MedicineId == deliveryItem.MedicineId);
                    var item      = new MedicineDeliveryAllocationEntity(no++, deliveryItem, warehouse);
                    this._medDeliveryAllocationList.Add(item);

                    List <VMedicineDeliveryDetailAllocated> allocatedWareHouseDetailList =
                        this._vMedicineDeliveryDetailAllocateds.Where(x => x.MedicineDeliveryDetailId == deliveryItem.Id)
                        .ToList();
                    var subNo = 1;
                    foreach (var itm in allocatedWareHouseDetailList)
                    {
                        var subItem = new MedicineDeliveryAllocationEntity(subNo++, itm);
                        _medDeliveryAllocationList.Add(subItem);
                    }
                }
                this.dataGridViewX1.Columns[6].Visible = false;
                this.dataGridViewX1.Columns[8].Visible = false;
                this.bindingSource1.DataSource         = this._medDeliveryAllocationList;
            }
        }
        /// <summary>
        /// Initializes the specified patient.
        /// </summary>
        /// <param name="patient">The patient.</param>
        private void Initialize(Patient patient)
        {
            this._isSkipUpdatingFigure = true;

            try
            {
                this._patient = patient;

                // Initialize combobox
                //var figures = _figureRepo.GetAll();
                // thangnn edit
                var figures = _figureRepo.GetByClinicId(AppContext.CurrentClinic.Id);
                // end
                this.cboFigure.DataSource = figures;
                // Get Doctor Name
                this.txtDoctor.Text = AppContext.LoggedInUser.Name;
                var medicines = _medicineRepo.GetAll();
                medicines.Insert(0, new Medicine()
                {
                    Id = 0, Name = "..."
                });
                this.bdsMedicine.DataSource = medicines;

                // Get existing prescription
                this._prescription = _precriptionRepo.GetCurrent(patient.Id);
                var lastPrescription = _precriptionRepo.GetLastByPatient(patient.Id);

                // Binding data
                if (this._prescription == null)
                {
                    this._isUpdate     = false;
                    this._prescription = new Prescription
                    {
                        Date        = DateTime.Today,
                        RecheckDate = DateTime.Today.AddDays(DefaultVolumn),
                        DoctorId    = AppContext.LoggedInUser.Id,
                        //Doctor = AppContext.LoggedInUser,
                        PatientId       = patient.Id,
                        CreatedUser     = AppContext.LoggedInUser.Id,
                        LastUpdatedUser = AppContext.LoggedInUser.Id,
                        ClinicId        = AppContext.CurrentClinic.Id
                    };

                    this._prescriptionDetailList = new List <PrescriptionDetail>();

                    if (lastPrescription != null)
                    {
                        // this._prescription.Note = lastPrescription.Note;
                        // this._prescription.FigureId = lastPrescription.FigureId;

                        // Create FigureId
                        //var figureDetails = this._figureDetailRepo.GetByFigure(lastPrescription.FigureId);
                        //foreach (var figureDetail in figureDetails)
                        //{
                        //    var prescriptionDetail = new PrescriptionDetail
                        //                                 {
                        //                                     No = this._prescriptionDetailList.Count + 1,
                        //                                     FigureDetailId = figureDetail.Id,
                        //                                     MedicineId = figureDetail.MedicineId,
                        //                                     Medicine = figureDetail.Medicine,
                        //                                     VolumnPerDay = figureDetail.Volumn,
                        //                                     Day = DefaultVolumn,
                        //                                     Amount = DefaultVolumn*figureDetail.Volumn,
                        //                                     Version = 0
                        //                                 };
                        //    this._prescriptionDetailList.Add(prescriptionDetail);
                        //}
                    }

                    this._prescription.PrescriptionDetails = this._prescriptionDetailList;
                }
                else
                {
                    this._isUpdate = true;
                    this._prescription.DoctorId = AppContext.LoggedInUser.Id;
                    //this._prescription.Doctor = AppContext.LoggedInUser;
                    this._prescription.LastUpdatedUser = AppContext.LoggedInUser.Id;
                }

                Initialize(this._prescription);
            }
            finally
            {
                this._isSkipUpdatingFigure = false;
            }
        }