예제 #1
0
        public async Task <ResultModel> Post(TransferRecord record)
        {
            var result      = new ResultModel();
            var accessToken = Request.Headers["Authorization"];
            var user        = await _TokenGetUserHelper.GetUser(accessToken);

            try
            {
                record.CreateDate = DateTime.Now.ToLocalTime();
                _context.TransferRecords.Add(record);
                result.IsSuccess = true;
                result.Message   = "添加轉帳紀錄成功.";
                await _context.SaveChangesAsync();

                result.Data = new { record.Id };
            }
            catch (Exception e)
            {
                result.IsSuccess = false;
                result.Message   = "DB ERROR";
            }


            logger.Info("userId=" + user.Id + ", username="******"\nCreate " + "TransferRecord id= " + record.Id + " " + result.Message);

            return(result);
        }
예제 #2
0
        public async Task <ResultModel> Post([FromBody] Friend f)
        {
            var result = new ResultModel();

            result.Message = f.Name;

            var query = from o in _context.Friends
                        where o.Name == f.Name
                        select o;

            if (query.Count() > 0)
            {
                result.IsSuccess = false;
                result.Message   = f.Name + " exist.";
                return(result);
            }
            var queryCity = _context.Cities.Include(c => c.TownShips).FirstOrDefault(c => c.Id == f.CityId);

            if (queryCity == null)
            {
                result.IsSuccess = false;
                result.Message   = "CityId not exist.";
                return(result);
            }
            var queryTownships = queryCity.TownShips.FirstOrDefault(t => t.Id == f.TownshipId);

            if (queryTownships == null)
            {
                result.IsSuccess = false;
                result.Message   = "TownshipId not exist.";
                return(result);
            }

            try
            {
                await _context.Friends.AddAsync(f);

                result.IsSuccess = true;
                result.Message   = "添加友宮成功";
                await _context.SaveChangesAsync();

                result.Data = new {
                    Id = f.Id
                };
            }
            catch (Exception e)
            {
                result.IsSuccess = false;
                result.Message   = "DB ERROR";
            }
            var accessToken = Request.Headers["Authorization"];
            var user        = await _TokenGetUserHelper.GetUser(accessToken);

            logger.Info("userId=" + user.Id + ", username="******"\n Create " + "Friends id= " + f.Id + ", name=" + f.Name + " successfully.");
            return(result);
        }
예제 #3
0
        public async Task <ResultModel> Post(FinancialItem item)
        {
            var result = new ResultModel();

            ///輸入資料檢查
            if (item.Name == null || item.Type == null)
            {
                result.IsSuccess = false;
                result.Message   = "輸入資料不足";
                return(result);
            }
            if (item.Type != "收入" && item.Type != "支出")
            {
                result.IsSuccess = false;
                result.Message   = "Type:收入 or 支出";
                return(result);
            }
            //==============
            var queryItem = from i in _context.FinancialItems
                            where i.Name.ToUpper() == item.Name.ToUpper()
                            select i;

            if (queryItem.Count() > 0)
            {
                result.IsSuccess = false;
                result.Message   = "項目名稱重複";
                return(result);
            }

            try
            {
                _context.FinancialItems.Add(item);
                result.IsSuccess = true;
                result.Message   = "添加財務項目成功";
                await _context.SaveChangesAsync();

                result.Data = new {
                    item.Id
                };
            }
            catch (Exception e)
            {
                result.IsSuccess = false;
                result.Message   = "DB ERROR";
            }

            var accessToken = Request.Headers["Authorization"];
            var user        = await _TokenGetUserHelper.GetUser(accessToken);

            logger.Info("userId=" + user.Id + ", username="******"\nCreate " + "FinancialItem id= " + item.Id + ", name=" + item.Name + " successfully.");
            return(result);
        }
예제 #4
0
        public async Task <ResultModel> Post([FromBody] member n)
        {
            member newMember = new member();

            newMember = n;
            var result = new ResultModel();

            ResultModel checkMemberResult = CheckMember(newMember, "IsDuplicate");

            var accessToken = Request.Headers["Authorization"];
            var user        = await _TokenGetUserHelper.GetUser(accessToken);

            if (checkMemberResult.IsSuccess)
            {
                /// <summary>
                ///註冊日期
                ///
                newMember.CreateDate = DateTime.Now.ToLocalTime().ToString();
                try
                {
                    await _context.members.AddAsync(newMember);

                    result.Data      = n.MemberId.ToString();
                    result.IsSuccess = true;
                    result.Message   = "會員添加成功.";

                    await _context.SaveChangesAsync();

                    result.Data = new
                    {
                        MemberId = newMember.MemberId
                    };
                }
                catch (Exception e)
                {
                    result.IsSuccess = false;
                    result.Message   = "DB ERROR";
                    logger.Warn("userId=" + user.Id + ", username="******"\nCreate " + "member id= " + newMember.MemberId + ", name=" + n.Name + " " + result.Message);
                    return(result);
                }
            }
            else
            {
                //checkMemberResult fail
                result = checkMemberResult;
            }

            logger.Info("userId=" + user.Id + ", username="******"\nCreate " + "member id= " + newMember.MemberId + ", name=" + n.Name + " " + result.Message);
            return(result);
        }
