コード例 #1
0
        public static JobTask MapFromModel(tbl_Job_Tasks task)
        {
            var t = new JobTask();

            t.CopyFrom(task);
            return(t);
        }
コード例 #2
0
        public ActionResult UpdateJobTask(int jobid, tbl_Job_Tasks taskdata, tbl_Job_Task_Parts partdata)
        {
            using (var ctx = new AuditedJobContext(UserInfo.UserKey, UserInfo.User.UserName, false))
            {
                try
                {
                    var task = ctx.tbl_Job_Tasks.FirstOrDefault(t => t.JobID == jobid && t.JobTaskID == taskdata.JobTaskID);

                    if (task != null)
                    {
                        task.MemberYN           = taskdata.MemberYN;
                        task.AddOnYN            = taskdata.AddOnYN;
                        task.Quantity           = taskdata.Quantity;
                        task.Price              = taskdata.Price;
                        task.JobCodeDescription = taskdata.JobCodeDescription;
                        task.JobCode            = taskdata.JobCode;
                        task.JobCodeID          = taskdata.JobCodeID;
                    }

                    var part = ctx.tbl_Job_Task_Parts.FirstOrDefault(q => q.JobTaskPartsID == partdata.JobTaskPartsID && q.JobTaskID == taskdata.JobTaskID);

                    if (part != null)
                    {
                        part.PartsID  = partdata.PartsID;
                        part.Quantity = partdata.Quantity;
                        part.Price    = partdata.Price;
                        part.PartCode = partdata.PartCode;
                        part.PartName = partdata.PartName;
                    }

                    ctx.SaveChanges();

                    var customerid = ctx.tbl_Job.FirstOrDefault(q => q.JobID == jobid).CustomerID;
                    InvoiceFinancialDetail finance = RecalcJobData(jobid, customerid);

                    return(Json(finance));
                }
                catch (DbEntityValidationException dbEx)
                {
                    foreach (var validationErrors in dbEx.EntityValidationErrors)
                    {
                        foreach (var validationError in validationErrors.ValidationErrors)
                        {
                            Trace.TraceInformation("Property: {0} Error: {1}", validationError.PropertyName,
                                                   validationError.ErrorMessage);
                        }
                    }
                }

                return(Json("fail"));
            }
        }
コード例 #3
0
        protected void CopyFrom(tbl_Job_Tasks task)
        {
            if (task == null)
            {
                return;
            }

            Description = task.JobCodeDescription;
            JobCode     = task.JobCode;
            Rate        = task.UnitPrice;
            Quantity    = task.Quantity;
            Amount      = task.Price;
            JobId       = task.JobID;
            IsAddOn     = task.AddOnYN;
        }
