public PickCreate DocumentTypeChange(ref PickCreate find) { if (find.DocumentType == "Sales Order" && find.OrderType == "Company Single Order") { find.DocumentType = "SINGLE ORDER"; find.Marketplace = 0; } else if (find.DocumentType == "Sales Order" && find.OrderType == "Company Multi Order") { find.Marketplace = 0; } else if (find.DocumentType == "Sales Order" && find.OrderType == "Marketplace Single Order") { find.DocumentType = "SINGLE ORDER"; find.Marketplace = 1; } else if (find.DocumentType == "Sales Order" && find.OrderType == "Marketplace Multi Order") { find.Marketplace = 1; } else { find.Marketplace = 0; } return(find); }
public async Task <JsonResult> PickCreation([FromBody] PickCreate find) { try { if (find.IsManual && find.Picker.Count > find.document_no.Count) { return(await _pickCreateLogic.SendRespose("False", "Can't assign more picker in less orders").ConfigureAwait(false)); } DocumentTypeChange(ref find); if (find.IsManual) { int orderPerPicker = find.document_no.Count / find.Picker.Count; int extraToPick = find.document_no.Count % find.Picker.Count; int orderListIndex = 0; foreach (string picker in find.Picker) { for (int i = 1; i <= orderPerPicker + extraToPick; i++) { find.document_no[orderListIndex].picker = picker; orderListIndex++; } extraToPick = 0; } } return(await _pickCreateLogic.PickCreation(find).ConfigureAwait(false)); } catch (Exception ee) { return(await _pickCreateLogic.SendRespose("False", ee.Message).ConfigureAwait(false)); } }
internal async Task <JsonResult> PickCreation(PickCreate pickCreate) { SqlConnection cn = null; try { cn = Connection.GetConnection(); SqlCommand smd = new SqlCommand("pick_creation", cn) { CommandType = CommandType.StoredProcedure }; smd.Parameters.AddWithValue("@document_type", pickCreate.DocumentType); smd.Parameters.AddWithValue("@marketplace", pickCreate.Marketplace); smd.Parameters.AddWithValue("@pick_type", pickCreate.PickType); smd.Parameters.AddWithValue("@email_id", pickCreate.EmailId); smd.Parameters.AddWithValue("@location_id", pickCreate.LocationId); smd.Parameters.AddWithValue("@orders", ToDataTable(pickCreate.document_no)); smd.Parameters.Add("@jsonOutput", SqlDbType.NVarChar, -1).Direction = ParameterDirection.Output; await smd.ExecuteNonQueryAsync().ConfigureAwait(false); string json = smd.Parameters["@jsonOutput"].Value.ToString(); smd.Dispose(); JArray arr = JArray.Parse(json); return(new JsonResult(arr)); } catch (Exception) { throw; } finally { Connection.CloseConnection(ref cn); } }
public async Task <JsonResult> FindOrder([FromBody] PickCreate find) { try { find.OrderNolist = find.OrderNo.Split('|').ToList(); find.Pincodelist = find.Pincode.Split('|').ToList(); find.OrderNolist.Remove(""); find.OrderNolist.Remove(""); DataTable dt = _pickCreateLogic.FindOrder(DocumentTypeChange(ref find)); if (dt.Rows.Count == 0) { return(await _pickCreateLogic.SendRespose("False", "No order for pick").ConfigureAwait(false)); } return(new JsonResult(dt)); } catch (Exception ee) { return(await _pickCreateLogic.SendRespose("False", ee.Message).ConfigureAwait(false)); } }
internal DataTable FindOrder(PickCreate find) { SqlConnection cn = null; try { DataTable dt = new DataTable(); cn = Connection.GetConnection(); SqlCommand smd = new SqlCommand("pick_find_order", cn) { CommandType = CommandType.StoredProcedure }; smd.Parameters.AddWithValue("@pick_type", find.PickType); smd.Parameters.AddWithValue("@document_type", find.DocumentType); smd.Parameters.AddWithValue("@marketplace", find.Marketplace); smd.Parameters.AddWithValue("@order_no", ConvertListToDataTable(find.OrderNolist)); smd.Parameters.AddWithValue("@state", ConvertListToDataTable(find.State)); smd.Parameters.AddWithValue("@city", ConvertListToDataTable(find.City)); smd.Parameters.AddWithValue("@pincode", ConvertListToDataTable(find.Pincodelist)); smd.Parameters.AddWithValue("@priority", ConvertListToDataTable(find.Priority)); smd.Parameters.AddWithValue("@shipping_agent", ConvertListToDataTable(find.ShippingAgent)); smd.Parameters.AddWithValue("@binzone", ConvertListToDataTable(find.BinZone)); smd.Parameters.AddWithValue("@location_id", find.LocationId); SqlDataAdapter da = new SqlDataAdapter(smd); da.Fill(dt); return(dt); } catch (Exception) { throw; } finally { Connection.CloseConnection(ref cn); } }