Ejemplo n.º 1
0
 public OrderMedicineModal(HomeWindow home, MedicineDTO medicine)
 {
     InitializeComponent();
     this.DataContext = this;
     this.Home        = home;
     this.Medicine    = medicine;
 }
Ejemplo n.º 2
0
        public List <MedicineDTO> GetPatients()
        {
            List <MedicineDTO> medicines = new List <MedicineDTO>();

            String query = "SELECT * FROM Medicine";

            MySqlCommand cmd = new MySqlCommand(query, dbConn);

            dbConn.Open();

            MySqlDataReader reader = cmd.ExecuteReader();

            while (reader.Read())
            {
                int         id       = (int)reader["med_id"];
                String      n        = reader["name"].ToString();
                String      quantity = reader["quantity"].ToString();
                float       price    = (float)reader["price"];
                MedicineDTO p        = new MedicineDTO(id, n, quantity, price);
                medicines.Add(p);
            }

            reader.Close();

            dbConn.Close();

            return(medicines);
        }
Ejemplo n.º 3
0
        // Get:  /Medicine/ShowMedicines
        public ActionResult DetialsMedicine(int id)
        {
            //check if user is login in App
            string username = User.Identity.Name;

            if (string.IsNullOrEmpty(username))
            {
                return(RedirectToAction("login", "Account"));
            }
            // Declare a list of Medicine
            MedicineDetialsVM model;

            using (Db db = new Db())
            {
                // Get the Medicine
                MedicineDTO dto = db.Medicines.Find(id);

                // Make sure Medicine exists
                if (dto == null)
                {
                    return(Content("هذا الدواء  غير موجود "));
                }

                // init model
                model = new MedicineDetialsVM(dto);
            }
            // Return view with list
            return(View(model));
        }
Ejemplo n.º 4
0
        public async Task <List <MedicineDTO> > GetMedicines()
        {
            var Medicines = await _repository.GetMedicinesAsync();

            List <MedicineDTO> list = new List <MedicineDTO>();
            var listPHMedicines     = await _repository.GetAllPHMedicines();

            List <string>       headNames = new List <string>();
            List <PharmacyHead> heads     = new List <PharmacyHead>();

            foreach (var med in Medicines)
            {
                var meds = listPHMedicines.Where(x => x.MedicineId == med.Id).ToList();
                if (meds != null)
                {
                    heads = meds.Select(x => x.Head).ToList();
                }
                headNames = heads.Select(x => x.Name).ToList();
                MedicineDTO medicine = new MedicineDTO()
                {
                    Name         = med.Name,
                    Manufacturer = med.Manufacturer,
                    Packaging    = med.Packaging,
                    Form         = med.Form,
                    Price        = med.Price,
                    Strength     = med.Strength,
                    WayOfIssuing = med.WayOfIssuing,
                    HeadNames    = headNames
                };

                list.Add(medicine);
            }

            return(list);
        }