コード例 #4
0
        private void SetJobTasks(EightHundredEntities context, IEnumerable <SystemInfoModelWithParts> prMainJobs, IEnumerable <AccessoryModel> prAccessories)
        {
            var frId        = GetFranchiseID();
            var priceBookId = GetPriceBookId(context, frId);
            var jobId       = GetJobCode();

            foreach (var jobtask in prMainJobs)
            {
                var qty = 1;
                //var jobDesription = context.View_HVAC_APP.First(i => i.JobCode == jobtask.JobCode).JobCodeDescription;
                var jobTask = new tbl_Job_Tasks
                {
                    JobID = jobId,
                    JobCodeDescription = jobtask.Description,
                    JobCode            = jobtask.JobCode,
                    AccountCode        = jobtask.ResAccountCode,
                    AddOnYN            = false,
                    AuthorizedYN       = true,
                    MemberYN           = false,
                    Cost      = jobtask.Parts.Sum(item => item.PartStdPrice * item.Qty),
                    Quantity  = qty,
                    JobCodeID = jobtask.JobCodeId,
                    Price     = jobtask.Parts.Sum(item => item.PartStdPrice * item.Qty), AdjustedPrice = 0, ErrorFlag = false, HomeGuardLink = 0, HomeGuardPrice = 0, LinePrice = 0, TabletTaskID = 0, UnitPrice = 0
                };
                context.tbl_Job_Tasks.AddObject(jobTask);
                context.SaveChanges();
                foreach (var listpart in jobtask.Parts.Where(listpart => listpart.Qty != 0))
                {
                    context.tbl_Job_Task_Parts.AddObject(new tbl_Job_Task_Parts
                    {
                        Cost     = listpart.PartCost,
                        PartCode = listpart.PartCode,
                        PartName = listpart.PartName,
                        Price    = listpart.PartStdPrice,
                        PartsID  = listpart.PartID,
                        Quantity = listpart.Qty,
                    });
                }
                context.SaveChanges();
            }

            var codes = prAccessories.Select(i => new KeyValuePair <string, AccessoryModel>(i.JobCode, i));

            var jobcodes = codes.Select(item => item.Key);
            //var list = context.View_HVAC_APP.Where(item => item.PriceBookID == priceBookId).Where(
            //    i => jobcodes.Contains(i.JobCode)).ToList();
            var listparts =
                context.View_HVAC_APP_Parts.Where(item => item.PriceBookID == priceBookId).Where(
                    i => jobcodes.Contains(i.JobCode)).ToList();

            foreach (var jobtask in codes.Select(i => i.Value))
            {
                var job_task = new tbl_Job_Tasks
                {
                    JobID = jobId,
                    JobCodeDescription = jobtask.Description,
                    JobCode            = jobtask.JobCode,
                    AccountCode        = jobtask.ResAccountCode,
                    AddOnYN            = false,
                    AuthorizedYN       = true,
                    MemberYN           = false,
                    Cost      = jobtask.Price,
                    Quantity  = jobtask.Count,
                    JobCodeID = jobtask.JobCodeId,
                    Price     = jobtask.Price, AdjustedPrice = 0, ErrorFlag = false, HomeGuardLink = 0, HomeGuardPrice = 0, LinePrice = 0, TabletTaskID = 0, UnitPrice = 0
                };
                context.tbl_Job_Tasks.AddObject(job_task);
                context.SaveChanges();
                foreach (var listpart in listparts.Where(i => i.JobCode == job_task.JobCode))
                {
                    context.tbl_Job_Task_Parts.AddObject(new tbl_Job_Task_Parts
                    {
                        Cost      = listpart.PartCost,
                        PartCode  = listpart.PartCode,
                        PartName  = listpart.PartName,
                        Price     = listpart.PartStdPrice,
                        JobTaskID = job_task.JobTaskID,
                        PartsID   = listpart.PartID,
                        Quantity  = listpart.Qty * job_task.Quantity,
                    });
                }
                context.SaveChanges();
            }
        }
コード例 #5
0
 public int GetMemberType(tbl_Job_Tasks task)
 {
     return(1);
 }
