Esempio n. 1
0
        private void updateInvoice()
        {
            int k = dtDetail.Rows.Count;

            Hashtable oldDelWhs = new Hashtable(), oldTypeCode = new Hashtable(), oldPickWhs = new Hashtable();

            for (int i = 0; i < k; i++)
            {
                oldDelWhs.Add(i, Convert.ToString(dtDetail.GetValue("DelWhs", i)));
                oldTypeCode.Add(i, Convert.ToString(dtDetail.GetValue("TypeCode", i)));
                oldPickWhs.Add(i, Convert.ToString(dtDetail.GetValue("PickWhs", i)));
            }
            mtDet.FlushToDataSource();

            //if (!validateinput())
            //{
            //    return;
            //}


            string DIERror = "";


            string updatShipDate = "";

            for (int i = 0; i < k; i++)
            {
                DateTime ndelDate = Convert.ToDateTime(dtDetail.GetValue("nDelDate", i));
                DateTime deldate  = Convert.ToDateTime(dtDetail.GetValue("DelDate", i));
                if (ndelDate != deldate)
                {
                    if (ndelDate < DateTime.Now.Date)
                    {
                        oApplication.SetStatusBarMessage("Old Delivery Date for Line : " + (i + 1).ToString());
                        return;
                    }
                }
            }


            updatShipDate = "";
            for (int i = 0; i < k; i++)
            {
                // updatShipDate += "Update inv1  set shipdate='" + Convert.ToString(dtDetail.GetValue("nDelDate", i)) + "', FreeTxt = 'what reading'   where DocEntry = '" + Convert.ToString(dtDetail.GetValue("DocEntry", i)) + "' and linenum='" + Convert.ToString(dtDetail.GetValue("LineNum", i)) + "' ;";

                string PickDate  = Convert.ToString(dtDetail.GetValue("nPickDate", i));
                string PickShift = dtDetail.GetValue("nPickShift", i);
                if (PickDate != "" && PickShift != "")
                {
                    updatShipDate += "Update inv1 set U_DelTypCd = '" + Convert.ToString(dtDetail.GetValue("TypeCode", i)) + "' ,  shipdate='" + Convert.ToString(dtDetail.GetValue("nDelDate", i)) + "' , U_DelShift='" + Convert.ToString(dtDetail.GetValue("nDelShift", i)) + "',";
                    updatShipDate += "  U_DeliveryWH ='" + Convert.ToString(dtDetail.GetValue("DelWhs", i)) + "',U_PickingWh='" + Convert.ToString(dtDetail.GetValue("PickWhs", i)) + "' , U_PickShift ='" + Convert.ToString(dtDetail.GetValue("nPickShift", i)) + "' , u_PickDate = '" + Convert.ToString(dtDetail.GetValue("nPickDate", i)) + "'  where DocEntry = '" + Convert.ToString(dtDetail.GetValue("DocEntry", i)) + "' and linenum='" + Convert.ToString(dtDetail.GetValue("LineNum", i)) + "' ;";
                }
                else
                {
                    updatShipDate += "Update inv1 set  U_DelTypCd = '" + Convert.ToString(dtDetail.GetValue("TypeCode", i)) + "' , shipdate='" + Convert.ToString(dtDetail.GetValue("nDelDate", i)) + "' , U_DeliveryWH ='" + Convert.ToString(dtDetail.GetValue("DelWhs", i)) + "',U_PickingWh='" + Convert.ToString(dtDetail.GetValue("PickWhs", i)) + "' ,  U_DelShift='" + Convert.ToString(dtDetail.GetValue("nDelShift", i)) + "' where DocEntry = '" + Convert.ToString(dtDetail.GetValue("DocEntry", i)) + "' and linenum='" + Convert.ToString(dtDetail.GetValue("LineNum", i)) + "' ;";
                }
            }


            Program.objHrmsUI.ExecQuery(updatShipDate, "Temp Update Ship Date");


            try
            {
                SAPbobsCOM.Documents ARInv = (SAPbobsCOM.Documents)oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oInvoices);
                ARInv.GetByKey(Convert.ToInt32(Convert.ToString(dtDetail.GetValue("DocEntry", 0))));

                for (int i = 0; i < k; i++)
                {
                    int lineNum = Convert.ToInt32(Convert.ToString(dtDetail.GetValue("LineNum", i)));
                    ARInv.Lines.SetCurrentLine(i);
                    try
                    {
                        // ARInv.Lines.ShipDate = Convert.ToDateTime(dtDetail.GetValue("nDelDate", i));
                        ARInv.Lines.UserFields.Fields.Item("U_DelTypCd").Value   = Convert.ToString(dtDetail.GetValue("TypeCode", i));
                        ARInv.Lines.UserFields.Fields.Item("U_DelShift").Value   = Convert.ToString(dtDetail.GetValue("nDelShift", i));
                        ARInv.Lines.UserFields.Fields.Item("U_DeliveryWH").Value = Convert.ToString(dtDetail.GetValue("DelWhs", i));
                        ARInv.Lines.UserFields.Fields.Item("U_PickingWh").Value  = Convert.ToString(dtDetail.GetValue("PickWhs", i));
                        ARInv.Lines.UserFields.Fields.Item("U_PickShift").Value  = Convert.ToString(dtDetail.GetValue("nPickShift", i));
                        if (Convert.ToString(dtDetail.GetValue("nPickDate", i)) != "")
                        {
                            ARInv.Lines.UserFields.Fields.Item("U_PickDate").Value = Convert.ToDateTime(dtDetail.GetValue("nPickDate", i));
                        }
                        else
                        {
                            ARInv.Lines.UserFields.Fields.Item("U_PickDate").Value = "";
                        }
                        //   ARInv.Lines.FreeText = "What Reaching";
                        //     ARInv.Lines.SetCurrentLine(lineNum);
                    }
                    catch (Exception ex)
                    {
                        oApplication.SetStatusBarMessage("Assigning Values : " + ex.Message);
                        DIERror += "Assignment Error : " + ex.Message;
                    }
                }
                int result = 0;
                result = ARInv.Update();
                if (result != 0)
                {
                    int    errorCode = 0;
                    string errmsg    = "";
                    oCompany.GetLastError(out errorCode, out errmsg);
                    oApplication.SetStatusBarMessage(errmsg);
                    DIERror      += errmsg;
                    updatShipDate = "";
                    for (int i = 0; i < k; i++)
                    {
                        // updatShipDate += "Update inv1  set shipdate='" + Convert.ToString(dtDetail.GetValue("DelDate", i)) + "'  where DocEntry = '" + Convert.ToString(dtDetail.GetValue("DocEntry", i)) + "' and linenum='" + Convert.ToString(dtDetail.GetValue("LineNum", i)) + "' ;";


                        string PickDate  = Convert.ToString(dtDetail.GetValue("nPickDate", i));
                        string PickShift = dtDetail.GetValue("nPickShift", i);
                        if (PickDate != "" && PickShift != "")
                        {
                            updatShipDate += "Update inv1 set U_DelTypCd = '" + oldTypeCode[i].ToString() + "' ,  shipdate='" + Convert.ToString(dtDetail.GetValue("DelDate", i)) + "' , U_DelShift='" + Convert.ToString(dtDetail.GetValue("DelShift", i)) + "',";
                            updatShipDate += "  U_DeliveryWH ='" + oldDelWhs[i].ToString() + "',U_PickingWh='" + oldPickWhs[i].ToString() + "' , U_PickShift ='" + Convert.ToString(dtDetail.GetValue("PickShift", i)) + "' , u_PickDate = '" + Convert.ToString(dtDetail.GetValue("PickDate", i)) + "'  where DocEntry = '" + Convert.ToString(dtDetail.GetValue("DocEntry", i)) + "' and linenum='" + Convert.ToString(dtDetail.GetValue("LineNum", i)) + "' ;";
                        }
                        else
                        {
                            updatShipDate += "Update inv1 set  U_DelTypCd = '" + oldTypeCode[i].ToString() + "' , shipdate='" + Convert.ToString(dtDetail.GetValue("DelDate", i)) + "' , U_DeliveryWH ='" + oldDelWhs[i].ToString() + "',U_PickingWh='" + oldPickWhs[i].ToString() + "' ,  U_DelShift='" + Convert.ToString(dtDetail.GetValue("DelShift", i)) + "' where DocEntry = '" + Convert.ToString(dtDetail.GetValue("DocEntry", i)) + "' and linenum='" + Convert.ToString(dtDetail.GetValue("LineNum", i)) + "' ;";
                        }
                    }
                    Program.objHrmsUI.ExecQuery(updatShipDate, "Temp Update Ship Date");
                }
                else
                {
                    for (int i = 0; i < k; i++)
                    {
                        string oinvHeader = "";

                        oinvHeader += " update oinv set header = isnull( convert(varchar,header),'')  + ' Schedule Updated for  " + Convert.ToString(dtDetail.GetValue("LineNum", i)) + " -" + Convert.ToString(dtDetail.GetValue("ItemCode", i)) + ". Old Values (" + Convert.ToString(dtDetail.GetValue("DelDate", i)) + "," + Convert.ToString(dtDetail.GetValue("DelShift", i)) + "," + Convert.ToString(dtDetail.GetValue("PickDate", i)) + "," + Convert.ToString(dtDetail.GetValue("PickShift", i)) + ") ";
                        oinvHeader += "  New Values (" + Convert.ToString(dtDetail.GetValue("nDelDate", i)) + "," + Convert.ToString(dtDetail.GetValue("nDelShift", i)) + "," + Convert.ToString(dtDetail.GetValue("nPickDate", i)) + "," + Convert.ToString(dtDetail.GetValue("nPickShift", i)) + ") ' where docentry = '" + Convert.ToString(dtDetail.GetValue("DocEntry", i)) + "' ";

                        Program.objHrmsUI.ExecQuery(oinvHeader, "Updating Remarks");
                    }
                }
            }
            catch (Exception ex)
            {
                DIERror = ex.Message;

                oApplication.SetStatusBarMessage("General Error !" + ex.Message + " Known Error " + DIERror, BoMessageTime.bmt_Short, false);
                updatShipDate = "";
                for (int i = 0; i < k; i++)
                {
                    // updatShipDate += "Update inv1  set shipdate='" + Convert.ToString(dtDetail.GetValue("DelDate", i)) + "'  where DocEntry = '" + Convert.ToString(dtDetail.GetValue("DocEntry", i)) + "' and linenum='" + Convert.ToString(dtDetail.GetValue("LineNum", i)) + "' ; ";
                    string PickDate  = Convert.ToString(dtDetail.GetValue("nPickDate", i));
                    string PickShift = dtDetail.GetValue("nPickShift", i);
                    if (PickDate != "" && PickShift != "")
                    {
                        updatShipDate += "Update inv1 set U_DelTypCd = '" + oldTypeCode[i].ToString() + "' ,  shipdate='" + Convert.ToString(dtDetail.GetValue("DelDate", i)) + "' , U_DelShift='" + Convert.ToString(dtDetail.GetValue("DelShift", i)) + "',";
                        updatShipDate += "  U_DeliveryWH ='" + oldDelWhs[i].ToString() + "',U_PickingWh='" + oldPickWhs[i].ToString() + "' , U_PickShift ='" + Convert.ToString(dtDetail.GetValue("PickShift", i)) + "' , u_PickDate = '" + Convert.ToString(dtDetail.GetValue("PickDate", i)) + "'  where DocEntry = '" + Convert.ToString(dtDetail.GetValue("DocEntry", i)) + "' and linenum='" + Convert.ToString(dtDetail.GetValue("LineNum", i)) + "' ;";
                    }
                    else
                    {
                        updatShipDate += "Update inv1 set  U_DelTypCd = '" + oldTypeCode[i].ToString() + "' , shipdate='" + Convert.ToString(dtDetail.GetValue("DelDate", i)) + "' , U_DeliveryWH ='" + oldDelWhs[i].ToString() + "',U_PickingWh='" + oldPickWhs[i].ToString() + "' ,  U_DelShift='" + Convert.ToString(dtDetail.GetValue("DelShift", i)) + "' where DocEntry = '" + Convert.ToString(dtDetail.GetValue("DocEntry", i)) + "' and linenum='" + Convert.ToString(dtDetail.GetValue("LineNum", i)) + "' ;";
                    }
                }
                Program.objHrmsUI.ExecQuery(updatShipDate, "Temp Update Ship Date");
            }



            //// Old Code ///

            /*
             * if (!validateinput())
             * {
             *  return;
             * }
             * int k = dtDetail.Rows.Count;
             * for (int i = 0; i < k; i++)
             * {
             *  string updateLine="";
             *  string oinvHeader = "";
             *  string PickDate = Convert.ToString( dtDetail.GetValue("nPickShift",i));
             *  string PickShift = dtDetail.GetValue("nPickShift",i);
             *  if(PickDate !="" && PickShift!="")
             *  {
             *      updateLine = "Update inv1 set U_DelTypCd = '" + Convert.ToString(dtDetail.GetValue("TypeCode", i)) + "' ,  shipdate='" + Convert.ToString(dtDetail.GetValue("nDelDate", i)) + "' , U_DelShift='" + Convert.ToString(dtDetail.GetValue("nDelShift", i)) + "',";
             *      updateLine += "  U_DeliveryWH ='" + Convert.ToString(dtDetail.GetValue("DelWhs", i)) + "',U_PickingWh='" + Convert.ToString(dtDetail.GetValue("PickWhs", i)) + "' , U_PickShift ='" + Convert.ToString(dtDetail.GetValue("nPickShift", i)) + "' , u_PickDate = '" + Convert.ToString(dtDetail.GetValue("nPickDate", i)) + "'  where DocEntry = '" + Convert.ToString(dtDetail.GetValue("DocEntry", i)) + "' and linenum='" + Convert.ToString(dtDetail.GetValue("LineNum", i)) + "' ";
             *
             *  }
             *  else
             *  {
             *      updateLine = "Update inv1 set  U_DelTypCd = '" + Convert.ToString(dtDetail.GetValue("TypeCode", i)) + "' , shipdate='" + Convert.ToString(dtDetail.GetValue("nDelDate", i)) + "' , U_DeliveryWH ='" + Convert.ToString(dtDetail.GetValue("DelWhs", i)) + "',U_PickingWh='" + Convert.ToString(dtDetail.GetValue("PickWhs", i)) + "' ,  U_DelShift='" + Convert.ToString(dtDetail.GetValue("nDelShift", i)) + "' where DocEntry = '" + Convert.ToString(dtDetail.GetValue("DocEntry", i)) + "' and linenum='" + Convert.ToString(dtDetail.GetValue("LineNum", i)) + "' ";
             *  }
             *  oinvHeader += " update oinv set header = isnull( convert(varchar,header),'')  + ' Schedule Updated for  " + Convert.ToString(dtDetail.GetValue("LineNum", i)) + " -" + Convert.ToString(dtDetail.GetValue("ItemCode", i)) + ". Old Values (" + Convert.ToString(dtDetail.GetValue("DelDate", i)) + "," + Convert.ToString(dtDetail.GetValue("DelShift", i)) + "," + Convert.ToString(dtDetail.GetValue("PickDate", i)) + "," + Convert.ToString(dtDetail.GetValue("PickShift", i)) + ") ";
             *  oinvHeader += "  New Values (" + Convert.ToString(dtDetail.GetValue("nDelDate", i)) + "," + Convert.ToString(dtDetail.GetValue("nDelShift", i)) + "," + Convert.ToString(dtDetail.GetValue("nPickDate", i)) + "," + Convert.ToString(dtDetail.GetValue("nPickShift", i)) + ") ' where docentry = '" + Convert.ToString(dtDetail.GetValue("DocEntry", i)) + "' ";
             *
             *  Program.objHrmsUI.ExecQuery(updateLine, "Updating Schedule");
             *  Program.objHrmsUI.ExecQuery(oinvHeader, "Updating Remarks");
             *
             *
             *
             * }
             *
             *
             *
             *//// old Code Ended


            //    oApplication.SetStatusBarMessage("Schedule Updated Successfully!", BoMessageTime.bmt_Short, false);
            if (DIERror == "")
            {
                oApplication.SetStatusBarMessage("Schedule Updated Successfully!", BoMessageTime.bmt_Short, false);
                loadInvoice();
            }
        }