public IRestResponse ChungChiY_SaveFullProcess(HoSoSaveFull hoSoFullSave)
        {
            var request = new RestRequest("HS/ChungChiY_SaveFullProcess", Method.POST)
            {
                RequestFormat  = DataFormat.Json,
                JsonSerializer = new JsonSerializer()
            };

            request.AddBody(new
            {
                hoSoFullSave.HoSoTiepNhan
                ,
                hoSoFullSave.ChungChiHanhNgheY
            });
            return(Execute(request));
        }
Exemple #2
0
        public KetQuaTraVe ChungChiY_SaveFullProcess(HoSoSaveFull hoSoFullSave)
        {
            long hosoid = 0;
            long chungchihanhngheYID = 0;
            var  flagupd             = true; //1: insert - 0: update

            if (hoSoFullSave == null)
            {
                return(null);
            }
            try
            {
                using (var myScope = new TransactionScope())
                {
                    using (var connectionMotCua = new SqlConnection(MotCuaConn))
                    {
                        connectionMotCua.Open();
                        if (hoSoFullSave.HoSoTiepNhan.hosotiepnhan.HoSoID != 0)
                        {
                            flagupd = false;
                            hosoid  = hoSoFullSave.HoSoTiepNhan.hosotiepnhan.HoSoID;
                        }
                        if (flagupd)
                        {
                            hosoid = _hoSoTiepNhanRepository.MotCua_HoSoTiepNhan_Ins(
                                hoSoFullSave.HoSoTiepNhan.hosotiepnhan, connectionMotCua, trans);
                            if (hosoid == -1)
                            {
                                myScope.Dispose();
                                return(null);
                            }
                            hoSoFullSave.HoSoTiepNhan.quatrinhxuly.HoSoID = hosoid;
                            var kqQuaTrinhXuLyIns =
                                _quaTrinhXuLyRepository.MotCua_QuaTrinhXuLy_Ins(
                                    hoSoFullSave.HoSoTiepNhan.quatrinhxuly, connectionMotCua, trans);
                            _hoSoTiepNhanRepository.MotCua_HoSoTiepNhan_UpdQuaTrinhXuLyHienTaiByHoSoID(hosoid,
                                                                                                       kqQuaTrinhXuLyIns, connectionMotCua, trans);
                            _workListRepository.MotCua_WorkList_InsUpdByUserIDandTrangThaiHoSoID(
                                hoSoFullSave.HoSoTiepNhan.UserId,
                                hoSoFullSave.HoSoTiepNhan.TrangThaiHoSoId,
                                hoSoFullSave.HoSoTiepNhan.TrangThaiCapNhat,
                                connectionMotCua, trans);
                        }
                        else
                        {
                            _hoSoTiepNhanRepository.MotCua_HoSoTiepNhan_UpdByHoSoID(
                                hoSoFullSave.HoSoTiepNhan.hosotiepnhan, connectionMotCua, trans);
                        }

                        using (var connectionNganhY = new SqlConnection(NganhYConn))
                        {
                            flagupd = true;
                            connectionNganhY.Open();
                            hoSoFullSave.ChungChiHanhNgheY.chungChiHanhNgheY.HoSoID = hosoid;
                            if (hoSoFullSave.ChungChiHanhNgheY.chungChiHanhNgheY.ChungChiHanhNgheYID != 0)
                            {
                                flagupd             = false;
                                chungchihanhngheYID =
                                    hoSoFullSave.ChungChiHanhNgheY.chungChiHanhNgheY.ChungChiHanhNgheYID;
                            }
                            if (flagupd)
                            {
                                chungchihanhngheYID =
                                    _chungChiHanhNgheYRepository.NganhY_ChungChiHanhNgheY_Ins(
                                        hoSoFullSave.ChungChiHanhNgheY.chungChiHanhNgheY, connectionNganhY, trans);
                                if (chungchihanhngheYID == -1)
                                {
                                    myScope.Dispose();
                                    return(null);
                                }
                                if (hoSoFullSave.ChungChiHanhNgheY.lstChungChiHanhNgheY_TDCM?.Any() == true)
                                {
                                    foreach (var tdcm in hoSoFullSave.ChungChiHanhNgheY.lstChungChiHanhNgheY_TDCM)
                                    {
                                        tdcm.ChungChiHanhNgheYID = chungchihanhngheYID;
                                    }
                                    var instdcm = _chungChiHanhNgheY_TDCMRepository.NganhY_ChungChiHanhNgheY_TDCM_Ins(
                                        hoSoFullSave.ChungChiHanhNgheY.lstChungChiHanhNgheY_TDCM, connectionNganhY, trans);
                                    if (!instdcm)
                                    {
                                        myScope.Dispose();
                                        return(null);
                                    }
                                }
                                if (hoSoFullSave.ChungChiHanhNgheY.lstChungChiHanhNgheY_QTTH?.Any() == true)
                                {
                                    foreach (var qtth in hoSoFullSave.ChungChiHanhNgheY.lstChungChiHanhNgheY_QTTH)
                                    {
                                        qtth.ChungChiHanhNgheYID = chungchihanhngheYID;
                                    }
                                    var insqtth = _chungChiHanhNgheY_QTTHRepository.NganhY_ChungChiHanhNgheY_QTTH_Ins(
                                        hoSoFullSave.ChungChiHanhNgheY.lstChungChiHanhNgheY_QTTH, connectionNganhY, trans);
                                    if (!insqtth)
                                    {
                                        myScope.Dispose();
                                        return(null);
                                    }
                                }
                            }
                            else
                            {
                                var updcchn =
                                    _chungChiHanhNgheYRepository.NganhY_ChungChiHanhNgheY_UpdByCCHNYID(
                                        hoSoFullSave.ChungChiHanhNgheY.chungChiHanhNgheY, connectionNganhY, trans);
                                if (!updcchn)
                                {
                                    myScope.Dispose();
                                    return(null);
                                }
                                var deltdcm =
                                    _chungChiHanhNgheY_TDCMRepository.NganhY_ChungChiHanhNgheY_TDCM_DelByCCHNYID(
                                        chungchihanhngheYID, connectionNganhY, trans);
                                if (!deltdcm)
                                {
                                    myScope.Dispose();
                                    return(null);
                                }
                                var delqtth =
                                    _chungChiHanhNgheY_QTTHRepository.NganhY_ChungChiHanhNgheY_QTTH_DelByCCHNYID(
                                        chungchihanhngheYID, connectionNganhY, trans);
                                if (!delqtth)
                                {
                                    myScope.Dispose();
                                    return(null);
                                }

                                var instdcm =
                                    _chungChiHanhNgheY_TDCMRepository.NganhY_ChungChiHanhNgheY_TDCM_Ins(
                                        hoSoFullSave.ChungChiHanhNgheY.lstChungChiHanhNgheY_TDCM, connectionNganhY, trans);
                                if (!instdcm)
                                {
                                    myScope.Dispose();
                                    return(null);
                                }
                                var insqtth =
                                    _chungChiHanhNgheY_QTTHRepository.NganhY_ChungChiHanhNgheY_QTTH_Ins(
                                        hoSoFullSave.ChungChiHanhNgheY.lstChungChiHanhNgheY_QTTH, connectionNganhY, trans);
                                if (!insqtth)
                                {
                                    myScope.Dispose();
                                    return(null);
                                }
                            }
                        }
                    }
                    myScope.Complete();
                    return(new KetQuaTraVe
                    {
                        ChungChiId = chungchihanhngheYID,
                        HoSoId = hosoid
                    });
                }
            }
            catch (TransactionAbortedException ex)
            {
                Console.WriteLine("TransactionAbortedException Message: {0}", ex.Message);
                return(null);
            }
            catch (ApplicationException ex)
            {
                Console.WriteLine("ApplicationException Message: {0}", ex.Message);
                return(null);
            }
        }