public static string Save(OrderRequestDataModel data, string action, RequestProfile requestProfile) { var sql = "EXEC "; switch (action) { case "Create": sql += "dbo.OrderRequestInsert " + " " + ToSQLParameter(BaseDataModel.BaseDataColumns.AuditId, requestProfile.AuditId) + ", " + ToSQLParameter(BaseDataModel.BaseDataColumns.ApplicationId, requestProfile.ApplicationId); break; case "Update": sql += "dbo.OrderRequestUpdate " + " " + ToSQLParameter(BaseDataModel.BaseDataColumns.AuditId, requestProfile.AuditId); break; default: break; } sql = sql + ", " + ToSQLParameter(data, OrderRequestDataModel.DataColumns.OrderRequestId); sql = sql + ", " + ToSQLParameter(data, OrderRequestDataModel.DataColumns.EventDate); sql = sql + ", " + ToSQLParameter(data, OrderRequestDataModel.DataColumns.Notes); sql = sql + ", " + ToSQLParameter(data, OrderRequestDataModel.DataColumns.LastModifiedBy); sql = sql + ", " + ToSQLParameter(data, OrderRequestDataModel.DataColumns.LastModifiedOn); sql = sql + ", " + ToSQLParameter(data, OrderRequestDataModel.DataColumns.ParentOrderRequestId); sql = sql + ", " + ToSQLParameter(data, OrderRequestDataModel.DataColumns.PortfolioId); return(sql); }
public static int Create(OrderRequestDataModel data, RequestProfile requestProfile) { var sql = Save(data, "Create", requestProfile); var newId = DBDML.RunScalarSQL("OrderRequest.Insert", sql, DataStoreKey); return(Convert.ToInt32(newId)); }
public static bool DoesExist(OrderRequestDataModel data, RequestProfile requestProfile) { var doesExistRequest = new OrderRequestDataModel(); doesExistRequest.ApplicationId = data.ApplicationId; doesExistRequest.PortfolioId = data.PortfolioId; var list = GetEntityDetails(doesExistRequest, requestProfile, 0); return(list.Count > 0); }
public async Task <OrderResponseDataModel> FilterAsync(OrderRequestDataModel orderRequestDataModel) { var query = $@"SELECT * FROM ( SELECT * FROM {tableName} WHERE {tableName}.IsRemoved != 1 ORDER BY {tableName}.CreationDate OFFSET {orderRequestDataModel.Paging.ItemsCount * orderRequestDataModel.Paging.CurrentPage} ROWS FETCH NEXT {orderRequestDataModel.Paging.ItemsCount} ROWS ONLY ) AS {tableName} LEFT JOIN {Constants.USERS_TABLE_NAME} ON {tableName}.UserId = {Constants.USERS_TABLE_NAME}.Id LEFT JOIN {Constants.ORDER_ITEMS_TABLE_NAME} ON {Constants.ORDER_ITEMS_TABLE_NAME}.OrderId = {tableName}.Id LEFT JOIN {Constants.PRINTING_EDITIONS_TABLE_NAME} ON {Constants.ORDER_ITEMS_TABLE_NAME}.PrintingEditionId = {Constants.PRINTING_EDITIONS_TABLE_NAME}.Id"; using (var dbContext = new SqlConnection(connectionString)) { await dbContext.OpenAsync(); var orders = await dbContext.QueryAsync <Order, User, OrderItem, PrintingEdition, Order>( query, (order, user, orderItem, printingEdition) => { order.User = user; if (orderItem != null) { orderItem.PrintingEdition = printingEdition; } order.OrderItems.Add(orderItem); return(order); }); var querybaleOrders = orders .GroupBy(order => order.Id) .Select(group => { var result = group.FirstOrDefault(); result.OrderItems = group.Select(order => order.OrderItems.SingleOrDefault()).ToList(); return(result); }); var subquery = new List <Order>().AsQueryable(); foreach (var status in orderRequestDataModel.OrderStatuses) { subquery = subquery.Concat(querybaleOrders.Where(o => o.Status == status)); } querybaleOrders = subquery; orders = querybaleOrders.ToList(); var totalCount = orders.Count(); var result = new OrderResponseDataModel { Orders = orders, TotalCount = totalCount }; return(result); } }
public static void Delete(OrderRequestDataModel data, RequestProfile requestProfile) { const string sql = @"dbo.OrderRequestDelete "; var parameters = new { AuditId = requestProfile.AuditId , OrderRequestId = data.OrderRequestId }; using (var dataAccess = new DataAccessBase(DataStoreKey)) { dataAccess.Connection.Execute(sql, parameters, commandType: CommandType.StoredProcedure); } }
public IHttpActionResult Post(OrderRequestDataModel model) { //var obj = await Request.Content.ReadAsAsync<JObject>(); //var modelCaptcha = obj.ToObject<CaptchaResponse>(); //var encodedResponse = modelCaptcha.GRecaptchaResponse; var encodedResponse = model.GRecaptchaResponse; var isCaptchaValid = ReCaptcha.Validate(encodedResponse); if (!isCaptchaValid) { return(this.BadRequest("Sorry mate, wrong captcha response. Are you a bot?")); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var userId = this.User.Identity.GetUserId(); var isExistUserWithOrder = this.customerCards.All().Any(p => p.Id == model.Id && p.UserId == userId); if (isExistUserWithOrder) { return(this.Get(model.Id)); } var order = this.customerCards.All().FirstOrDefault(p => p.Id == model.Id); if (order == null) { throw new HttpException((int)HttpStatusCode.NotFound, "Order number not exist!"); } order.UserId = userId; this.customerCards.Update(order); this.customerCards.SaveChanges(); return(this.Get(model.Id)); }
public static OrderRequestDataModel Map(OrderRequestModel filterModel) { if (filterModel is null) { return(new OrderRequestDataModel()); } var filter = new OrderRequestDataModel { SortPropertyName = filterModel.SortPropertyName, SortType = filterModel.SortType, Paging = _pagingMapper.Map(filterModel.Paging) }; foreach (var status in filterModel.OrderStatuses) { filter.OrderStatuses.Add(status); } return(filter); }
public async Task <OrderResponseDataModel> FilterAsync(OrderRequestDataModel orderRequestDataModel) { var query = DbSet.Include(order => order.User) .Include(order => order.OrderItems) .ThenInclude(orderItem => orderItem.PrintingEdition) .Where(o => !o.IsRemoved && orderRequestDataModel.OrderStatuses.Contains(o.Status)); var totalCount = await query.CountAsync(); query = query .OrderBy(orderRequestDataModel.SortPropertyName, $"{orderRequestDataModel.SortType}") .Skip(orderRequestDataModel.Paging.CurrentPage * orderRequestDataModel.Paging.ItemsCount) .Take(orderRequestDataModel.Paging.ItemsCount); var orders = query.ToList(); var result = new OrderResponseDataModel { Orders = orders, TotalCount = totalCount }; return(result); }
public static List <OrderRequestDataModel> GetEntityDetails(OrderRequestDataModel dataQuery, RequestProfile requestProfile, int returnAuditInfo = BaseDataManager.ReturnAuditInfoOnDetails) { const string sql = @"dbo.OrderRequestSearch "; var parameters = new { AuditId = requestProfile.AuditId , ApplicationId = requestProfile.ApplicationId , ReturnAuditInfo = returnAuditInfo , OrderRequestId = dataQuery.OrderRequestId , Notes = dataQuery.Notes , PortfolioId = dataQuery.PortfolioId }; List <OrderRequestDataModel> result; using (var dataAccess = new DataAccessBase(DataStoreKey)) { result = dataAccess.Connection.Query <OrderRequestDataModel>(sql, parameters, commandType: CommandType.StoredProcedure).ToList(); } return(result); }
public static string ToSQLParameter(OrderRequestDataModel data, string dataColumnName) { var returnValue = "NULL"; switch (dataColumnName) { case OrderRequestDataModel.DataColumns.OrderRequestId: if (data.OrderRequestId != null) { returnValue = string.Format(SQL_TEMPLATE_PARAMETER_NUMBER, OrderRequestDataModel.DataColumns.OrderRequestId, data.OrderRequestId); } else { returnValue = string.Format(SQL_TEMPLATE_PARAMETER_NULL, OrderRequestDataModel.DataColumns.OrderRequestId); } break; case OrderRequestDataModel.DataColumns.EventDate: if (data.EventDate != null) { returnValue = string.Format(SQL_TEMPLATE_PARAMETER_STRING_OR_DATE, OrderRequestDataModel.DataColumns.EventDate, data.EventDate); } else { returnValue = string.Format(SQL_TEMPLATE_PARAMETER_NULL, OrderRequestDataModel.DataColumns.EventDate); } break; case OrderRequestDataModel.DataColumns.Notes: if (!string.IsNullOrEmpty(data.Notes)) { returnValue = string.Format(SQL_TEMPLATE_PARAMETER_STRING_OR_DATE, OrderRequestDataModel.DataColumns.Notes, data.Notes); } else { returnValue = string.Format(SQL_TEMPLATE_PARAMETER_NULL, OrderRequestDataModel.DataColumns.Notes); } break; case OrderRequestDataModel.DataColumns.LastModifiedBy: if (!string.IsNullOrEmpty(data.LastModifiedBy)) { returnValue = string.Format(SQL_TEMPLATE_PARAMETER_STRING_OR_DATE, OrderRequestDataModel.DataColumns.LastModifiedBy, data.LastModifiedBy); } else { returnValue = string.Format(SQL_TEMPLATE_PARAMETER_NULL, OrderRequestDataModel.DataColumns.LastModifiedBy); } break; case OrderRequestDataModel.DataColumns.LastModifiedOn: if (data.LastModifiedOn != null) { returnValue = string.Format(SQL_TEMPLATE_PARAMETER_STRING_OR_DATE, OrderRequestDataModel.DataColumns.LastModifiedOn, data.LastModifiedOn); } else { returnValue = string.Format(SQL_TEMPLATE_PARAMETER_NULL, OrderRequestDataModel.DataColumns.LastModifiedOn); } break; case OrderRequestDataModel.DataColumns.ParentOrderRequestId: returnValue = string.Format(SQL_TEMPLATE_PARAMETER_NUMBER, OrderRequestDataModel.DataColumns.ParentOrderRequestId, data.ParentOrderRequestId); break; case OrderRequestDataModel.DataColumns.PortfolioId: if (data.PortfolioId != null) { returnValue = string.Format(SQL_TEMPLATE_PARAMETER_NUMBER, OrderRequestDataModel.DataColumns.PortfolioId, data.PortfolioId); } else { returnValue = string.Format(SQL_TEMPLATE_PARAMETER_NULL, OrderRequestDataModel.DataColumns.PortfolioId); } break; case OrderRequestDataModel.DataColumns.Portfolio: if (!string.IsNullOrEmpty(data.Portfolio)) { returnValue = string.Format(SQL_TEMPLATE_PARAMETER_STRING_OR_DATE, OrderRequestDataModel.DataColumns.Portfolio, data.Portfolio); } else { returnValue = string.Format(SQL_TEMPLATE_PARAMETER_NULL, OrderRequestDataModel.DataColumns.Portfolio); } break; default: returnValue = BaseDataManager.ToSQLParameter(data, dataColumnName); break; } return(returnValue); }
public static void Update(OrderRequestDataModel data, RequestProfile requestProfile) { var sql = Save(data, "Update", requestProfile); DBDML.RunSQL("OrderRequest.Update", sql, DataStoreKey); }
public static DataTable Search(OrderRequestDataModel data, RequestProfile requestProfile) { var list = GetEntityDetails(data, requestProfile, 0); return(list.ToDataTable()); }