Ejemplo n.º 5
0
        public async Task <IActionResult> PutMedicine([FromQuery] MedicineDTO medicineDTO)
        {
            var medicine = await _context.MedDbSet.FindAsync(medicineDTO.Id);

            if (medicine == null)
            {
                return(NoContent());
            }

            medicine.Notes = medicineDTO.Notes;
            _context.Entry(medicine).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!MedicineExists(medicineDTO.Id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
        public bool updateMedicineInfo(MedicineDTO medicineDTO)
        {
            try
            {
                Db.Ado.BeginTran();
                MEDICINE_INFORMATION medicineInformation = new MEDICINE_INFORMATION()
                {
                    MEDICINE_ID            = medicineDTO._medicine_id,
                    MEDICINE_APPLICABILITY = medicineDTO._medicine_applicability,
                    MEDICINE_CHARACTER     = medicineDTO._medicine_character,
                    MEDICINE_ATTENTION     = medicineDTO._medicine_attention,
                    MEDICINE_NAME          = medicineDTO._medicine_name,
                    MEDICINE_TYPE          = medicineDTO._medicine_type,
                    MEDICINE_INGREDIENTS   = medicineDTO._medicine_ingredients,
                    MEDICINE_USAGE         = medicineDTO._medicine_usage,
                    SUPPLIER_ID            = medicineDTO._supplier_id,
                    MEDICINE_IMAGE         = medicineDTO._medicine_image
                };

                Db.Updateable(medicineInformation).ExecuteCommand();

                Db.Ado.CommitTran();
                return(true);
            }
            catch (Exception ex)
            {
                Db.Ado.RollbackTran();
                return(false);
            }
        }
        public IActionResult updateMedicineInfo([FromForm] MedicineDTO medicine)
        {
            if (medicine == null)
            {
                return(BadRequest(new JsonCreate()
                {
                    message = Utils.ConstMessage.BAD_REQUEST, data = false
                }));
            }
            MedicineManager medicineManager = new MedicineManager();
            bool            judge           = medicineManager.updateMedicineInfo(medicine);

            if (judge)
            {
                return(Ok(new JsonCreate()
                {
                    message = Utils.ConstMessage.UPDATE_SUCCESS, data = true
                }));
            }
            else
            {
                return(Conflict(new JsonCreate()
                {
                    message = Utils.ConstMessage.CONFILICT, data = false
                }));
            }
        }
        public bool insertNewMedicine(MedicineDTO medicine)
        {
            try
            {
                Db.Ado.BeginTran();
                MEDICINE_INFORMATION medicineInformation = new MEDICINE_INFORMATION()
                {
                    MEDICINE_ID            = medicine._medicine_id,
                    MEDICINE_APPLICABILITY = medicine._medicine_applicability,
                    MEDICINE_CHARACTER     = medicine._medicine_character,
                    MEDICINE_ATTENTION     = medicine._medicine_attention,
                    MEDICINE_NAME          = medicine._medicine_name,
                    MEDICINE_TYPE          = medicine._medicine_type,
                    MEDICINE_INGREDIENTS   = medicine._medicine_ingredients,
                    MEDICINE_USAGE         = medicine._medicine_usage,
                    SUPPLIER_ID            = medicine._supplier_id,
                    MEDICINE_IMAGE         = medicine._medicine_image
                };

                bool judge = Db.Queryable <MEDICINE_INFORMATION>().Where(it => it.MEDICINE_ID == medicine._medicine_id).Any();
                if (!judge)
                {
                    Db.Insertable(medicineInformation).ExecuteCommand();
                }

                Db.Ado.CommitTran();
                return(true);
            }
            catch (Exception ex)
            {
                Db.Ado.RollbackTran();
                return(false);
            }
        }
Ejemplo n.º 9
0
        public ActionResult EditMedicine(MedicineVM model)
        {
            // Get Medicine id
            int id = model.Id;

            // Check model state

            if (!ModelState.IsValid)
            {
                ModelState.AddModelError("", "لم تتم عملية التعديل  ");
                return(View(model));
            }

            // Make sure MedicineName  is unique
            using (Db db = new Db())
            {
                if (db.Medicines.Where(x => x.Id != id).Any(x => x.MedicineName == model.MedicineName))
                {
                    ModelState.AddModelError("", "شركة    " + model.MedicineName + " موجودة مسبقا.");
                    return(View(model));
                }
            }
            int medicineTotalePrice, TotaleNumberOfTapesOfMedicine;

            if (model.IsHasTapes == true)
            {
                TotaleNumberOfTapesOfMedicine = model.Number * model.NumberOfTapesInOneMedicine;
                medicineTotalePrice           = model.Price * TotaleNumberOfTapesOfMedicine;
            }
            else
            {
                medicineTotalePrice              = model.Price * model.Number;
                TotaleNumberOfTapesOfMedicine    = 0;
                model.NumberOfTapesInOneMedicine = 0;
            }

            // Update Medicine
            using (Db db = new Db())
            {
                MedicineDTO dto = db.Medicines.Find(id);

                dto.MedicineName = model.MedicineName;
                dto.Number       = model.Number;
                dto.Price        = model.Price;
                dto.ExpiryDate   = model.ExpiryDate;
                dto.IsHasTapes   = model.IsHasTapes;
                dto.NumberOfTapesInOneMedicine = model.NumberOfTapesInOneMedicine;
                dto.TotaleNumberOfTapes        = TotaleNumberOfTapesOfMedicine;
                dto.TotalePrice = medicineTotalePrice;

                db.SaveChanges();
            }

            // Set TempData message
            TempData["SM"] = "تم تعديل بيانات الدواء  بنجاح ";
            // Redirect
            return(RedirectToAction("EditMedicine"));
        }
Ejemplo n.º 10
0
 public MedicineVM(MedicineDTO row)
 {
     this.Id           = row.Id;
     this.MedicineName = row.MedicineName;
     this.Number       = row.Number;
     this.Price        = row.Price;
     this.ExpiryDate   = row.ExpiryDate;
     this.IsHasTapes   = row.IsHasTapes;
     this.NumberOfTapesInOneMedicine = row.NumberOfTapesInOneMedicine;
 }
Ejemplo n.º 11
0
        public MedicineDTO CreateMedicine([FromBody] MedicineDTO medicine)
        {
            Medicine medicineEntity = _mapper.Map <Medicine>(medicine);

            _repository.CreateMedicine(medicineEntity);
            _repository.Save();
            MedicineDTO newMedicine = _mapper.Map <MedicineDTO>(medicineEntity);

            return(newMedicine);
        }
Ejemplo n.º 12
0
 private void PillManagement_Load(object sender, EventArgs e)
 {
     //LOCK OUR TEXT BOXES
     Block_or_Unlock_Textbox(false);
     Hide_Show_Buttons(false);
     currentMedi = new MedicineDTO();
     medBus      = new MedicineBUS();
     currentMedi = null;
     LoadAll();
     name_suggestion();
     quantity_suggestion();
 }
Ejemplo n.º 13
0
        public int insertCoreMedicine(MedicineDTO newMedicine)
        {
            int flagInsert = new MEDICINETableAdapter().insertMedicineQuery(
                newMedicine.IdUnitMedicine,
                newMedicine.FullName,
                newMedicine.Symbol,
                newMedicine.Ingredient,
                newMedicine.PriceUnit
                );

            return(flagInsert);
        }
Ejemplo n.º 14
0
        public int updateCoreMedicine(MedicineDTO originalMedicine)
        {
            int flagUpdate = new MEDICINETableAdapter().updateMedicineQuery(
                originalMedicine.IdUnitMedicine,
                originalMedicine.FullName,
                originalMedicine.Symbol,
                originalMedicine.Ingredient,
                originalMedicine.PriceUnit,
                originalMedicine.IdMedicine
                );

            return(flagUpdate);
        }
Ejemplo n.º 15
0
        private MedicineDTO ToDTO(Medicine med)
        {
            MedicineDTO dto = new MedicineDTO();

            dto.med_ID     = med.med_ID;
            dto.med_name   = med.med_name;
            dto.cost_price = med.cost_price;
            dto.sell_price = med.sell_price;
            dto.unit       = med.unit;
            dto.num        = med.num;
            dto.producer   = med.producer;
            return(dto);
        }
Ejemplo n.º 16
0
        public MedicineDTO Insert(String n, String quantity, float price)
        {
            String query = string.Format("INSERT INTO Medicine(name,quantity,price) VALUES " +
                                         "('{0}', '{1}','{2}')",
                                         n, quantity, price);
            MySqlCommand cmd = new MySqlCommand(query, dbConn);

            dbConn.Open();
            cmd.ExecuteNonQuery();
            int         id = (int)cmd.LastInsertedId;
            MedicineDTO p  = new MedicineDTO(id, n, quantity, price);

            dbConn.Close();
            return(p);
        }
Ejemplo n.º 17
0
 public bool add(MedicineDTO m)
 {
     try
     {
         string query = "insert into Medicine (Name, Quantity, Price, Supplier) values ('" + m.Name + "'," + m.Quantity + "," + m.Price + ",'" + m.Supplier + "')";
         c.sqlComm = new SqlCommand(query, c.sqlConn);
         c.sqlComm.ExecuteNonQuery();
         c.sqlConn.Close();
         return(true);
     }
     catch (Exception e)
     {
         return(false);
     }
 }
Ejemplo n.º 18
0
        public ActionResult <Medicine> Create(MedicineDTO medicineDTO)
        {
            var medicine = new Medicine()
            {
                name         = medicineDTO.name,
                quantity     = medicineDTO.quantity,
                creationDate = medicineDTO.creationDate
            };

            _medicineService.Create(medicine);

            return(CreatedAtRoute
                       ("GetMidicine",
                       new { id = medicine.Id },
                       medicine));
        }
Ejemplo n.º 19
0
    public bool update(MedicineDTO m)
    {
        string query = "update Medicine set Quantity=" + m.Quantity + ", Price=" + m.Price + ", Supplier='" + m.Supplier + "' where Name='" + m.Name + "'";

        try
        {
            c.sqlComm = new SqlCommand(query, c.sqlConn);
            c.sqlComm.ExecuteNonQuery();
            c.sqlConn.Close();
            return(true);
        }
        catch (Exception e)
        {
            c.sqlConn.Close();
            return(false);
        }
    }
        public int insertDoctor(
            string idUnitMedicine,
            string fullName,
            string symbol,
            string ingredient,
            string priceUnit)
        {
            MedicineDTO currentMedicineDatarow = new MedicineDTO();

            currentMedicineDatarow.IdUnitMedicine = Convert.ToInt32(idUnitMedicine);
            currentMedicineDatarow.FullName       = Convert.ToString(fullName);
            currentMedicineDatarow.Symbol         = Convert.ToString(symbol);
            currentMedicineDatarow.Ingredient     = Convert.ToString(ingredient);
            currentMedicineDatarow.PriceUnit      = Convert.ToDecimal(priceUnit);

            return(medicineDal.insertCoreMedicine(currentMedicineDatarow));
        }
Ejemplo n.º 21
0
        //Viualize our Data from listView to text boxes
        private void listView_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (listView.SelectedItems.Count > 0)
            {
                ListViewItem item = listView.SelectedItems[0];
                currentMedi = (MedicineDTO)item.Tag;

                int    id   = id_checked = currentMedi.medicine_id;
                String n    = currentMedi.name;
                String quan = currentMedi.quantity;

                String price = currentMedi.price.ToString();
                nameTxt.Text  = n;
                quantTxt.Text = quan;

                priceTxt.Text = price;
                flag          = 1;
            }
        }
Ejemplo n.º 22
0
        private void btnCancel_Click(object sender, EventArgs e)
        {
            Enable_Uneable_Function(true);
            Hide_Show_Buttons(false);
            currentMedi   = null;
            nameTxt.Text  = "";
            quantTxt.Text = "";
            priceTxt.Text = "";


            //Deal with Error Provider
            ePro.SetError(nameTxt, "");
            ePro.SetError(quantTxt, "");
            ePro.SetError(priceTxt, "");



            Block_or_Unlock_Textbox(false);
        }
Ejemplo n.º 23
0
        public string backbuymedicine(int med_ID, int order_ID, int payment_QTY)
        {
            // Delete OrderOutDetials from DB
            string data;

            using (Db db = new Db())
            {
                OrderInDetialsDTO dto = db.OrderInDetials.Find(order_ID);
                if (dto == null)
                {
                    data = "البيانات غير موجودة";
                }
                else
                {
                    db.OrderInDetials.Remove(dto);
                    db.SaveChanges();
                    MedicineDTO mdto = db.Medicines.Find(med_ID);
                    if (mdto != null)
                    {
                        if (mdto.IsHasTapes)
                        {
                            mdto.Number = (mdto.TotaleNumberOfTapes - (payment_QTY * mdto.NumberOfTapesInOneMedicine)) / mdto.NumberOfTapesInOneMedicine;
                            mdto.TotaleNumberOfTapes -= (payment_QTY * mdto.NumberOfTapesInOneMedicine);
                            mdto.TotalePrice         -= ((payment_QTY * mdto.NumberOfTapesInOneMedicine) * mdto.Price);
                        }
                        else
                        {
                            mdto.Number      -= payment_QTY;
                            mdto.TotalePrice -= (payment_QTY * mdto.Price);
                        }



                        db.SaveChanges();
                    }
                    data = "تمت عملية التراجع بنجاح";
                }
            }
            return(data);
        }
Ejemplo n.º 24
0
        public async Task <IEnumerable <MedicineDTO> > SearchMedicines(string query)
        {
            var SearchQuery = await _repository.SearchMedicines(query);

            List <MedicineDTO> list = new List <MedicineDTO>();
            var listPHMedicines     = await _repository.GetAllPHMedicines();

            List <string>       headNames = new List <string>();
            List <PharmacyHead> heads     = new List <PharmacyHead>();

            foreach (var med in SearchQuery)
            {
                var meds = listPHMedicines.Where(x => x.MedicineId == med.Id).ToList();
                if (meds != null)
                {
                    heads = meds.Select(x => x.Head).ToList();
                }
                if (heads != null)
                {
                    headNames = heads?.Select(x => x?.Name).ToList();
                }
                MedicineDTO medicine = new MedicineDTO()
                {
                    Name         = med.Name,
                    Manufacturer = med.Manufacturer,
                    Packaging    = med.Packaging,
                    Form         = med.Form,
                    Price        = med.Price,
                    Strength     = med.Strength,
                    WayOfIssuing = med.WayOfIssuing,
                    HeadNames    = headNames
                };

                list.Add(medicine);
                headNames = new List <string>();
            }

            return(list);
        }
Ejemplo n.º 25
0
        // POST: /Medicine/DeleteMedicine/id
        public ActionResult DeleteMedicine(int id)
        {
            //check if user is login in App
            string username = User.Identity.Name;

            if (string.IsNullOrEmpty(username))
            {
                return(RedirectToAction("login", "Account"));
            }
            // Delete Medicine from DB
            using (Db db = new Db())
            {
                MedicineDTO dto = db.Medicines.Find(id);
                if (dto == null)
                {
                    return(HttpNotFound());
                }
                db.Medicines.Remove(dto);

                db.SaveChanges();
            }
            // Redirect
            return(RedirectToAction("ShowMedicines"));
        }
        public MedicineDTO getMedicineInfoById(String medicineId, String batchId)
        {
            DateTime dateTime = DateTime.Now;

            var dto_base = Db.Queryable <MEDICINE_INFORMATION, MEDICINE_INSTANCE, MEDICINE_STOCK>
                               ((minfo, mins, ms) => minfo.MEDICINE_ID == mins.MEDICINE_ID && mins.MEDICINE_ID == ms.MEDICINE_ID &&
                               mins.BATCH_ID == ms.BATCH_ID).Where((minfo, mins, ms) => mins.MEDICINE_ID == medicineId &&
                                                                   mins.BATCH_ID == batchId).Select((minfo, mins, ms) => new MedicineDTO
            {
                _medicine_id            = minfo.MEDICINE_ID,
                _batch_id               = mins.BATCH_ID,
                _medicine_amount        = ms.AMOUNT,
                _medicine_applicability = minfo.MEDICINE_APPLICABILITY,
                _medicine_attention     = minfo.MEDICINE_ATTENTION,
                _medicine_character     = minfo.MEDICINE_CHARACTER,
                _medicine_ingredients   = minfo.MEDICINE_INGREDIENTS,
                _medicine_type          = minfo.MEDICINE_TYPE,
                _medicine_image         = minfo.MEDICINE_IMAGE,
                _medicine_name          = minfo.MEDICINE_NAME,
                _medicine_usage         = minfo.MEDICINE_USAGE,
                _production_date        = mins.PRODUCTION_DATE,
                _purchase_price         = mins.PURCHASE_PRICE,
                _sale_price             = mins.SALE_PRICE,
                _supplier_id            = minfo.SUPPLIER_ID,
                _validity_date          = mins.VALIDITY_DATE
            }).ToList();

            var discountPrice = Db.Queryable <SET_DISCOUNT, DISCOUNT>((sd, d) => sd.DISCOUNT_ID == d.DISCOUNT_ID)
                                .Where((sd, d) => sd.MEDICINE_ID == medicineId && sd.BATCH_ID == batchId).Select((sd, d) => d.DISCOUNT_PRICE).Single();

            MedicineDTO dto = dto_base[0];

            dto._discount_price = discountPrice;

            return(dto);
        }
Ejemplo n.º 27
0
        public string buyMedicine(int medicine_id      = 0, int medicine_order_id = 0, int medicine_QTY                = 0,
                                  int medicine_price   = 0, int totalAmount       = 0, Boolean medicine_isContainTapes = false, int medicine_OrderDetials_id = 0,
                                  int medicine_old_QTY = 0
                                  )
        {
            long id;

            if (medicine_OrderDetials_id == 0)
            {
                using (Db db = new Db())
                {
                    var n = db.Medicines.Where(x => x.Id == medicine_id).Select(x => x.MedicineName).First();
                    // Create OrderOutDTO
                    OrderInDetialsDTO orderInDTO = new OrderInDetialsDTO()
                    {
                        OrderId          = medicine_order_id,
                        MedicineId       = medicine_id,
                        MedicineName     = n,
                        MedicineQuantity = medicine_QTY,
                        MedicinePrice    = medicine_price,
                        TotalPrice       = totalAmount
                    };

                    // Add the DTO
                    db.OrderInDetials.Add(orderInDTO);

                    // Save
                    db.SaveChanges();
                }
                // edit medicine data
                using (Db db = new Db())
                {
                    MedicineDTO dto = db.Medicines.Find(medicine_id);
                    if (medicine_isContainTapes)
                    {
                        dto.Number = (dto.TotaleNumberOfTapes + (medicine_QTY * dto.NumberOfTapesInOneMedicine)) / dto.NumberOfTapesInOneMedicine;
                        dto.TotaleNumberOfTapes += (medicine_QTY * dto.NumberOfTapesInOneMedicine);
                        dto.TotalePrice         += ((medicine_QTY * dto.NumberOfTapesInOneMedicine) * dto.Price);
                    }
                    else
                    {
                        dto.Number      += medicine_QTY;
                        dto.TotalePrice += (medicine_QTY * dto.Price);
                    }



                    db.SaveChanges();
                }
                //end edit medicine

                //get last orderoutdetials id

                using (Db db = new Db())
                {
                    // Get the OrderOut
                    id = db.OrderInDetials.ToArray().Select(x => x.Id).Last();
                };
            }
            //edit medicine OrderOutDetials info
            else
            {
                // edit medicine data
                using (Db db = new Db())
                {
                    OrderInDetialsDTO orderDTO = db.OrderInDetials.Find(medicine_OrderDetials_id);
                    orderDTO.MedicineQuantity = medicine_QTY;
                    orderDTO.TotalPrice       = totalAmount;
                    orderDTO.MedicinePrice    = medicine_price;

                    MedicineDTO dto = db.Medicines.Find(medicine_id);
                    if (medicine_isContainTapes)
                    {
                        dto.TotaleNumberOfTapes = (dto.NumberOfTapesInOneMedicine * medicine_QTY) + medicine_old_QTY;
                        dto.Number      = (dto.TotaleNumberOfTapes) / dto.NumberOfTapesInOneMedicine;
                        dto.TotalePrice = ((dto.NumberOfTapesInOneMedicine * medicine_QTY) + medicine_old_QTY) * dto.Price;
                    }
                    else
                    {
                        dto.Number      = medicine_old_QTY + medicine_QTY;
                        dto.TotalePrice = (medicine_QTY + medicine_old_QTY) * dto.Price;
                    }

                    // dto.TotalePrice = (dto.TotalePrice + medicine_old_totaleAmount) - totalAmount;

                    db.SaveChanges();
                }
                id = medicine_OrderDetials_id;
            }
            return(id.ToString());
        }
Ejemplo n.º 28
0
 public async Task AddNewMedicine(MedicineDTO request)
 {
     await _unitOfWork.Pharmacy.SaveMedicine(_mapper.Map <Medicine>(request));
 }
Ejemplo n.º 29
0
 public async Task DeleteMedicine(MedicineDTO request)
 {
     await _unitOfWork.Pharmacy.DeleteMedicine(_mapper.Map <Medicine>(request));
 }
Ejemplo n.º 30
0
        public string payMedicine(int medicine_id = 0, int medicine_order_id              = 0, int medicine_QTY = 0,
                                  int totalAmount = 0, Boolean medicine_isContainTapes    = false, int medicine_OrderDetials_id = 0,
                                  int medicine_old_totaleAmount = 0, int medicine_old_QTY = 0
                                  )
        {
            int id;

            if (medicine_OrderDetials_id == 0)
            {
                using (Db db = new Db())
                {
                    var mName  = db.Medicines.Where(x => x.Id == medicine_id).Select(x => x.MedicineName).First();
                    var mPrice = db.Medicines.Where(x => x.Id == medicine_id).Select(x => x.Price).First();
                    // Create OrderOutDTO
                    OrderOutDetialsDTO orderoutDTO = new OrderOutDetialsDTO()
                    {
                        OrderId       = medicine_order_id,
                        MedicineId    = medicine_id,
                        OrderDate     = DateTime.Now,
                        TotaleAmount  = totalAmount,
                        QTY           = medicine_QTY,
                        OrderDay      = DateTime.Now.Date,
                        MedicineName  = mName,
                        MedicinePrice = mPrice
                    };
                    ;
                    // Add the DTO
                    db.OrderOutDetials.Add(orderoutDTO);

                    // Save
                    db.SaveChanges();
                    id = orderoutDTO.Id;
                }
                // edit medicine data
                using (Db db = new Db())
                {
                    MedicineDTO dto = db.Medicines.Find(medicine_id);
                    if (medicine_isContainTapes)
                    {
                        dto.Number = (dto.TotaleNumberOfTapes - medicine_QTY) / dto.NumberOfTapesInOneMedicine;
                        dto.TotaleNumberOfTapes -= medicine_QTY;
                    }
                    else
                    {
                        dto.Number -= medicine_QTY;
                    }

                    dto.TotalePrice -= totalAmount;

                    db.SaveChanges();
                    // id = db.OrderOutDetials.ToArray().Select(x => x.Id).Last();
                }
                //end edit medicine

                //get last orderoutdetials id

                /* using (Db db = new Db())
                 * {
                 *   // Get the OrderOut
                 *   id = db.OrderOutDetials.ToArray().Select(x => x.Id).Last();
                 * };*/
            }
            //edit medicine OrderOutDetials info
            else
            {
                // edit medicine data
                using (Db db = new Db())
                {
                    OrderOutDetialsDTO orderDTO = db.OrderOutDetials.Find(medicine_OrderDetials_id);
                    orderDTO.QTY          = medicine_QTY;
                    orderDTO.TotaleAmount = totalAmount;

                    MedicineDTO dto = db.Medicines.Find(medicine_id);
                    if (medicine_isContainTapes)
                    {
                        dto.TotaleNumberOfTapes = (dto.TotaleNumberOfTapes + medicine_old_QTY) - medicine_QTY;
                        dto.Number = (dto.TotaleNumberOfTapes) / dto.NumberOfTapesInOneMedicine;
                    }
                    else
                    {
                        dto.Number = (dto.Number + medicine_old_QTY) - medicine_QTY;
                    }

                    dto.TotalePrice = (dto.TotalePrice + medicine_old_totaleAmount) - totalAmount;

                    db.SaveChanges();
                }
                id = medicine_OrderDetials_id;
            }
            return(id.ToString());
        }