public ActionResult UpdateOrder(OrderFullViewModel model) { ResponseData responseData = new ResponseData(); if (model.Status == (short)OrderStatusEnum.Inactive || model.Status == (short)OrderStatusEnum.Pending) { ErrorCodes error = _orderBo.CreateOrder(model); if ((int)error == (int)ErrorCodes.Success) { responseData.Success = true; } else { responseData.Success = false; responseData.Message = GetEnumDescription(error); } } else { responseData.Success = false; responseData.Message = "Không thể update đơn hàng này!"; } return(Json(responseData)); }
public ActionResult Update(string encryptId) { OrderFullViewModel model = new OrderFullViewModel(); int id = !string.IsNullOrEmpty(encryptId) ? EncryptUtility.DecryptId(encryptId) : 0; //List<EnumInfo> listOrderType = GetEnumValuesAndDescriptions<OrderTypeEnum>(); //List<EnumInfo> listSourceType = GetEnumValuesAndDescriptions<SourceTypeEnum>(); List <OrderDetailViewModel> listOrderDetail = new List <OrderDetailViewModel>(); int totalRow = 0; List <Product> listProduct = (List <Product>)_productBo.GetList("", out totalRow); if (listProduct != null && listProduct.Count > 0) { foreach (Product product in listProduct) { OrderDetailViewModel orderDetailViewModel = new OrderDetailViewModel(product); listOrderDetail.Add(orderDetailViewModel); } } if (id > 0) { model = _orderBo.GetByFullValueById(id); model.lstOrderDetailViewModel = listOrderDetail; model.ListProductViewModel = _orderBo.GetByOrderId(id).ToList(); model.ListDistrict = (List <District>)_districtBoCached.GetAll(); model.ListWard = (List <Ward>)_wardBoCached.GetByDistrictId(model.DistrictId); if (model.DeliverDate == DateTime.MinValue) { model.DeliverDate = DateTime.Now; } else { } model.DeliverDateStr = model.DeliverDate.ToString("dd/MM/yyyy HH:mm"); ViewBag.Title = "Sửa đơn hàng"; } else { var result = new Order(); List <District> listDistrict = (List <District>)_districtBoCached.GetAll(); List <Ward> listWard = new List <Ward>(); model = new DVG.WIS.PublicModel.OrderFullViewModel(result, new District(), new Ward(), listOrderDetail); model.ListDistrict = listDistrict; //model.ListOrderType = listOrderType; model.DeliverDate = DateTime.Now; model.DeliverDateStr = DateTime.Now.ToString("dd/MM/yyyy HH:mm"); model.ListProductViewModel = new List <OrderDetailViewModel>(); model.OrderType = -1; model.SourceType = -1; ViewBag.Title = "Tạo đơn hàng"; } model.ProductViewModelItem = new OrderDetailViewModel(); model.CityCode = "SG"; return(View(model)); }
public ErrorCodes CreateOrder(OrderFullViewModel model) { ErrorCodes errorCodes = ErrorCodes.Success; try { var user = _userService.GetUserLogin().UserName; model.DeliverDate = DateTime.ParseExact(model.DeliverDateStr, "dd/MM/yyyy HH:mm", CultureInfo.InvariantCulture); if (model.Code == Guid.Empty) { model.Code = Guid.NewGuid(); } ///------- bỏ Code thay bằng OrderCode if (string.IsNullOrEmpty(model.OrderCode)) { model.OrderCode = StringUtils.GenerateUniqueId(); } model.CreatedBy = user; model.ModifiedBy = user; model.CustomerNote = string.IsNullOrEmpty(model.CustomerNote) ? string.Empty : model.CustomerNote; model.OrderPrice = int.Parse(model.OrderPriceStr.Replace(".", "")); model.OrderOriginPrice = int.Parse(model.OrderOriginPriceStr.Replace(".", "")); var result = 0; var change_log = ""; if (model.OrderId == 0) { result = _orderDal.CreateOrder(model); change_log = "Tạo đơn hàng"; } else { result = _orderDal.UpdateOrder(model); change_log = "Sửa đơn hàng"; } if (result <= 0) { errorCodes = ErrorCodes.BusinessError; } else { _orderHistoryBo.Insert(new OrderHistory { change_log = change_log, created_by = user, order_id = result, status = model.Status }); } } catch (Exception ex) { Logger.Error(ex); errorCodes = ErrorCodes.Exception; } return(errorCodes); }
public ActionResult UpdateOrder(OrderFullViewModel model) { if (model.Status == (short)OrderStatusEnum.Inactive || model.Status == (short)OrderStatusEnum.Pending) { ErrorCodes error = _orderBo.CreateOrder(model); if ((int)error == (int)ErrorCodes.Success) { Msg.Error = false; } else { Msg.Error = true; Msg.Title = GetEnumDescription(error); } } else { Msg.Error = true; Msg.Title = "Không thể update đơn hàng này!"; } return(AuthorizeJson(Msg)); }
public OrderFullViewModel GetByFullValueById(int id) { OrderFullViewModel orderModel = new OrderFullViewModel(); try { var order = _orderDal.GetById(id); if (order != null && order.order_id > 0) { var lstDistrict = _districtBoCached.GetAll().ToList(); var lstWard = _wardBoCached.GetAll().ToList(); var district = lstDistrict.Find(x => x.district_id == order.district_id); var ward = lstWard.Find(x => x.ward_id == order.ward_id); var listOrderDetail = _orderDetailDal.GetByOrderId(id).Select(x => new OrderDetailViewModel()).ToList(); orderModel = new OrderFullViewModel(order, district, ward, listOrderDetail); } } catch (Exception ex) { Logger.Error(ex); } return(orderModel); }
public int CreateOrder(OrderFullViewModel order) { string storeName = "admin_order_insert_v1"; string storeNameOrderDetail = "admin_orderdetail_insert"; int order_id = 0; try { using (var db = new PostgresSQL(ConnectionEntity.DBPosition.Master)) { db.BeginTransaction(); try { using (var command = db.CreateCommand(storeName, true)) { command.Parameters.Add(NpgsqlParameter("@_code", order.Code)); command.Parameters.Add(NpgsqlParameter("@_order_code", order.OrderCode)); command.Parameters.Add(NpgsqlParameter("@_customer_name", order.CustomerName)); command.Parameters.Add(NpgsqlParameter("@_city_code", order.CityCode)); command.Parameters.Add(NpgsqlParameter("@_district_id", order.DistrictId)); command.Parameters.Add(NpgsqlParameter("@_ward_id", order.WardId)); command.Parameters.Add(NpgsqlParameter("@_delivery_address", order.DeliveryAddress)); command.Parameters.Add(NpgsqlParameter("@_customer_phone", order.CustomerPhone)); command.Parameters.Add(NpgsqlParameter("@_customer_note", order.CustomerNote)); command.Parameters.Add(NpgsqlParameter("@_created_date", DateTime.Now)); command.Parameters.Add(NpgsqlParameter("@_modified_date", DateTime.Now)); command.Parameters.Add(NpgsqlParameter("@_created_by", order.CreatedBy)); command.Parameters.Add(NpgsqlParameter("@_modified_by", order.ModifiedBy)); command.Parameters.Add(NpgsqlParameter("@_reason_note", string.Empty)); command.Parameters.Add(NpgsqlParameter("@_origin_price", order.OrderOriginPrice)); command.Parameters.Add(NpgsqlParameter("@_price", order.OrderPrice)); command.Parameters.Add(NpgsqlParameter("@_status", order.Status)); command.Parameters.Add(NpgsqlParameter("@_ship_fee", order.ShipFee)); command.Parameters.Add(NpgsqlParameter("@_request_type", order.RequestType)); command.Parameters.Add(NpgsqlParameter("@_order_type", order.OrderType)); if (order.DeliverDate <= DateTime.Now) { command.Parameters.Add(NpgsqlParameter("@_delivery_date", DBNull.Value)); } else { command.Parameters.Add(NpgsqlParameter("@_delivery_date", order.DeliverDate)); } command.Parameters.Add(NpgsqlParameter("@_source_type", order.SourceType)); order_id = (int)command.ExecuteScalar(); } if (order_id > 0) { foreach (OrderDetailViewModel item in order.ListProductViewModel) { using (var command = db.CreateCommand(storeNameOrderDetail, true)) { command.Parameters.Add(NpgsqlParameter("@_order_id", order_id)); command.Parameters.Add(NpgsqlParameter("@_product_id", item.ProductId)); command.Parameters.Add(NpgsqlParameter("@_quantity", item.Quantity)); command.Parameters.Add(NpgsqlParameter("@_origin_price", item.OriginPrice)); command.Parameters.Add(NpgsqlParameter("@_price", item.Price)); command.Parameters.Add(NpgsqlParameter("@_created_date", DateTime.Now)); command.Parameters.Add(NpgsqlParameter("@_created_by", order.CreatedBy)); command.Parameters.Add(NpgsqlParameter("@_note", item.Note)); command.ExecuteScalar(); } } } } catch (Exception ex) { db.RollbackTransaction(); throw ex; } if (order_id > 0) { db.CommitTransaction(); } else { db.RollbackTransaction(); } return(order_id); } } catch (Exception ex) { throw new Exception(string.Format("{0} => {1}", storeName, ex.ToString())); } }