Example #1
0
        public IHttpActionResult SendPackage(PackageDto package)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var customer = context.Customers.FirstOrDefault(c => c.User.UserName == User.Identity.Name);

            if (customer == null)
            {
                return(BadRequest());
            }
            package.Status = PackageStatus.AtClientsLocation;
            package.Cost   = pricingStrategy.GetCost(package);
            var newPackage = Mapper.Map <Package>(package);

            context.Packages.Add(newPackage);
            customer.Packages.Add(newPackage);
            context.PackageEvents.Add(new PackageEvent
            {
                Package   = newPackage,
                EventType = PackageEventType.ReadyToPickFromSender
            });
            context.SaveChanges();
            return(Ok());
        }
        public IHttpActionResult RegisterPackage(PackageDto package)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }
            package.Status = PackageStatus.InWarehouse;
            package.Cost   = pricingStrategy.GetCost(package);
            var newPackage = Mapper.Map <Package>(package);

            context.Packages.Add(newPackage);
            context.PackageEvents.Add(new PackageEvent
            {
                EventType = PackageEventType.RegisteredInWarehouse,
                Package   = newPackage
            });
            context.SaveChanges();
            return(Ok());
        }