Beispiel #1
0
        public static void Confirm(string id, string logisticsBarcode, string logisticsInfo, string userId)
        {
            var db = DatabaseFactory.CreateDatabase();

            using (var conn = db.CreateConnection())
            {
                conn.Open();
                using (var trans = conn.BeginTransaction())
                {
                    try
                    {
                        if (!Confirm(id, logisticsBarcode, logisticsInfo, db, trans))
                        {
                            throw new Exception("The return form id does not exist.");
                        }
                        GoodsStateRepository.ChangeState(id, FormType.Return, userId, db, trans);

                        trans.Commit();
                    }
                    catch
                    {
                        trans.Rollback();
                        throw;
                    }
                }
            }
        }
Beispiel #2
0
        public static void Confirm(string id, string userId)
        {
            var db = DatabaseFactory.CreateDatabase();

            using (var conn = db.CreateConnection())
            {
                conn.Open();
                using (var trans = conn.BeginTransaction())
                {
                    try
                    {
                        var entity = Get(id, db, trans);
                        if (entity == null)
                        {
                            throw new Exception("The inspection form does not exist.");
                        }

                        var scanCount = GoodsStateRepository.CountValid(id, FormType.Inspection, db, trans);

                        UpdateConfirmStatus(id, scanCount, userId, db, trans);

                        var needAudit = OrderFormRepository.GetItem(entity.OrderDetailId).NeedAudit;

                        string   formId;
                        FormType formType;
                        if (needAudit)
                        {
                            formId   = CreateInspectionAudit();
                            formType = FormType.InspectionAudit;
                        }
                        else
                        {
                            formId   = SaveIncomingForm(entity, scanCount, userId, db, trans);
                            formType = FormType.Incoming;
                        }

                        GoodsStateRepository.ChangeState(id, FormType.Inspection, formId, formType, userId, db, trans);

                        //UpdateOrderStatus(entity.OrderDetailId, needAudit, db, trans);

                        trans.Commit();
                    }
                    catch
                    {
                        trans.Rollback();
                        throw;
                    }
                }
            }
        }
Beispiel #3
0
        public static void Confirm(string id, string userId, string hospitalId)
        {
            if (string.IsNullOrEmpty(id))
            {
                throw new Exception("The id of movein form is empty.");
            }
            var movein = Get(id);

            if (movein == null)
            {
                throw new Exception(string.Format("The id({0}) does not exist.", id));
            }
            var moveout = MoveoutFormRepository.Get(movein.MoveoutId);

            if (movein == null)
            {
                throw new Exception(string.Format("The id({0}) of moveout form does not exist.", id));
            }

            var db = DatabaseFactory.CreateDatabase();

            using (var conn = db.CreateConnection())
            {
                conn.Open();
                using (var trans = conn.BeginTransaction())
                {
                    try
                    {
                        Confirm(id, userId, db, trans);
                        GoodsStateRepository.ChangeState(id, FormType.MoveIn, userId, db, trans);
                        GoodsRepsitory.MoveStoreroom(moveout.NewStoreroomId, movein.Id, hospitalId, userId, db, trans);

                        trans.Commit();
                    }
                    catch
                    {
                        trans.Rollback();
                        throw;
                    }
                }
            }
        }