コード例 #6
0
        public ActionResult AddCode(int jobcodeid, int jobid)
        {
            var objmodcommon = new mod_common(UserInfo.UserKey);

            using (var ctx = new AuditedJobContext(UserInfo.UserKey, UserInfo.User.UserName, false))
            {
                try
                {
                    //task
                    var task = (from jc in ctx.tbl_PB_JobCodes
                                where jc.JobCodeID == jobcodeid
                                select new
                    {
                        jc.JobAddonMemberPrice,
                        jc.JobAddonStdPrice,
                        jc.JobCost,
                        jc.JobCode,
                        jc.JobCodeID,
                        jc.JobCodeDescription
                    }).Single();

                    var job = (from j in ctx.tbl_Job
                               where j.JobID == jobid
                               select new
                    {
                        j.CustomerID,
                        j.BusinessTypeID
                    }).Single();

                    var newtask = new tbl_Job_Tasks()
                    {
                        Cost               = task.JobCost,
                        JobCodeID          = task.JobCodeID,
                        JobCode            = task.JobCode,
                        JobCodeDescription = task.JobCodeDescription,
                        JobID              = jobid,
                        AuthorizedYN       = true,
                        AddOnYN            = true,
                        Quantity           = 1
                    };

                    if (ctx.tbl_Customer_Members.Any(q => q.CustomerID == job.CustomerID))
                    {
                        newtask.Price = task.JobAddonMemberPrice;
                    }
                    else
                    {
                        newtask.Price = task.JobAddonStdPrice;
                    }

                    newtask.AccountCode = objmodcommon.Get_Account_Code(task.JobCodeID, job.BusinessTypeID);

                    ctx.tbl_Job_Tasks.AddObject(newtask);
                    ctx.SaveChanges();

                    //part
                    var partlist = (from p in ctx.tbl_PB_JobCodes_Details
                                    where p.JobCodeID == newtask.JobCodeID
                                    select p);

                    bool addflag = false;
                    foreach (var part in partlist)
                    {
                        var newpart = new tbl_Job_Task_Parts()
                        {
                            JobTaskID = newtask.JobTaskID,
                            PartCode  = objmodcommon.GetPartCode(part.PartID).Trim(),
                            PartName  = objmodcommon.GetPartName(part.PartID),
                            PartsID   = part.PartID,
                            Quantity  = newtask.Quantity * part.Qty
                        };

                        if (newtask.AddOnYN)
                        {
                            newpart.Price = newtask.MemberYN ? part.PartAddonMemberPrice : part.PartAddonStdPrice;
                        }
                        else
                        {
                            newpart.Price = newtask.MemberYN ? part.PartMemberPrice : part.PartStdPrice;
                        }

                        ctx.tbl_Job_Task_Parts.AddObject(newpart);

                        addflag = true;
                    }

                    if (addflag)
                    {
                        ctx.SaveChanges();
                    }

                    InvoiceFinancialDetail finance = RecalcJobData(jobid, job.CustomerID);

                    return(Json(finance));
                }
                catch (DbEntityValidationException dbEx)
                {
                    foreach (var validationErrors in dbEx.EntityValidationErrors)
                    {
                        foreach (var validationError in validationErrors.ValidationErrors)
                        {
                            Trace.TraceInformation("Property: {0} Error: {1}", validationError.PropertyName,
                                                   validationError.ErrorMessage);
                        }
                    }
                }

                return(Json("fail"));
            }
        }
