Exemple #1
0
 public OrderInDetialsVM(OrderInDetialsDTO row)
 {
     this.Id               = row.Id;
     this.OrderId          = row.OrderId;
     this.MedicineId       = row.MedicineId;
     this.MedicineName     = row.MedicineName;
     this.MedicineQuantity = row.MedicineQuantity;
     this.MedicinePrice    = row.MedicinePrice;
     this.TotalPrice       = row.TotalPrice;
 }
        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);
        }
        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());
        }