public ActionResult UpdateDataBase(ConsumptionModel consumption)
        {
            if (!ModelState.IsValid)
            {
                return(View("Update", consumption));
            }

            ConsumptionModel conInDb = _context.Consumptions.SingleOrDefault(x => x.Id.Equals(consumption.Id));

            conInDb.Date = consumption.Date;
            conInDb.Time = consumption.Time;
            _context.SaveChanges();

            return(RedirectToAction("ShowConsumptions"));

            //if (db.UpdateConsumption(consumption))
            //{
            //    ViewBag.Error = null;
            //    return RedirectToAction("ShowConsumptions");
            //}
            //else
            //{
            //    ViewBag.Error = "Adatbázis hiba történt!";
            //    return View("Update", new { id = consumption.Id});
            //}
        }
示例#2
0
        public Task <bool> AddAsync(ConsumptionModel model)
        {
            model.Id = _consumptionList.Count() + 1;
            _consumptionList.Add(model);

            return(Task.FromResult(true));
        }
        public ActionResult InsertDataBase(ConsumptionModel consumption)
        {
            if (!ModelState.IsValid)
            {
                return(View("Insert", consumption));
            }

            int       id   = (int)Session["User"];
            UserModel user = _context.NWUsers.SingleOrDefault(x => x.Id.Equals(id));

            consumption.User = user;

            _context.Consumptions.Add(consumption);
            _context.SaveChanges();

            return(RedirectToAction("ShowConsumptions"));

            //if (db.InsertConsumption(consumption, (int)Session["User"]))
            //{
            //    ViewBag.Error = null;
            //    return RedirectToAction("ShowConsumptions");
            //}
            //else
            //{
            //    ViewBag.Error = "Adatbázis hiba történt!";
            //    return View("ShowConsumptions");
            //}
        }
        public void UpdateCell(ConsumptionModel consumptionText)
        {
            lblConsumptionName.Text = consumptionText.Name;
            lblConsumedCount.Text   = consumptionText.Consumed;
            lblExpectedCount.Text   = consumptionText.Expected;
            lblOverusedCount.Text   = consumptionText.Overused;

            double overused = Convert.ToDouble(consumptionText.Overused.Replace('K', ' ').Trim());

            if (overused >= 0)
            {
                lblOverusedCount.Text = consumptionText.Overused;
                lblOverused.Text      = "UNDERUSED";
                UIImageView ImgView = new UIImageView()
                {
                    Frame = new CGRect(-2, 5, 10, 20),
                    Image = UIImage.FromBundle("Arrow_Green_Down.png"),
                };

                lblOverusedCount.AddSubview(ImgView);
            }
            else
            {
                lblOverusedCount.Text = Convert.ToString((-1) * overused) + " K";
                lblOverused.Text      = "OVERUSED";
                var         ImgView    = lblOverusedCount.ViewWithTag(1);
                UIImageView ImgViewRed = new UIImageView()
                {
                    Frame = new CGRect(-2, 5, 10, 20),
                    Image = UIImage.FromBundle("Arrow_Red.png"),
                };
                lblOverusedCount.AddSubview(ImgViewRed);
            }
        }
示例#5
0
        public async Task <IHttpActionResult> PostConsumption(ConsumptionModel model)
        {
            //1. Authorize Request
            if (!IsAuthorized())
            {
                //_logger.Warn($"{ nameof(this.)} Unauthorised user");
                return(Unauthorized());
            }

            //2. Create consumption Model
            var consumption = new Consumption
            {
                Email     = model.Email,
                StartDate = model.StartDate,
                EndDate   = model.EndDate,
                Type      = "dag"
            };

            //3. Post Consumption
            var result = await DataAnalyticsApiManager.PostConsumption(consumption);


            _logger.Info($"{ nameof(this.PostConsumption)} Consumption Post Success");

            return(Ok(result));
        }
 public static Consumption FromModel(this ConsumptionModel model)
 {
     return(new Consumption
     {
         Amount = model.Amount,
         Description = model.Description,
         Quantity = model.Quantity,
         SplittedEqually = model.SplittedEqually,
         Consumers = model.Consumers.Select(FromModel)
     });
 }
        public ActionResult Delete(int id)
        {
            ConsumptionModel consumption = _context.Consumptions.SingleOrDefault(x => x.Id.Equals(id)); //db.GetConsumptionById(id);

            if (consumption != null)
            {
                ViewBag.Error = null;
                return(View(consumption));
            }
            else
            {
                ViewBag.Error = "Adatbázis hiba történt!";
                return(RedirectToAction("ShowConsumption", new { id = id }));
            }
        }
示例#8
0
        public JsonResult Delete(ConsumptionModel model)
        {
            if (!this.permissionService.Authorize(StandardPermissionProvider.DeleteConsumptionRecord))
            {
                return(AccessDeniedJson());
            }

            var consumption = Mapper.Map <ConsumptionModel, Consumption>(model);

            if (consumption != null)
            {
                consumptionService.DeleteConsumptionCategory(consumption);
            }
            return(Json(model));
        }
