示例#1
0
        public async Task <IHttpActionResult> Put(string id, KYKETOAN instance)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != instance.ID)
            {
                return(BadRequest());
            }
            var result = new TransferObj <KYKETOAN>();

            if (id != instance.ID)
            {
                result.Status  = false;
                result.Message = "Mã ID không hợp lệ";
                return(Ok(result));
            }
            try
            {
                var item = _service.Update(instance);
                int upd  = await _service.UnitOfWork.SaveAsync();

                if (upd > 0)
                {
                    result.Status  = true;
                    result.Data    = item;
                    result.Message = "Cập nhật thành công";
                }
                else
                {
                    result.Status  = false;
                    result.Data    = null;
                    result.Message = "Thao tác không thành công";
                }
            }
            catch (Exception e)
            {
                result.Data    = null;
                result.Status  = false;
                result.Message = e.Message;
            }
            return(Ok(result));
        }
示例#2
0
        public async Task <IHttpActionResult> ClosingOutPeriod(KYKETOAN instance)
        {
            var result = new TransferObj <KYKETOAN>();
            var exist  = _service.Find(instance);

            if (exist != null)
            {
                if (instance.TRANGTHAI == (int)TypeState.APPROVAL)
                {
                    result.Status  = false;
                    result.Data    = null;
                    result.Message = "Kỳ này đã được duyệt";
                    return(Ok(result));
                }
                var unitCode            = _service.GetCurrentUnitCode();
                var exsitPeriodNotClose = _service.Repository.DbSet.Any(x => x.NAM == exist.NAM && x.KY < exist.KY && x.TRANGTHAI != (int)TypeState.APPROVAL && x.UNITCODE.Equals(unitCode));
                if (exsitPeriodNotClose)
                {
                    result.Status  = false;
                    result.Data    = null;
                    result.Message = "Chưa khóa sổ kỳ trước";
                    return(Ok(result));
                }

                var tableName         = _service.Get_TableName_XNT(instance.NAM, instance.KY);
                var previousTalbeName = _service.Get_TableName_XNT_Previous(instance.NAM, instance.KY - 1);
                try
                {
                    if (_service.KhoaSoKyKeToan(previousTalbeName, tableName, unitCode, instance.NAM, instance.KY, _service.GetConnectionString()))
                    {
                        exist.TRANGTHAI   = (int)TypeState.APPROVAL;
                        exist.ObjectState = ObjectState.Modified;
                        int appro = await _service.UnitOfWork.SaveAsync();

                        if (appro > 0)
                        {
                            result.Data    = exist;
                            result.Status  = true;
                            result.Message = "Khóa sổ kỳ kế toán [" + exist.KY + "] thành công";
                        }
                        else
                        {
                            result.Data    = null;
                            result.Status  = false;
                            result.Message = "Khóa sổ không thành công";
                        }
                    }
                    else
                    {
                        result.Status  = false;
                        result.Data    = null;
                        result.Message = "Khóa sổ xảy ra lỗi! Không thành công";
                    }
                }
                catch (Exception e)
                {
                    result.Status  = false;
                    result.Data    = null;
                    result.Message = "Lỗi: " + e.Message;
                }
            }
            return(Ok(result));
        }
示例#3
0
        public async Task <IHttpActionResult> Post(KyKeToanViewModel.Dto instance)
        {
            var             result         = new TransferObj <List <KYKETOAN> >();
            List <KYKETOAN> listKyKeToan   = new List <KYKETOAN>();
            var             curentUnitCode = _service.GetCurrentUnitCode();

            if (instance.NAM == 0)
            {
                result.Status  = false;
                result.Message = "Kỳ kế toán không hợp lệ";
                return(Ok(result));
            }
            else
            {
                var exist = _service.Repository.DbSet.FirstOrDefault(x => x.NAM == instance.NAM && x.UNITCODE.Equals(curentUnitCode));
                if (exist != null)
                {
                    result.Status  = false;
                    result.Message = "Đã tồn tại kỳ kế toán này";
                    return(Ok(result));
                }
            }
            try
            {
                var unitCode  = _service.GetCurrentUnitCode();
                var startDate = new DateTime(instance.NAM, 1, 1);
                var endDate   = new DateTime(instance.NAM, 12, 31);
                int count     = 0;
                while (startDate <= endDate)
                {
                    count++;
                    var item = new KYKETOAN()
                    {
                        DENNGAY   = startDate.Date,
                        TUNGAY    = startDate.Date,
                        KY        = count,
                        NAM       = startDate.Year,
                        TENKY     = string.Format("Kỳ kế toán {0}", count),
                        TRANGTHAI = 0
                    };
                    startDate = startDate.AddDays(1);
                    _service.Insert(item);
                    listKyKeToan.Add(item);
                }
                int inst = await _service.UnitOfWork.SaveAsync();

                if (inst > 0)
                {
                    result.Status  = true;
                    result.Data    = listKyKeToan;
                    result.Message = "Thêm mới thành công";
                }
                else
                {
                    result.Status  = false;
                    result.Data    = null;
                    result.Message = "Thao tác không thành công";
                }
            }
            catch (Exception e)
            {
                result.Status  = false;
                result.Message = e.Message;
            }
            return(Ok(result));
        }