예제 #5
0
        public async Task <ResultModel> Post(ToDoListItem model)
        {
            var result = new ResultModel();

            model.CreatedDate = DateTime.Now;
            _context.ToDoLists.Add(model);
            try
            {
                await _context.SaveChangesAsync();
            }
            catch (Exception e)
            {
                result.IsSuccess = false;
                result.Message   = e.Message;
                return(result);
            }

            result.IsSuccess = true;
            result.Data      = new { model.Id, model.Subject };
            result.Message   = "新增成功";
            return(result);
        }
예제 #6
0
        public async Task <ResultModel> Post(FinancialRecord record)
        {
            var result             = new ResultModel();
            var existFinancialItem = _context.FinancialItems.FirstOrDefault(a => a.Id == record.FinancialItemId);

            if (record.FinancialItemId == 57 || record.FinancialItemId == 75)
            {
                //計算xx燈剩餘位子數量
                int max_Light = 666;
                if (record.Position > max_Light / 2)
                {
                    result.IsSuccess = false;
                    result.Message   = "位置最多為" + max_Light / 2;
                    return(result);
                }

                var existPosition = _context.FinancialRecords
                                    .Where(a => a.FinancialItemId == record.FinancialItemId)
                                    .Where(a => a.Position == record.Position)
                                    .Where(a => a.DueDate > DateTime.Now);
                if (existPosition.Count() > 0)
                {
                    result.IsSuccess = false;
                    result.Message   = "位置已佔用,請重新選擇";
                    return(result);
                }
            }
            try
            {
                NotifyModel notify = new NotifyModel();
                notify.CreateDate = DateTime.Now;
                notify.IsRead     = false;
                notify.ItemName   = existFinancialItem.Name;
                notify.MemberName = record.CustomerName;
                _context.Notification.Add(notify);

                record.CreateDate = DateTime.Now.ToLocalTime();

                _context.FinancialRecords.Add(record);
                result.IsSuccess = true;
                result.Message   = "添加紀錄成功.";
                await _context.SaveChangesAsync();

                result.Data = new
                {
                    Id = record.Id
                };
            }
            catch (Exception e)
            {
                result.IsSuccess = false;
                result.Message   = "DB ERROR";
            }

            var accessToken = Request.Headers["Authorization"];
            var user        = await _TokenGetUserHelper.GetUser(accessToken);

            logger.Info("userId=" + user.Id + ", username="******"\n Create " + "FinancialRecord id= " + record.Id + " successfully.");


            return(result);
        }
예제 #7
0
        public async Task <ResultModel> Post([FromBody] BorrowViewModel b)
        {
            ResultModel       result = new ResultModel();
            RitualMoneyRecord record = new RitualMoneyRecord();

            if (!string.IsNullOrEmpty(b.Name))
            {
                b.Name = b.Name.Trim().ToUpper();
            }
            var query = from m in _context.members
                        where (string.IsNullOrEmpty(b.Name) ? true : m.Name.ToUpper() == (b.Name)) &&
                        (string.IsNullOrEmpty(b.Identity) ? true : m.Identity == b.Identity)
                        select m;

            //查無會員
            if (query.Count() == 0)
            {
                result.IsSuccess = false;
                result.Message   = "查無資料.";
                return(result);
            }
            //查詢到多筆同名會員
            if (query.Count() > 1)
            {
                result.IsSuccess = false;
                result.Message   = "查詢到多筆同名會員";
                return(result);
            }
            //
            var recordQuery = from o in _context.RitualMoneyRecords
                              where (o.MemberId == query.SingleOrDefault().MemberId) &&
                              (o.IsReturn == false)
                              select o;

            if (recordQuery.Count() > 0)
            {
                result.IsSuccess = false;
                result.Message   = "尚有未還願的借用紀錄";
                return(result);
            }
            try
            {
                var member = query.SingleOrDefault();
                record.MemberId     = member.MemberId;
                record.BorrowDate   = DateTime.Now.ToLocalTime();
                record.BorrowAmount = b.BorrowAmount;
                //_context.RitualMoneyRecords.Add(record);
                await _context.RitualMoneyRecords.AddAsync(record);

                await _context.SaveChangesAsync();

                result.IsSuccess = true;
                result.Message   = "借用發財金成功.";
            }
            catch (Exception e)
            {
                result.IsSuccess = false;
                result.Message   = "DB error.";
            }
            var accessToken = Request.Headers["Authorization"];
            var user        = await _TokenGetUserHelper.GetUser(accessToken);

            //logger.Info("userId=" + user.Id + ", username="******"\nCreate " + "RitualMoney id= " + record.RitualMoneyRecordId +" successfully.");

            return(result);
        }