コード例 #1
0
        public CommandModel ToEntity(CommandModelDTO commandModelDTO)
        {
            CommandModel commandModel = new CommandModel();

            commandModel.Id            = commandModelDTO.Id;
            commandModel.CreatedAt     = commandModelDTO.CreatedAt;
            commandModel.StateEnum     = commandModelDTO.StateEnum;
            commandModel.ChoicePaiment = commandModelDTO.ChoicePaiment;

            List <PlantModel> plants = new List <PlantModel>();

            foreach (var p in commandModelDTO.Plants)
            {
                PlantModel plantModel = new PlantModel();
                plantModel.Id    = p.Id;
                plantModel.Name  = p.Name;
                plantModel.Price = p.Price;
                plantModel.Type  = p.Type;

                plants.Add(plantModel);
            }

            commandModel.Plants = plants;

            return(commandModel);
        }
コード例 #2
0
        public CommandModelDTO ToDTO(CommandModel commandModel)
        {
            CommandModelDTO commandModelDTO = new CommandModelDTO();

            commandModelDTO.Id            = commandModel.Id;
            commandModelDTO.CreatedAt     = commandModel.CreatedAt;
            commandModelDTO.StateEnum     = commandModel.StateEnum;
            commandModelDTO.ChoicePaiment = commandModel.ChoicePaiment;

            List <PlantModelDTO> plantsDTO = new List <PlantModelDTO>();

            foreach (var p in commandModel.Plants)
            {
                PlantModelDTO plantModelDTO = new PlantModelDTO();
                plantModelDTO.Id    = p.Id;
                plantModelDTO.Name  = p.Name;
                plantModelDTO.Price = p.Price;
                plantModelDTO.Type  = p.Type;

                plantsDTO.Add(plantModelDTO);
            }

            commandModelDTO.Plants = plantsDTO;

            return(commandModelDTO);
        }
コード例 #3
0
        public CommandModelDTO SavePayment(CommandModelDTO commandModelDTO)
        {
            CommandModel commandModel = commandMapper.ToEntity(commandModelDTO);

            commandModel.State = new PendingState();
            commandModel.Execute();             // command pending
            return(commandMapper.ToDTO(commandDAO.Save(commandModel)));
        }
コード例 #4
0
        public CommandModelDTO Cancel(CommandModelDTO commandModelDTO)
        {
            CommandModel commandModel = commandMapper.ToEntity(commandModelDTO);

            commandModel.State = new CanceledState();
            commandModel.Execute();             // command canceled

            return(commandMapper.ToDTO(commandDAO.Update(commandModel)));
        }
コード例 #5
0
        public CommandModel ToEntity(CommandModelDTO commandModelDTO)
        {
            CommandModel commandModel = new CommandModel();

            commandModel.Id            = commandModelDTO.Id;
            commandModel.CreatedAt     = commandModelDTO.CreatedAt;
            commandModel.StateEnum     = commandModelDTO.StateEnum;
            commandModel.ChoicePaiment = commandModelDTO.ChoicePaiment;
            return(commandModel);
        }
コード例 #6
0
        public CommandModelDTO ToDTO(CommandModel commandModel)
        {
            CommandModelDTO commandModelDTO = new CommandModelDTO();

            commandModelDTO.Id            = commandModel.Id;
            commandModelDTO.CreatedAt     = commandModel.CreatedAt;
            commandModelDTO.StateEnum     = commandModel.StateEnum;
            commandModelDTO.ChoicePaiment = commandModel.ChoicePaiment;
            return(commandModelDTO);
        }
コード例 #7
0
        public CommandModelDTO Pay(CommandModelDTO commandModelDTO)
        {
            CommandModel commandModel = commandMapper.ToEntity(commandModelDTO);

            if (commandModel.ChoicePaiment != null && commandModel.ChoicePaiment.Equals("PayPal"))
            {
                context.paiement = new PaypalServiceImpl();
            }
            else if (commandModel.ChoicePaiment != null && commandModel.ChoicePaiment.Equals("Cash"))
            {
                context.paiement = new CashServiceImpl();
            }

            context.Pay();

            commandModel.State = new FinishedState();
            commandModel.Execute();             // command finished

            return(commandMapper.ToDTO(commandDAO.Update(commandModel)));
        }
コード例 #8
0
 public ActionResult <CommandModelDTO> DoPayment(CommandModelDTO commandModelDTO)
 {
     return(this.commandService.Pay(commandModelDTO));
 }
コード例 #9
0
 public ActionResult <CommandModelDTO> CreatePayment(CommandModelDTO commandModelDTO)
 {
     return(this.commandService.SavePayment(commandModelDTO));
 }