示例#9
0
 /// <summary>
 /// 状态更新
 /// </summary>
 /// <param name="model"></param>
 /// <param name="status"></param>
 /// <returns></returns>
 private bool ChangeStatus(ConsumptionModel model, ConsumptionStatusEnum status)
 {
     model.ConsumptionStatus = status.ToString();
     if (string.Equals(model.ConsumptionStatus, ConsumptionStatusEnum.Arrive.ToString(), StringComparison.OrdinalIgnoreCase))
     {
         model.ConsumptionDate = DateTime.Now;
     }
     else if (string.Equals(model.ConsumptionStatus, ConsumptionStatusEnum.Completed.ToString(), StringComparison.OrdinalIgnoreCase))
     {
         model.ConsumptionEndDate = DateTime.Now;
     }
     model.LastUpdatedBy   = UserID;
     model.LastUpdatedDate = DateTime.Now;
     return(new ConsumptionBiz().UpdateAsync(model).Result);
 }
示例#10
0
        public JsonResult Create(ConsumptionModel model)
        {
            if (!this.permissionService.Authorize(StandardPermissionProvider.CreateConsumptionRecord))
            {
                return(AccessDeniedJson());
            }

            var consumption = Mapper.Map <ConsumptionModel, Consumption>(model);

            if (consumption != null)
            {
                consumption.StoreId = workContext.CurrentUser.StoreId;
                consumptionService.AddConsumptionCategory(consumption);
            }

            return(Json(model));
        }
示例#11
0
    // Start is called before the first frame update
    void Start()
    {
        transfer = gameObject.AddComponent <TransferModel>();
        transfer.connectionScope = connectionScope;

        switch (whatModel)
        {
        case Model.supply:
            supply            = gameObject.AddComponent <SupplyModel>();
            transfer.isSupply = true;
            break;

        case Model.consumption:
            Consumption    = gameObject.AddComponent <ConsumptionModel>();
            transfer.isUse = true;
            break;
        }
    }