コード例 #7
0
        public ActionResult ManageTask(FormCollection frmcollection, int JobId, string command)
        {
            var objmodcommon = new mod_common(UserInfo.UserKey);

            using (var DB = GetContext())
            {
                if (Request.QueryString["JobId"] != null && Request.QueryString["JobId"] != "")
                {
                    ViewBag.jobsid = Request.QueryString["JobId"].ToString();

                    #region "Update Task Part"

                    if (command == "Update")
                    {
                        try
                        {
                            if (Convert.ToString(frmcollection["txtCode"]) != "" &&
                                Convert.ToString(frmcollection["txtCode"]) != null)
                            {
                                tbl_Job_Tasks objjobtask = new tbl_Job_Tasks();
                                int           taskid     = Convert.ToInt32(frmcollection["hdntaskid"]);

                                objjobtask = (from t in DB.tbl_Job_Tasks
                                              where t.JobID == JobId && t.JobTaskID == taskid
                                              select t)
                                             .FirstOrDefault();

                                if (objjobtask != null)
                                {
                                    if (frmcollection["chkMember"].ToString() == "true,false")
                                    {
                                        objjobtask.MemberYN = true;
                                    }
                                    else
                                    {
                                        objjobtask.MemberYN = false;
                                    }
                                    if (frmcollection["chkAddon"].ToString() == "true,false")
                                    {
                                        objjobtask.AddOnYN = true;
                                    }
                                    else
                                    {
                                        objjobtask.AddOnYN = false;
                                    }

                                    try
                                    {
                                        objjobtask.Quantity = Convert.ToDecimal(frmcollection["txtQty"]);
                                    }
                                    catch (Exception)
                                    {
                                        objjobtask.Quantity = 0;
                                    }

                                    try
                                    {
                                        objjobtask.Price = Convert.ToDecimal(frmcollection["txtPrice"]);
                                    }
                                    catch (Exception)
                                    {
                                        objjobtask.Price = 0;
                                    }

                                    objjobtask.JobCodeDescription = Convert.ToString(frmcollection["txtDescription"]);
                                    objjobtask.JobCode            = Convert.ToString(frmcollection["txtCode"]);

                                    try
                                    {
                                        objjobtask.JobCodeID = Convert.ToInt32(frmcollection["ddlcode"]);
                                    }
                                    catch (Exception)
                                    {
                                        objjobtask.JobCodeID = 0;
                                    }
                                }
                            }

                            if (Convert.ToString(frmcollection["txtPartno"]) != "" &&
                                Convert.ToString(frmcollection["txtPartno"]) != null)
                            {
                                int taskid     = Convert.ToInt32(frmcollection["hdntaskid"]);
                                int taskpartid = Convert.ToInt32(frmcollection["hdntaskpartid"]);

                                tbl_Job_Task_Parts objjobtaskparts = new tbl_Job_Task_Parts();
                                objjobtaskparts =
                                    (from tp in DB.tbl_Job_Task_Parts
                                     where tp.JobTaskPartsID == taskpartid && tp.JobTaskID == taskid
                                     select tp)
                                    .FirstOrDefault();

                                if (objjobtaskparts != null)
                                {
                                    objjobtaskparts.PartsID  = Convert.ToInt32(frmcollection["ddlparts"]);
                                    objjobtaskparts.Quantity = Convert.ToDecimal(frmcollection["txtPartQty"]);
                                    objjobtaskparts.Price    = Convert.ToDecimal(frmcollection["txtPartPrice"]);
                                    objjobtaskparts.PartCode = Convert.ToString(frmcollection["txtPartno"]).Trim();
                                    objjobtaskparts.PartName = Convert.ToString(frmcollection["txtPartDescription"]);
                                }
                            }

                            DB.SaveChanges();
                        }
                        catch (DbEntityValidationException dbEx)
                        {
                            foreach (var validationErrors in dbEx.EntityValidationErrors)
                            {
                                foreach (var validationError in validationErrors.ValidationErrors)
                                {
                                    Trace.TraceInformation("Property: {0} Error: {1}", validationError.PropertyName,
                                                           validationError.ErrorMessage);
                                }
                            }
                        }
                    }
                    #endregion

                    #region "Delete Task Part"
                    if (command == "Delete")
                    {
                        using (var scope = new TransactionScope())
                        {
                            var taskid = Convert.ToInt32(frmcollection["hdntaskid"]);

                            if (Convert.ToString(frmcollection["txtPartno"]) != "" &&
                                Convert.ToString(frmcollection["txtPartno"]) != null)
                            {
                                var taskpartid = Convert.ToInt32(frmcollection["hdntaskpartid"]);

                                var objjobtaskparts = (from tp in DB.tbl_Job_Task_Parts
                                                       where tp.JobTaskPartsID == taskpartid
                                                       select tp)
                                                      .SingleOrDefault();

                                if (objjobtaskparts != null)
                                {
                                    DB.tbl_Job_Task_Parts.DeleteObject(objjobtaskparts);
                                }
                            }

                            DB.SaveChanges();

                            //if no parts are left on the task, delete the taks.
                            if (!DB.tbl_Job_Task_Parts.Any(p => p.JobTaskID == taskid))
                            {
                                var task = DB.tbl_Job_Tasks.Single(jt => jt.JobTaskID == taskid);
                                DB.tbl_Job_Tasks.DeleteObject(task);
                            }

                            DB.SaveChanges();
                            scope.Complete();
                        }
                    }
                    #endregion

                    #region "Add Part"
                    if (command == "Add Parts")
                    {
                        try
                        {
                            // && inoofrows > 0
                            if (Convert.ToInt32(frmcollection["ddlparts"]) != 0)
                            {
                                if (frmcollection["hdntaskid"] != "")
                                {
                                    //there is a selected task to add the part to
                                    int holdpartid = Convert.ToInt32(frmcollection["ddlparts"]);
                                    var addpart    = (from a in DB.tbl_PB_Parts
                                                      where a.PartID == holdpartid
                                                      select a)
                                                     .Single();

                                    int holdtaskid = Convert.ToInt32(frmcollection["hdntaskid"]);

                                    var task = (from t in DB.tbl_Job_Tasks
                                                where t.JobTaskID == holdtaskid
                                                select t)
                                               .Single();

                                    tbl_Job_Task_Parts part = new tbl_Job_Task_Parts
                                    {
                                        JobTaskID = holdtaskid,
                                        PartCode  = objmodcommon.GetPartCode(holdpartid).Trim(),
                                        PartName  = objmodcommon.GetPartName(holdpartid).Trim(),
                                        PartsID   = addpart.PartID
                                    };

                                    if (task.MemberYN)
                                    {
                                        if (task.AddOnYN)
                                        {
                                            part.Price = addpart.PartAddonMemberPrice;
                                        }
                                        else
                                        {
                                            part.Price = addpart.PartMemberPrice;
                                        }
                                    }
                                    else
                                    {
                                        if (task.AddOnYN)
                                        {
                                            part.Price = addpart.PartAddonStdPrice;
                                        }
                                        else
                                        {
                                            part.Price = addpart.PartStdPrice;
                                        }
                                    }

                                    part.Quantity = 1;
                                    DB.tbl_Job_Task_Parts.AddObject(part);
                                    DB.SaveChanges();
                                }
                                else
                                {
                                    ViewBag.lblmessage = "Please select a task to add the part to.";
                                }
                            }
                        }
                        catch (DbEntityValidationException dbEx)
                        {
                            foreach (var validationErrors in dbEx.EntityValidationErrors)
                            {
                                foreach (var validationError in validationErrors.ValidationErrors)
                                {
                                    Trace.TraceInformation("Property: {0} Error: {1}", validationError.PropertyName,
                                                           validationError.ErrorMessage);
                                }
                            }
                        }
                    }

                    #endregion

                    #region "Add Task"
                    if (command == "Add Code")
                    {
                        try
                        {
                            if (Convert.ToInt32(frmcollection["ddlcode"]) != 0)
                            {
                                int holdjobcodeid = Convert.ToInt32(frmcollection["ddlcode"]);
                                var addtask       = (from a in DB.tbl_PB_JobCodes
                                                     where a.JobCodeID == holdjobcodeid
                                                     select
                                                     new
                                {
                                    a.JobAddonMemberPrice,
                                    a.JobAddonStdPrice,
                                    a.JobCost,
                                    a.JobCode,
                                    a.JobCodeID,
                                    a.JobCodeDescription
                                })
                                                    .Single();

                                var job = (from j in DB.tbl_Job
                                           where j.JobID == JobId
                                           select new
                                {
                                    j.CustomerID,
                                    j.BusinessTypeID
                                })
                                          .Single();

                                var customerID = job.CustomerID;
                                var customer   = objmodcommon.GetCustomers(customerID);
                                //get a new task record and save

                                tbl_Job_Tasks task = new tbl_Job_Tasks();
                                if (inoofrows > 0)
                                {
                                    task.AddOnYN = true;

                                    //if the customer is a member do stuff
                                    var member = (from m in DB.tbl_Customer_Members where m.CustomerID == customerID select m);

                                    bool memberyn = false;
                                    foreach (var item in member)
                                    {
                                        memberyn = true;
                                    }

                                    if (memberyn)
                                    {
                                        task.Price = addtask.JobAddonMemberPrice;
                                    }
                                    else
                                    {
                                        task.Price = addtask.JobAddonStdPrice;
                                    }

                                    task.Quantity = 1;
                                }
                                else
                                {
                                    task.AddOnYN = false;
                                    //if the customer is a member do stuff
                                    var member = (from m in DB.tbl_Customer_Members where m.CustomerID == customerID select m);

                                    bool memberyn = false;
                                    foreach (var item in member)
                                    {
                                        memberyn = true;
                                    }

                                    if (memberyn)
                                    {
                                        task.Price = addtask.JobAddonMemberPrice;
                                    }
                                    else
                                    {
                                        task.Price = addtask.JobAddonStdPrice;
                                    }

                                    task.Quantity = 1;
                                }
                                task.AuthorizedYN       = true;
                                task.Cost               = addtask.JobCost;
                                task.JobCodeID          = addtask.JobCodeID;
                                task.JobCode            = addtask.JobCode;
                                task.JobCodeDescription = addtask.JobCodeDescription;
                                task.JobID              = JobId;

                                int tmpBusID  = job.BusinessTypeID;
                                int tmpCodeID = addtask.JobCodeID;
                                task.AccountCode = objmodcommon.Get_Account_Code(tmpCodeID, tmpBusID);

                                //System.Text.Encoding enc = System.Text.Encoding.ASCII;
                                //byte[] ByteArray = enc.GetBytes(DateTime.Now.ToShortTimeString());

                                //task.timestamp = DBNull.Value;
                                DB.tbl_Job_Tasks.AddObject(task);
                                DB.SaveChanges();

                                int myjobcodeID = task.JobCodeID;
                                //now add any parts associated with this task
                                var partlist = (from p in DB.tbl_PB_JobCodes_Details where p.JobCodeID == myjobcodeID select p);

                                bool partadded = false;
                                foreach (var partrec in partlist)
                                {
                                    tbl_Job_Task_Parts part = new tbl_Job_Task_Parts();
                                    part.JobTaskID = task.JobTaskID;
                                    int holdpartid = partrec.PartID;
                                    part.PartCode = objmodcommon.GetPartCode(holdpartid).Trim();
                                    part.PartName = objmodcommon.GetPartName(holdpartid);
                                    part.PartsID  = partrec.PartID;

                                    if (task.AddOnYN)
                                    {
                                        if (task.MemberYN)
                                        {
                                            part.Price = partrec.PartAddonMemberPrice;
                                        }
                                        else
                                        {
                                            part.Price = partrec.PartAddonStdPrice;
                                        }
                                    }
                                    else
                                    {
                                        if (task.MemberYN)
                                        {
                                            part.Price = partrec.PartMemberPrice;
                                        }
                                        else
                                        {
                                            part.Price = partrec.PartStdPrice;
                                        }
                                    }
                                    part.Quantity = task.Quantity * partrec.Qty;
                                    DB.tbl_Job_Task_Parts.AddObject(part);
                                    partadded = true;
                                }

                                if (partadded)
                                {
                                    DB.SaveChanges();
                                }
                            }
                        }
                        catch (DbEntityValidationException dbEx)
                        {
                            foreach (var validationErrors in dbEx.EntityValidationErrors)
                            {
                                foreach (var validationError in validationErrors.ValidationErrors)
                                {
                                    Trace.TraceInformation("Property: {0} Error: {1}", validationError.PropertyName,
                                                           validationError.ErrorMessage);
                                }
                            }
                        }
                    }
                    #endregion

                    var total = (from j in DB.tbl_Job
                                 join t in DB.tbl_Job_Tasks on j.JobID equals t.JobID
                                 where j.JobID == JobId
                                 select new { t.Price, t.Quantity }).ToArray().Sum(x => x.Price * x.Quantity);

                    var totalpayment = (from p in DB.tbl_Payments
                                        where p.JobID == JobId
                                        select p.PaymentAmount).Sum() ?? 0;

                    var objjob = (from j in DB.tbl_Job
                                  where j.JobID == JobId
                                  select j)
                                 .FirstOrDefault();

                    objjob.SubTotal   = total;
                    objjob.TotalSales = total + objjob.TaxAmount;
                    objjob.Balance    = objjob.TotalSales - totalpayment;

                    DB.SaveChanges();
                }

                var jobInfo = (from j in DB.tbl_Job
                               join t in DB.tbl_Employee on j.ServiceProID equals t.EmployeeID into t1
                               from t in t1.DefaultIfEmpty()
                               join tt in DB.tbl_Franchise_Tablets on t.EmployeeID equals tt.EmployeeID into tt1
                               from tt in tt1.DefaultIfEmpty()
                               where j.JobID == JobId
                               select new { j.FranchiseID })
                              .Single();

                var pricebooks  = DB.tbl_PriceBook.Where(pb => pb.FranchiseID == jobInfo.FranchiseID).ToArray();
                var priceBookId = Convert.ToInt32(string.IsNullOrEmpty(frmcollection["ddlPriceBook"])
                                            ? "0"
                                            : frmcollection["ddlPriceBook"]);

                if (priceBookId == 0 && pricebooks.Length > 0)
                {
                    priceBookId = pricebooks.First().PriceBookID;
                }

                ViewBag.PriceBooks  = pricebooks;
                ViewBag.PriceBookId = priceBookId;

                if (command == "Search Code")
                {
                    string strjobcode = frmcollection["txtjobcode"].ToString();
                    var    TaskList   = (from b in DB.tbl_PB_JobCodes
                                         join c in DB.tbl_PB_SubSection on b.SubSectionID equals c.SubsectionID
                                         join d in DB.tbl_PB_Section on c.SectionID equals d.SectionID
                                         join e in DB.tbl_PriceBook on d.PriceBookID equals e.PriceBookID
                                         where e.FranchiseID == jobInfo.FranchiseID && e.ActiveBookYN && priceBookId == e.PriceBookID
                                         orderby b.JobCode
                                         select new { b.JobCodeID, Code = b.JobCode + " - " + b.JobCodeDescription });

                    TaskList = TaskList.Where(p => p.Code.Contains(strjobcode));

                    ViewBag.taskcode = TaskList.ToArray();
                }
                else
                {
                    var TaskList = (from b in DB.tbl_PB_JobCodes
                                    join c in DB.tbl_PB_SubSection on b.SubSectionID equals c.SubsectionID
                                    join d in DB.tbl_PB_Section on c.SectionID equals d.SectionID
                                    join e in DB.tbl_PriceBook on d.PriceBookID equals e.PriceBookID
                                    where e.FranchiseID == jobInfo.FranchiseID && e.ActiveBookYN && priceBookId == e.PriceBookID
                                    orderby b.JobCode
                                    select new { b.JobCodeID, Code = b.JobCode + " - " + b.JobCodeDescription });
                    ViewBag.taskcode = TaskList.ToArray();
                }

                if (command == "Search Parts")
                {
                    string strjobparts = frmcollection["txtPartcode"].ToString();
                    var    Partslist   = (from s in DB.tbl_PB_Parts
                                          join t in DB.tbl_PriceBook on s.PriceBookID equals t.PriceBookID
                                          join m in DB.tbl_PB_MasterParts on s.MasterPartID equals m.MasterPartID
                                          where m.FranchiseID == jobInfo.FranchiseID && t.ActiveBookYN && priceBookId == t.PriceBookID
                                          orderby m.PartCode
                                          select new { s.PartID, PCode = m.PartCode + " - " + m.PartName });
                    Partslist = Partslist.Where(p => p.PCode.Contains(strjobparts));

                    ViewBag.partlist = Partslist.ToArray();
                }
                else
                {
                    var Partslist = (from s in DB.tbl_PB_Parts
                                     join t in DB.tbl_PriceBook on s.PriceBookID equals t.PriceBookID
                                     join m in DB.tbl_PB_MasterParts on s.MasterPartID equals m.MasterPartID
                                     where m.FranchiseID == jobInfo.FranchiseID && t.ActiveBookYN && priceBookId == t.PriceBookID
                                     orderby m.PartCode
                                     select new { s.PartID, PCode = m.PartCode + " - " + m.PartName });
                    ViewBag.partlist = Partslist.ToArray();
                }
            }

            return(View());
        }