private void drugOrder_dtGridView_CellClick(object sender, DataGridViewCellEventArgs e) { try { n = drugOrder_dtGridView.CurrentCell.RowIndex; DrugOrder drugorder = orders[n]; productName_txtBox.Text = drugorder.drug.MedName; ProductCnt_txtBox.Text = drugorder.count.ToString(); } catch (Exception ex) { MessageBox.Show("해당 인덱스에 값이 없습니다."); Console.WriteLine(ex.Message + "\n" + ex.StackTrace); } }
public ActionResult UpdateStatus(int deliveryScheduleID) { var deliverySchedule = unitOfWork.DeliveryScheduleRepository.GetByID(deliveryScheduleID); var listDeliveryScheduleDetails = deliverySchedule.DeliveryScheduleDetails; deliverySchedule.Status = (int)Status.StatusEnum.Complete; var drugOrder = new DrugOrder(); for (int i = 0; i < listDeliveryScheduleDetails.Count; i++) { var item = listDeliveryScheduleDetails.ElementAt(i); drugOrder = new DrugOrder(); drugOrder = unitOfWork.DrugOrderRepository.GetByID(item.DrugOrderID); var drugstore = drugOrder.Drugstore; drugOrder.Status = (int)Status.StatusEnum.Complete; unitOfWork.DrugOrderRepository.Update(drugOrder); unitOfWork.DrugOrderRepository.SaveChanges(); var payment = new Payment(); var paymentHistory = unitOfWork.PaymentRepository.Get(b => b.DrugstoreID == drugOrder.DrugstoreID); if (paymentHistory.Count() == 0) { payment.DrugstoreID = drugOrder.DrugstoreID; payment.Amount = drugOrder.TotalPrice; payment.Balance = 0 - drugOrder.TotalPrice; drugstore.Debt = 0 - drugOrder.TotalPrice; } else { payment.DrugstoreID = drugOrder.DrugstoreID; payment.Amount = drugOrder.TotalPrice; payment.Balance = paymentHistory.Last().Balance - drugOrder.TotalPrice; drugstore.Debt = drugstore.Debt - drugOrder.TotalPrice; } payment.FullName = drugstore.Account.AccountProfile.FullName; payment.PhoneNumber = drugstore.Account.AccountProfile.Phone; payment.Date = DateTime.Now; payment.PaymentType = true; payment.IsActive = true; unitOfWork.DrugStoreRepository.Update(drugstore); unitOfWork.DrugStoreRepository.SaveChanges(); unitOfWork.PaymentRepository.Insert(payment); unitOfWork.PaymentRepository.SaveChanges(); } unitOfWork.DeliveryScheduleRepository.Update(deliverySchedule); unitOfWork.DeliveryScheduleRepository.SaveChanges(); return(null); }
private void drugOrder_dtGridView_CellClick(object sender, DataGridViewCellEventArgs e) { try { n = drugOrder_dtGridView.CurrentCell.RowIndex; DrugOrder drugorder = orders[n]; productName_txtBox.Text = drugorder.drug.MedName; ProductCnt_txtBox.Text = drugorder.count.ToString(); } catch (Exception ex) { MessageBox.Show("해당 인덱스에 값이 없습니다."); errMsg = $"[폼 위치 : {FORM_NAME}] [ex.Message] : {ex.Message}, \n[ex.StackTrace] : {ex.StackTrace}\n"; Printlog.printLog(errMsg, DateTime.Now.ToString("yyyy_MM_dd")); } }
public ActionResult CreateOrder(string note) { if (Session["Cart"] != null) { var cartList = (List <Cart>)Session["Cart"]; var user = (Account)Session["User"]; var order = new DrugOrder(); var orderDetails = new DrugOrderDetail(); var drugstore = unitOfWork.DrugStoreRepository.Get(b => b.OwnerID == user.AccountID).SingleOrDefault(); order.DrugstoreID = drugstore.DrugstoreID; double totalprice = 0; double actualvalue; for (int i = 0; i < cartList.Count; i++) { orderDetails = new DrugOrderDetail(); orderDetails.DrugId = cartList[i].Drug.DrugID; orderDetails.Quantity = cartList[i].Quantity; orderDetails.DeliveryQuantity = cartList[i].Quantity; orderDetails.UnitID = cartList[i].Unit.UnitId; orderDetails.UnitPrice = cartList[i].Drug.Prices.Where(b => b.UnitID == orderDetails.UnitID).Select(b => b.UnitPrice).SingleOrDefault() * orderDetails.Quantity * (100 - cartList[i].Drug.DiscountRates.Where(b => b.DrugstoreTypeID == drugstore.DrugstoreTypeID).Select(b => b.Discount).SingleOrDefault()) / 100; totalprice = totalprice + cartList[i].Drug.Prices.Where(b => b.UnitID == orderDetails.UnitID).Select(b => b.UnitPrice).SingleOrDefault() * orderDetails.Quantity * (100 - cartList[i].Drug.DiscountRates.Where(b => b.DrugstoreTypeID == drugstore.DrugstoreTypeID).Select(b => b.Discount).SingleOrDefault()) / 100; order.DrugOrderDetails.Add(orderDetails); } order.DateOrder = DateTime.Now; order.TotalPrice = totalprice; order.IsActive = true; order.Note = note; order.Status = (int)Status.StatusEnum.NotApprove; order.SalesmanID = drugstore.District.SalesmanID; bool check = unitOfWork.DrugOrderRepository.Insert(order); unitOfWork.DrugOrderRepository.SaveChanges(); unitOfWork.DrugOrderDetailRepository.SaveChanges(); //drugstore.Debt = drugstore.Debt + totalprice; unitOfWork.DrugStoreRepository.Update(drugstore); unitOfWork.DrugStoreRepository.SaveChanges(); if (check) { Session["Cart"] = null; } } return(View()); }
private List <DrugOrder> ParseDrugOrderResultsData(JObject input, string patientUuid) { List <DrugOrder> drugOrders = new List <DrugOrder>(); foreach (var drugOrderInput in input.GetValue("visitDrugOrders")) { DrugOrder drugOrder = new DrugOrder( patientUuid, drugOrderInput["concept"]["name"].ToString(), drugOrderInput["dosingInstructions"]["dose"].ToString(), drugOrderInput["dosingInstructions"]["doseUnits"].ToString(), convertTime(Convert.ToInt64(drugOrderInput["effectiveStartDate"].ToString())), convertTime(Convert.ToInt64(drugOrderInput["effectiveStopDate"].ToString())), "3"); drugOrders.Add(drugOrder); } return(drugOrders); }
private void btn_DrugCntEdit_Click(object sender, EventArgs e) { drugOrder_dtGridView.Rows.Clear(); DrugOrder temp = orders[n]; temp.drug.MedName = productName_txtBox.Text; temp.count = int.Parse(ProductCnt_txtBox.Text); // int로 변환하는 이유는 재고에 더해주기 위해 try { foreach (var item in orders) { drugOrder_dtGridView.Rows.Add(item.drug.MedName, item.entp.entpName, item.count); } } catch (Exception) { MessageBox.Show("추가 불가"); } }
public ActionResult DeleteSchedule(int deliveryScheduleID) { var deliverySchedule = unitOfWork.DeliveryScheduleRepository.GetByID(deliveryScheduleID); var listDeliveryScheduleDetails = deliverySchedule.DeliveryScheduleDetails; var drugOrder = new DrugOrder(); for (int i = listDeliveryScheduleDetails.Count - 1; i >= 0; i--) { var item = listDeliveryScheduleDetails.ElementAt(i); drugOrder = new DrugOrder(); drugOrder = unitOfWork.DrugOrderRepository.GetByID(item.DrugOrderID); drugOrder.Status = (int)Status.StatusEnum.Approved; unitOfWork.DrugOrderRepository.Update(drugOrder); unitOfWork.DrugOrderRepository.SaveChanges(); } deliverySchedule.Status = (int)Status.StatusEnum.Deleted; unitOfWork.DeliveryScheduleRepository.Update(deliverySchedule); unitOfWork.DeliveryScheduleRepository.SaveChanges(); unitOfWork.DeliveryScheduleDetailsRepository.SaveChanges(); return(null); }
private void btn_DrugCntEdit_Click(object sender, EventArgs e) { drugOrder_dtGridView.Rows.Clear(); DrugOrder temp = orders[n]; temp.drug.MedName = productName_txtBox.Text; temp.count = int.Parse(ProductCnt_txtBox.Text); try { foreach (var item in orders) { drugOrder_dtGridView.Rows.Add(item.drug.MedName, item.entp.entpName, item.count); } } catch (Exception ex) { MessageBox.Show("추가 불가"); errMsg = $"[폼 위치 : {FORM_NAME}] [ex.Message] : {ex.Message}, \n[ex.StackTrace] : {ex.StackTrace}\n"; Printlog.printLog(errMsg, DateTime.Now.ToString("yyyy_MM_dd")); } }
public EmailForm(DrugOrder order) { InitializeComponent(); this.order = order; }
public ActionResult CreateSchedule(string deliveryManID) { List <int> listOrderID = new List <int>(); if (Session["ListOrderID"] != null) { var schedule = new DeliverySchedule(); listOrderID = (List <int>)Session["ListOrderID"]; schedule.DeliveryMan = unitOfWork.DeliverymanRepository.GetByID(int.Parse(deliveryManID)); //schedule.DueDate = DateTime.Parse(dueDate); schedule.CreateDate = DateTime.Now; var scheduleDetail = new DeliveryScheduleDetail(); var order = new DrugOrder(); Point startPoint = new Point(); startPoint.x = 10.7972388; startPoint.y = 106.6803467; List <Point> listOrder = new List <Point>(); for (int i = 0; i < listOrderID.Count; i++) { Point drugOrderPoint = new Point(); drugOrderPoint.DrugOrder = unitOfWork.DrugOrderRepository.GetByID(listOrderID[i]); var drugstoreCoordinate = drugOrderPoint.DrugOrder.Drugstore.Coordinate; string[] drugstoreCoordinates = drugstoreCoordinate.Split(','); drugOrderPoint.x = double.Parse(drugstoreCoordinates[0]); drugOrderPoint.y = double.Parse(drugstoreCoordinates[1]); listOrder.Add(drugOrderPoint); } var tempPoint = new Point(); List <Point> resuledList = new List <Point>(); bool flag = true; tempPoint = startPoint; for (int i = listOrder.Count - 1; i >= 0; i--) { if (listOrder.Count > 0) { tempPoint = NearestPoint(tempPoint, listOrder); resuledList.Add(tempPoint); listOrder.Remove(tempPoint); } } for (int i = 0; i < resuledList.Count; i++) { scheduleDetail = new DeliveryScheduleDetail(); order = new DrugOrder(); scheduleDetail.DrugOrderID = resuledList[i].DrugOrder.DrugOrderID; scheduleDetail.Status = (int)Status.StatusEnum.Inprogress; order = resuledList[i].DrugOrder; order.Status = (int)Status.StatusEnum.Inprogress; unitOfWork.DrugOrderRepository.Update(order); schedule.DeliveryScheduleDetails.Add(scheduleDetail); } schedule.Status = (int)Status.StatusEnum.Inprogress; bool check = unitOfWork.DeliveryScheduleRepository.Insert(schedule); if (check) { Session["ListOrderID"] = null; } unitOfWork.DeliveryScheduleRepository.SaveChanges(); unitOfWork.DeliveryScheduleDetailsRepository.SaveChanges(); unitOfWork.DrugOrderRepository.SaveChanges(); } return(Json(listOrderID)); }
private void btnFinishDoc_Click(object sender, EventArgs e) { try { //cap nhat lai thong tin ho so kham if (cbbDoctor.SelectedIndex == -1) { Common.WarningMessageBox("Vui lòng chọn bác sỹ khám"); xtcExam.SelectedTabPageIndex = 0; cbbDoctor.Focus(); return; } string doctor = cbbDoctor.SelectedValue.ToString(); try { var date = DateTime.ParseExact(mtbExamDate.Text, "dd/MM/yyyy HH:mm", System.Globalization.CultureInfo.InvariantCulture); } catch { Common.ErrorMessageBox("Vui lòng nhập định dạng ngày khám dd/mm/yyyy HH:mm"); xtcExam.SelectedTabPageIndex = 0; mtbExamDate.Focus(); return; } string examdate = mtbExamDate.Text; string diagnostic = actDiagnostic.Text; if (string.IsNullOrEmpty(diagnostic)) { Common.ErrorMessageBox("Vui lòng nhập chẩn đoán"); xtcExam.SelectedTabPageIndex = 0; actDiagnostic.Focus(); return; } string patientno = txtPatientno.Text; try { docno = long.Parse(txtDocno.Text); } catch { Common.ErrorMessageBox("Số hồ sơ không hợp lệ"); } string symptom = actSymptom.Text; string advice = actAdvice.Text; if (new Docs().Confirm(docno, patientno, symptom, diagnostic, advice, examdate, doctor) != 1) { Common.ErrorMessageBox("Lỗi tạo hồ sơ khám"); return; } //----> ket thuc phan cap nhat ho so kham //xu ly don thuoc if ((lstFee == null || lstFee.Where(x => x.type == "D").ToList().Count == 0) && DialogResult.No == Common.ConfirmMessage("Chưa kê thuốc", "Bạn vẫn muốn tiếp tục?")) { xtcExam.SelectedTabPageIndex = 2; return; } if (lstFee != null && lstFee.Where(x => x.type == "D").ToList().Count > 0) { long id = new DrugOrder().Insert(docno, doctor, examdate, examdate); if (id > 0) { var chk = true; foreach (var t in lstFee.Where(x => x.type == "D").ToList()) { var rs = new DrugOrderLine().Insert(id, t.id, t.price, t.quantity, t.usage); if (rs == 0) { chk = false; Common.ErrorMessageBox("Số lượng thuốc không đủ"); break; } if (rs == -1) { chk = false; break; } } if (!chk) { return; } } else { Common.WarningMessageBox("Thêm đơn thuốc thất bại"); return; } } // ket thuc xu ly don thuoc //xu ly cls if (lstFee != null && lstFee.Where(x => x.type == "S").ToList().Count > 0) { long orderid = new FeeOrder().Insert(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), docno, "admin"); if (orderid > 0) { var chk = true; foreach (var item in lstFee.Where(x => x.type == "S").ToList()) { if (new FeeOrderLine().Insert(orderid, item.id, item.quantity, item.price) <= 0) { chk = false; break; } } if (!chk) { Common.ErrorMessageBox("Thêm phí dịch vụ thất bại"); return; } } else { return; } } //---> ket thuc xu ly cls //in đơn thuốc if (ckbDrugPrint.Checked) { frmDrugReport f = new frmDrugReport(); f.PrintOrder(s.SelectValue("clinic_name"), s.SelectValue("clinic_phone"), s.SelectValue("clinic_address"), txtPatientno.Text, txtDocno.Text, DateTime.Now.ToString("dd/MM/yyyy HH:mm"), txtFullname.Text, mtbBirthdate.Text, cbbGender.Text, actAddress.Text, txtPhone.Text, actSymptom.Text, actDiagnostic.Text, actAdvice.Text, cbbDoctor.Text, lstFee.Where(x => x.type == "D").ToList()); f.ShowInTaskbar = false; f.ShowDialog(); } //--->kết thúc in đơn thuốc // in hóa đơn if (ckbPrint.Checked) { frmInvoiceReport frm = new frmInvoiceReport(); frm.Invoice(s.SelectValue("clinic_name"), s.SelectValue("clinic_phone"), s.SelectValue("clinic_address"), txtPatientno.Text, txtDocno.Text, DateTime.Now.ToString("dd/MM/yyyy HH:mm"), txtFullname.Text, mtbBirthdate.Text, cbbGender.Text, actAddress.Text, txtPhone.Text, actSymptom.Text, actDiagnostic.Text, actAdvice.Text, cbbDoctor.Text, lstFee); frm.ShowInTaskbar = false; frm.ShowDialog(); } //----->kết thúc in hóa đơn lstFee = null; dgvFeeList.DataSource = null; dgvFees.DataSource = null; dgvPharmacy.DataSource = null; btnSearch.PerformClick(); SetEnableComponents(false); ResetComponents(); } catch (Exception ex) { Common.ErrorMessageBox("Lỗi kết thúc hồ sơ: " + ex.Message); } }