示例#12
0
 public async Task <bool> AddConsumptionAsync(ConsumptionModel consumption)
 {
     return(await _consumptionRepository.AddAsync(consumption));
 }
        public async Task <IActionResult> AddAppointment([FromBody] AddAppointmentRequestDto requestDto)
        {
            #region 校验请求参数
            DateTime.TryParse(requestDto.StartTime, out var startTime);
            if (startTime == DateTime.MinValue)
            {
                return(Failed(ErrorCode.Empty, "预约时间格式不正确,请修改!"));
            }

            if (!string.IsNullOrEmpty(requestDto.Remark))
            {
                if (requestDto.Remark.Length > 500)
                {
                    return(Failed(ErrorCode.Empty, "备注超过最大长度限制,请修改!"));
                }
            }
            #endregion

            #region 校验用户账号是否存在
            var userModel = new UserBiz().GetUserByPhone(requestDto.Phone);
            if (userModel == null)
            {
                return(Failed(ErrorCode.Empty, $"用户“{requestDto.Phone}”不存在或已禁用!"));
            }

            #endregion

            #region 若服务对象存在则校验
            if (!string.IsNullOrEmpty(requestDto.ServiceMemberGuid))
            {
                var members = await new ServiceMemberBiz().GetServiceMemberListAsync(userModel.UserGuid);

                if (members != null && members.Count > 0)
                {
                    if (!members.Any(d => d.ServiceMemberGuid == requestDto.ServiceMemberGuid))
                    {
                        return(Failed(ErrorCode.Empty, "服务对象不存在!"));
                    }
                }
            }
            #endregion

            #region 校验用户指定卡下服务项目是否可用
            var goodsItemBiz = new GoodsItemBiz();

            var goodsItemModel = await goodsItemBiz.GetModelAsync(requestDto.FromItemGuid);

            if (goodsItemModel is null)
            {
                return(Failed(ErrorCode.Empty, "抱歉,尚未有可用的卡项"));
            }
            #endregion

            #region 校验商户下项目是否存在
            var projectBiz = new ProjectBiz();

            var projectModel = await projectBiz.GetMerchantPorjectModelById(UserID, goodsItemModel.ProjectGuid);

            if (projectModel is null)
            {
                return(Failed(ErrorCode.Empty, "服务项目不存在!"));
            }
            #endregion

            var startDate = startTime.AddMinutes(projectModel.OperationTime);

            requestDto.EndTime = startDate.ToString("HH:mm");

            #region 校验用户指定卡是否可用并获取旧卡
            var goodBiz = new GoodsBiz();

            //按照卡创建时间倒序,优先扣除旧卡使用次数
            var goodsModel = await goodBiz.GetAvailableGoods(userModel.UserGuid);

            if (goodsModel is null || goodsModel.Count <= 0)
            {
                return(Failed(ErrorCode.Empty, "抱歉,尚未有可用的卡项"));
            }

            //首先获取有过期时间限制的卡,优先扣除使用次数
            var goodModel = goodsModel.FirstOrDefault(d => d.EffectiveStartDate.HasValue &&
                                                      d.EffectiveEndDate.HasValue && DateTime.Now < d.EffectiveEndDate.Value);

            if (goodModel is null)
            {
                //若没有过期时间限制则获取第一张卡
                goodModel = goodsModel.FirstOrDefault(d => !d.EffectiveStartDate.HasValue && !d.EffectiveEndDate.HasValue);

                if (goodModel is null)
                {
                    return(Failed(ErrorCode.UserData, "抱歉,尚未有可用的卡项"));
                }
            }

            #endregion

            #region 查询排班是否存在或已约满

            //预约项目需间隔15分钟,即预约项目成功后随即锁定后续的15分钟时间
            int lockTime = 15;

            var merchantScheduleBiz = new MerchantScheduleBiz();
            var scheduleModel       = await merchantScheduleBiz.GetModelAsync(requestDto.ScheduleGuid);

            if (scheduleModel == null)
            {
                return(Failed(ErrorCode.Empty, $"服务项目“{projectModel.ProjectName}”无排班信息"));
            }

            if (scheduleModel.FullStatus)
            {
                return(Failed(ErrorCode.Empty, "排班已约满"));
            }
            #endregion

            #region 查询预约时间段是否已被预约

            var merchantScheduleDetaiBiz = new MerchantScheduleDetailBiz();

            var occupied = await merchantScheduleDetaiBiz.CheckScheduleDetailOccupied(requestDto.ScheduleGuid, requestDto.StartTime, startDate.AddMinutes(lockTime).ToString("HH:mm"));

            if (occupied)
            {
                return(Failed(ErrorCode.UserData, $"服务时间“{requestDto.StartTime}”不可预约"));
            }
            #endregion

            goodsItemModel.Remain--;
            goodsItemModel.Used++;
            goodsItemModel.Available = goodsItemModel.Remain > 0;

            var consumptionGuid = Guid.NewGuid();

            var consumptionModel = new ConsumptionModel
            {
                Remark            = requestDto.Remark,
                ConsumptionGuid   = consumptionGuid.ToString("N"),
                ConsumptionNo     = BitConverter.ToInt64(consumptionGuid.ToByteArray(), 0).ToString(),
                UserGuid          = userModel.UserGuid,
                FromItemGuid      = goodsItemModel.GoodsItemGuid,
                ProjectGuid       = goodsItemModel.ProjectGuid,
                AppointmentDate   = Convert.ToDateTime(scheduleModel.ScheduleDate.ToString("yyyy-MM-dd") + " " + requestDto.StartTime),
                MerchantGuid      = scheduleModel.MerchantGuid,
                OperatorGuid      = scheduleModel.TargetGuid,
                PlatformType      = scheduleModel.PlatformType,
                ConsumptionStatus = ConsumptionStatusEnum.Booked.ToString(),
                CreatedBy         = UserID,
                LastUpdatedBy     = UserID,
                OrgGuid           = "GuoDan"
            };

            if (!string.IsNullOrEmpty(requestDto.ServiceMemberGuid))
            {
                consumptionModel.ServiceMemberGuid = requestDto.ServiceMemberGuid;
            }

            var merchantScheduleDetailModel = new MerchantScheduleDetailModel
            {
                ScheduleDetailGuid = Guid.NewGuid().ToString("N"),
                ScheduleGuid       = requestDto.ScheduleGuid,
                StartTime          = requestDto.StartTime,
                EndTime            = requestDto.EndTime,
                ConsumptionGuid    = string.Empty,
                CreatedBy          = UserID,
                LastUpdatedBy      = UserID,
                OrgGuid            = "GuoDan"
            };

            var lockScheduleDetailModel = (MerchantScheduleDetailModel)null;

            if (lockTime > 0)
            {
                lockScheduleDetailModel = new MerchantScheduleDetailModel
                {
                    ScheduleDetailGuid = Guid.NewGuid().ToString("N"),
                    ScheduleGuid       = requestDto.ScheduleGuid,
                    StartTime          = requestDto.EndTime,
                    EndTime            = startDate.AddMinutes(lockTime).ToString("HH:mm"),
                    ConsumptionGuid    = string.Empty,
                    CreatedBy          = UserID,
                    LastUpdatedBy      = UserID,
                    OrgGuid            = "GuoDan"
                };
            }

            var result = await new ConsumptionBiz().MakeAnAppointmentWithConsumption(consumptionModel, merchantScheduleDetailModel, goodsItemModel, lockScheduleDetailModel);

            return(!result?Failed(ErrorCode.DataBaseError, "预约失败") : Success());
        }
示例#14
0
        public async Task <bool> AddAsync(ConsumptionModel model)
        {
            await _context.Consumption.AddAsync(model);

            return(Convert.ToBoolean(await _context.SaveChangesAsync()));
        }