示例#1
0
        public async Task <HttpResponseMessage> NewCostingSlab(CostingSlabRequest costingSlabRequest)
        {
            Services.Log.Info("New CostingSlab Request [API]");
            string responseText;

            stranddContext context = new stranddContext();

            CostingSlab newCostingSlab = new CostingSlab
            {
                Id                    = Guid.NewGuid().ToString(),
                IdentifierGUID        = costingSlabRequest.IdentifierGUID,
                ServiceType           = costingSlabRequest.ServiceType,
                Status                = costingSlabRequest.Status,
                StartTime             = costingSlabRequest.StartTime,
                EndTime               = costingSlabRequest.EndTime,
                BaseCharge            = costingSlabRequest.BaseCharge,
                BaseKilometersFloor   = costingSlabRequest.BaseKilometersFloor,
                ExtraKilometersCharge = costingSlabRequest.ExtraKilometersCharge

                                        // Version = new Byte[125],
                                        //CreatedAt = costingSlabRequest.StartTime,
                                        //UpdatedAt=costingSlabRequest.StartTime,
                                        //Deleted= false
            };

            context.CostingSlabs.Add(newCostingSlab);
            await context.SaveChangesAsync();

            responseText = "CostingSlab Successfully Generated";
            Services.Log.Info(responseText);
            return(this.Request.CreateResponse(HttpStatusCode.Created, responseText));
        }
示例#2
0
        public async Task <HttpResponseMessage> UpdateCostingSlabs(CostingSlabRequest costingSlabRequest)
        {
            Services.Log.Info("Update Costing Slabs Request");

            stranddContext context = new stranddContext();

            //Determine Account ProviderUserID for Updation based upon Request (or Authenticated Token)
            string costingslabsID;

            if (costingSlabRequest.ID != null)
            {
                costingslabsID = costingSlabRequest.ID;
            }

            else
            {
                var currentUser = this.User as ServiceUser;

                if (currentUser != null)
                {
                    costingslabsID = currentUser.Id;
                }
                else
                {
                    string responsetext = "No Costing Slabs ID";
                    Services.Log.Warn(responsetext);
                    return(this.Request.CreateResponse(HttpStatusCode.BadRequest, responsetext));
                }
            }

            //Looks up the Account for Update by ProviderUserID
            CostingSlab updateCostingSlab = await context.CostingSlabs.Where(a => a.Id == costingSlabRequest.ID).SingleOrDefaultAsync();

            if (updateCostingSlab != null)
            {
                string responseText;

                //Account Updation
                updateCostingSlab.IdentifierGUID        = costingSlabRequest.IdentifierGUID;
                updateCostingSlab.ServiceType           = costingSlabRequest.ServiceType;
                updateCostingSlab.Status                = costingSlabRequest.Status;
                updateCostingSlab.StartTime             = costingSlabRequest.StartTime;
                updateCostingSlab.EndTime               = costingSlabRequest.EndTime;
                updateCostingSlab.BaseCharge            = costingSlabRequest.BaseCharge;
                updateCostingSlab.BaseKilometersFloor   = costingSlabRequest.BaseKilometersFloor;
                updateCostingSlab.ExtraKilometersCharge = costingSlabRequest.ExtraKilometersCharge;

                await context.SaveChangesAsync();

                //Return Successful Response
                responseText = "Updated Costing Slabs [" + costingslabsID + "]";
                Services.Log.Info(responseText);
                return(this.Request.CreateResponse(HttpStatusCode.Created, responseText));
            }
            else
            {
                //Return Failed Response
                string responseText;
                responseText = "Costing Slabs not found by ID [" + costingslabsID + "]";
                Services.Log.Warn(responseText);
                return(this.Request.CreateResponse(HttpStatusCode.BadRequest, responseText));
            }
        }