Example #1
0
 private void RefreshSelectedDetails(List <View_StocktakeDetails> details, GridView gv)
 {
     foreach (GridViewRow row in gv.Rows)
     {
         if (gv.DataKeys[row.RowIndex]["PartID"] == null)
         {
             continue;
         }
         CheckBox cbSelect            = row.FindControl("cbSelect") as CheckBox;
         View_StocktakeDetails detail = GetDetailsByRow(row);
         detail.PartID = int.Parse(gv.DataKeys[row.RowIndex]["PartID"].ToString());
         int index = details.FindIndex(d => d.PartID == detail.PartID);
         if (index >= 0)
         {
             if (!cbSelect.Checked)
             {
                 details.RemoveAt(index);
             }
         }
         else
         {
             if (cbSelect.Checked)
             {
                 details.Add(detail);
             }
         }
     }
 }
Example #2
0
        public IQueryable <View_StocktakeDetails> QueryRequestDetails(View_StocktakeDetails condition, DateTime?dateStart, DateTime?dateEnd)
        {
            StocktakeDetailBLL bll = new StocktakeDetailBLL();

            //condition.ReadyForCount = true;
            return(bll.QueryDetails(condition, dateStart, dateEnd));
        }
Example #3
0
    private void BindRequestDetails()
    {
        int pageCount;
        int itemCount;
        List <View_StocktakeDetails> details;

        if (RequestID == null)//create
        {
            itemCount = RequestedDetails.Count();
            pagerRequestParts.TotalRecord = itemCount;
            int pageSize   = pagerRequestParts.PageSize;
            int pageNumber = pagerRequestParts.CurrentPage;
            var qry        = RequestedDetails.AsQueryable().OrderBy(d => d.PartCode);
            details = SGM.Common.Utility.Utils.GetQueryByPage(qry, pageSize, pageNumber, out pageCount, out itemCount).ToList();
        }
        else
        {
            View_StocktakeDetails condition = new View_StocktakeDetails
            {
                RequestID = RequestID.Value
            };
            string cacheKey = string.Empty;
            details = Service.QueryRequestDetailsByPage(condition, RemovedDetails, RequestedDetails, null, null, pagerRequestParts.PageSize, pagerRequestParts.CurrentPage, out pageCount, out itemCount); //Service.GetNotiDetailsByPage(new StocktakeNotification { NotificationID = NotificationID.Value }, RemovedDetails, IncludedDetails, pagerDetails.PageSize, pagerDetails.CurrentPage, out pageCount, out itemCount);
        }
        BindDataControl(gvRequestParts, details);
        pagerRequestParts.TotalRecord = itemCount;
    }
Example #4
0
        public IQueryable <View_StocktakeDetails> QueryRequestDetailsByPage(View_StocktakeDetails condition, DateTime?dateStart, DateTime?dateEnd, int pageSize, int pageNumber, out int pageCount, out int itemCount, bool cacheIt, ref string cacheKey)
        {
            IQueryable <View_StocktakeDetails> query;

            if (cacheIt)
            {
                if (!string.IsNullOrEmpty(cacheKey))
                {
                    List <View_StocktakeDetails> details = CacheHelper.GetCache(cacheKey) as List <View_StocktakeDetails>;
                    if (details != null)
                    {
                        query = details.AsQueryable().OrderBy(d => d.RequestNumber).ThenBy(d => d.PartCode);
                        return(GetQueryByPage <View_StocktakeDetails>(query, pageSize, pageNumber, out pageCount, out itemCount));
                    }
                }
                query    = QueryRequestDetails(condition, dateStart, dateEnd);
                cacheKey = Guid.NewGuid().ToString();

                CacheHelper.SetCache(cacheKey, query.ToList());
                return(GetQueryByPage <View_StocktakeDetails>(query.OrderBy(d => d.RequestNumber).ThenBy(d => d.PartCode), pageSize, pageNumber, out pageCount, out itemCount));
            }
            else
            {
                query = QueryRequestDetails(condition, dateStart, dateEnd).OrderBy(d => d.RequestNumber).ThenBy(d => d.PartCode);
                return(GetQueryByPage <View_StocktakeDetails>(query, pageSize, pageNumber, out pageCount, out itemCount));
            }
        }
Example #5
0
    protected void gvRemovedDetails_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        View_StocktakeDetails detail = GetDetailsByRow(gvRemovedDetails.Rows[e.RowIndex]);

        detail.DetailsID = long.Parse(gvRemovedDetails.DataKeys[e.RowIndex].Value.ToString());

        RefreshSelectedDetails(SelectedRemovedDetails, gvRemovedDetails);
        int idx = SelectedRemovedDetails.FindIndex(d => d.DetailsID == detail.DetailsID);

        if (idx >= 0)
        {
            SelectedRemovedDetails.RemoveAt(idx);
        }

        int index = RemovedDetails.FindIndex(d => d.DetailsID == detail.DetailsID);

        if (index >= 0)
        {
            RemovedDetails.RemoveAt(index);
        }
        if (NotificationID != null)
        {
            IncludedDetails.Add(detail);
        }
        BindData();
    }
Example #6
0
    protected void btnSave_Click(object sender, EventArgs e)
    {
        //CurrentUser.UserGroup.MaxStaticStocktake
        NewStocktakeRequest request = new NewStocktakeRequest();

        request.IsStatic = (ddlIsStatic.SelectedIndex == 0);
        request.Details  = new List <NewStocktakeDetails>();
        List <View_StocktakeDetails> detailsList = this.Details;

        for (int i = 0; i < detailsList.Count; i++)
        {
            View_StocktakeDetails item = detailsList[i];
            item.Description = ((TextBox)gvRequestParts.Rows[i].Cells[0].FindControl("txtComments")).Text;
            //item.StocktakeType = Convert.ToInt32(((DropDownList)gvRequestParts.Rows[i].Cells[5].FindControl("ddlType")).SelectedValue);
            //item.Priority = Convert.ToInt32(((DropDownList)gvRequestParts.Rows[i].Cells[6].FindControl("ddlDetailPriority")).SelectedValue);

            NewStocktakeDetails details = new NewStocktakeDetails();
            details.PartID            = item.PartID.ToString();
            details.StocktakeTypeID   = item.StocktakeType.Value;
            details.StocktakePriority = item.Priority.Value;
            request.Details.Add(details);
        }
        this.Details = detailsList;
        StocktakeRequest newRequest = Service.RequestStocktake(request);

        RequestID = newRequest.RequestID;
        this.BindRequest(newRequest);
        this.BindRequestDetails();
    }
Example #7
0
    private void BindRequestDetails()
    {
        List <View_StocktakeDetails> details;

        if (RequestID != null)
        {
            View_StocktakeDetails condition = new View_StocktakeDetails();
            condition.RequestID = RequestID.Value;
            int pageCount;
            int itemCount;
            //View_StocktakeDetails condition=new View_StocktakeDetails()
            //{
            //    RequestID=this.RequestID.Value
            //};
            string key = string.Empty;
            details = Service.QueryRequestDetailsByPage(condition, null, null, null, null, pagerParts.PageSize, pagerParts.CurrentPage, out pageCount, out itemCount);//.QueryStocktakeReqDetails(condition, null, null);
            pagerParts.TotalRecord = itemCount;
            OriginDetailCount      = details.Count;
        }
        else
        {
            details = new List <View_StocktakeDetails>();
        }
        this.Details = details;
        this.BindDataControl(this.gvRequestParts, this.Details);
        //gvRequestParts.DataSource = details;
        //gvRequestParts.DataBind();
    }
Example #8
0
 private void RefreshComments()
 {
     foreach (GridViewRow row in gvDetails.Rows)
     {
         long detailsID = long.Parse(gvDetails.DataKeys[row.RowIndex].Value.ToString());
         if (detailsID == DefaultValue.LONG)
         {
             continue;
         }
         View_StocktakeDetails detail = GetDetailsByRow(row);
         detail.DetailsID = detailsID;
         int index = IncludedDetails.FindIndex(d => d.DetailsID == detail.DetailsID);
         if (index >= 0)
         {
             IncludedDetails[index].NotifyComments = detail.NotifyComments;
         }
         else
         {
             if (NotificationID == null)
             {
                 if (!string.IsNullOrEmpty(detail.NotifyComments))
                 {
                     IncludedDetails.Add(detail);
                 }
             }
             else
             {
                 IncludedDetails.Add(detail);
             }
         }
     }
 }
Example #9
0
        public IQueryable <View_StocktakeDetails> QueryFullFilledDetails(View_StocktakeDetails condition)
        {
            IQueryable <View_StocktakeDetails> qry = QueryNotificationDetails(condition, null, null, null, null);

            qry = qry.Where(q => q.Status >= Consts.STOCKTAKE_COMPLETE);
            return(qry);
        }
Example #10
0
    private View_StocktakeDetails GetDetailsByRow(GridViewRow row)
    {
        View_StocktakeDetails details = new View_StocktakeDetails();
        Label   lblPartCode           = row.FindControl("lblPartCode") as Label;
        Label   lblPlantCode          = row.FindControl("lblPlantCode") as Label;
        Label   lblWorkshops          = row.FindControl("lblWorkshops") as Label;
        Label   lblSegments           = row.FindControl("lblSegments") as Label;
        Label   lblWorklocation       = row.FindControl("lblWorklocation") as Label;
        Label   lblCName    = row.FindControl("lblCName") as Label;
        Label   lblDUNS     = row.FindControl("lblDUNS") as Label;
        Label   lblUserName = row.FindControl("lblUserName") as Label;
        Label   lblTypeName = row.FindControl("lblTypeName") as Label;
        Label   lblPriority = row.FindControl("lblPriority") as Label;
        TextBox txtComment  = row.FindControl("txtComment") as TextBox;

        if (txtComment != null)
        {
            details.NotifyComments = txtComment.Text.Trim();
        }
        details.PriorityName     = lblPriority.Text;
        details.TypeName         = lblTypeName.Text;
        details.CreateByUserName = lblUserName.Text;
        details.DUNS             = lblDUNS.Text;
        details.PartChineseName  = lblCName.Text;
        details.Segments         = lblSegments.Text;
        details.WorkLocation     = lblWorklocation.Text;
        details.Workshops        = lblWorkshops.Text;
        details.PartCode         = lblPartCode.Text;
        details.PartPlantCode    = lblPlantCode.Text;
        return(details);
    }
Example #11
0
    private void QueryDetails(int?plantId, int?stocktakeType, DateTime?dateStart, DateTime?dateEnd)
    {
        int pageCount;
        int itemCount;

        View_StocktakeDetails detailsCondition = new View_StocktakeDetails
        {
            RequestNumber   = txtRequestNo.Text,
            RequestUser     = txtRequestBy.Text,
            PartPlantID     = plantId,
            PartPlantCode   = txtPartCode.Text,
            StocktakeType   = stocktakeType,
            PartChineseName = txtPartCName.Text,
            PartCode        = txtPartCode.Text
        };

        if (!string.IsNullOrEmpty(ddlIsStatic.SelectedValue))
        {
            detailsCondition.RequestIsStatic = Convert.ToBoolean(ddlIsStatic.SelectedValue);
        }
        if (!string.IsNullOrEmpty(ddlStatus.SelectedValue))
        {
            detailsCondition.RequestStatus = int.Parse(ddlStatus.SelectedValue);
        }
        string tmp = string.Empty;
        List <View_StocktakeDetails> details = Service.QueryRequestDetailsByPage(detailsCondition, null, null, dateStart, dateEnd, AspPager1.PageSize, AspPager1.CurrentPage, out pageCount, out itemCount);

        BindDataControl(gvDetails, details);
        AspPager1.TotalRecord = itemCount;
    }
Example #12
0
        public IQueryable <View_StocktakeDetails> QueryNotificationDetails(View_StocktakeDetails condition, int?locationID, DateTime?dateStart, DateTime?dateEnd, DateTime?planDateStart, DateTime?planDateEnd)
        {
            var qry = QueryNotificationDetails(condition, dateStart, dateEnd, planDateStart, planDateEnd);

            if (locationID != null)
            {
                qry = from d in qry join n in Context.StocktakeLocation on d.NotificationID.Value equals n.StocktakeNotification.NotificationID where n.StoreLocation.LocationID == locationID.Value select d;
                //qry = from d in qry join q in QueryNotificationDetails(condition, dateStart, dateEnd, planDateStart, planDateEnd) on d.DetailsID equals q.DetailsID select d;
                return(qry);
            }
            else
            {
                return(QueryNotificationDetails(condition, dateStart, dateEnd, planDateStart, planDateEnd));
            }
            //var result=qry;
            //if (locationID != null)
            //{
            //    long id = locationID.Value;
            //    var notifications = Context.StocktakeLocation.Where(l => l.StoreLocation.LocationID == id).Select(l => l.StocktakeNotification);
            //    //List<View_StocktakeDetails> list =  result.ToList();
            //    //result = qry.Where(d => notifications.Contains(d.NotificationID.Value)).AsQueryable();
            //    result = from q in qry join n in notifications on q.NotificationID equals n.NotificationID select q;

            //}
            //return result;
        }
Example #13
0
        public IQueryable <View_StocktakeDetails> QueryNotificationDetails(View_StocktakeDetails condition, DateTime?dateStart, DateTime?dateEnd, DateTime?planDateStart, DateTime?planDateEnd)
        {
            //StocktakeDetailBLL bll = new StocktakeDetailBLL();

            IQueryable <View_StocktakeDetails> result = QueryDetails(condition, null, null);

            result = result.Where(d => d.NotificationID != null);
            if (dateStart != null)
            {
                result = result.Where(d => d.DateCreated >= dateStart.Value);
            }
            if (dateEnd != null)
            {
                result = result.Where(d => d.DateCreated <= dateEnd.Value);
            }
            if (planDateStart != null)
            {
                result = result.Where(d => d.PlanDate >= planDateStart);
            }
            if (planDateEnd != null)
            {
                result = result.Where(d => d.PlanDate <= planDateEnd);
            }
            return(result);
        }
Example #14
0
    protected void gvDetails_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowIndex >= 0)
        {
            View_StocktakeDetails details = e.Row.DataItem as View_StocktakeDetails;
            if (details.DetailsID == DefaultValue.LONG)
            {
                return;
            }
            LinkButton linkNotificationNo = e.Row.Cells[3].FindControl("linkNotificationNo") as LinkButton;

            if (View == "notification")
            {
                LinkButton linkModify            = e.Row.Cells[1].FindControl("linkModify") as LinkButton;
                LinkButton linkPublish           = e.Row.Cells[1].FindControl("linkPublish") as LinkButton;
                LinkButton linkExportNoti        = e.Row.Cells[1].FindControl("linkExportNoti") as LinkButton;
                LinkButton linkExportNotiDetails = e.Row.Cells[1].FindControl("linkExportNotiDetails") as LinkButton;

                SetButtonByStatus(linkPublish, linkModify, linkNotificationNo, linkExportNoti, linkExportNotiDetails, details);
            }
            else
            {
                LinkButton linkFill   = e.Row.FindControl("linkFill") as LinkButton;
                LinkButton linkImport = e.Row.FindControl("linkImport") as LinkButton;
                LinkButton linkExport = e.Row.FindControl("linkExport") as LinkButton;
                SetResultByStatus(linkFill, linkImport, linkNotificationNo, linkExport, details.Status.Value, details.NotificationID.Value);
            }
        }
    }
Example #15
0
    private void BuildQueryCondition(out View_StocktakeDetails condition, out DateTime?dateStart, out DateTime?dateEnd, out DateTime?planDateStart, out DateTime?planDateEnd, out int?locationID)
    {
        condition  = new View_StocktakeDetails();
        locationID = null;

        if (!string.IsNullOrEmpty(txtCreateBy.Text.Trim()))
        {
            condition.RequestUser = txtCreateBy.Text.Trim();
        }
        if (!string.IsNullOrEmpty(txtPartCName.Text.Trim()))
        {
            condition.PartChineseName = txtPartCName.Text.Trim();
        }
        if (!string.IsNullOrEmpty(txtRequestNO.Text.Trim()))
        {
            condition.RequestNumber = txtRequestNO.Text.Trim();
        }
        if (!string.IsNullOrEmpty(txtNotificationNO.Text.Trim()))
        {
            condition.NotificationCode = txtNotificationNO.Text.Trim();
        }
        if (!string.IsNullOrEmpty(txtPartNO.Text.Trim()))
        {
            condition.PartCode = txtPartNO.Text.Trim();
        }
        if (!string.IsNullOrEmpty(txtUserGroup.Text.Trim()))
        {
            condition.RequestUserGroup = txtUserGroup.Text.Trim();
        }
        if (ddlStatus.SelectedIndex > 0)
        {
            condition.Status = Convert.ToInt32(ddlStatus.SelectedValue);
        }

        dateStart = null;
        DateTime tmpDate;

        if (DateTime.TryParse(txtDateStart.Text.Trim(), out tmpDate))
        {
            dateStart = tmpDate;
        }
        dateEnd = null;
        if (DateTime.TryParse(txtDateEnd.Text.Trim(), out tmpDate))
        {
            dateEnd = tmpDate;
        }

        planDateStart = null;
        if (DateTime.TryParse(txtPlanDateStart.Text.Trim(), out tmpDate))
        {
            planDateStart = tmpDate;
        }
        planDateEnd = null;
        if (DateTime.TryParse(txtPlanDateEnd.Text.Trim(), out tmpDate))
        {
            planDateEnd = tmpDate;
        }
    }
Example #16
0
        public List <View_StocktakeDetails> GetNewRequestDetails(View_StocktakeDetails filter, int pageSize, int pageNumber, out int pageCount, out int itemCount)
        {
            IQueryable <View_StocktakeDetails> detailsQry = GetNewRequestDetails(filter);

            detailsQry = detailsQry.OrderBy(d => d.PartPlantCode).ThenBy(d => d.PartCode);
            List <long> detailsIDList           = detailsQry.Select(d => d.DetailsID).ToList();
            List <View_StocktakeDetails> result = this.GetQueryByPage(detailsQry, pageSize, pageNumber, out pageCount, out itemCount).ToList();

            return(result);
        }
Example #17
0
        public IQueryable <View_StocktakeDetails> GetNewRequestDetails(View_StocktakeDetails filter)
        {
            filter.ReadyForCount = true;
            //View_StocktakeDetails condition = new View_StocktakeDetails { RequestIsStatic = isStatic, ReadyForCount = true };

            IQueryable <View_StocktakeDetails> qryDetails = this.QueryDetails(filter, null, null);

            qryDetails = qryDetails.Where(d => d.NotificationID == null);
            return(qryDetails);
        }
Example #18
0
    private void QueryNotification(View_StocktakeDetails condition, DateTime?dateStart, DateTime?dateEnd, DateTime?planDateStart, DateTime?planDateEnd, int?locationID)
    {
        int pageCount;
        int itemCount;
        List <View_StocktakeNotification> notificationList = Service.QueryNotiByPage(condition, locationID, dateStart, dateEnd, planDateStart, planDateEnd, pagerNotiList.PageSize, pagerNotiList.CurrentPage, out pageCount, out itemCount);

        gvNotification.DataSource = notificationList;
        gvNotification.DataBind();
        pagerNotiList.TotalRecord = itemCount;
    }
Example #19
0
 protected void gvDetails_RowDataBound(object sender, GridViewRowEventArgs e)
 {
     if (e.Row.RowIndex >= 0)
     {
         LinkButton            linkRequestNo = e.Row.Cells[0].FindControl("linkRequestNo") as LinkButton;
         View_StocktakeDetails request       = e.Row.DataItem as View_StocktakeDetails;
         string script = string.Format("showDialog('StocktakeRequest.aspx?Mode=Edit&id={0}',1080,550, null, \"refresh('{1}')\");return false;", request.RequestID, Toolbar1.Controls[3].ClientID);
         linkRequestNo.OnClientClick = script;
     }
 }
Example #20
0
    private void QueryDetails(View_StocktakeDetails condition, int?locationID, DateTime?dateStart, DateTime?dateEnd, DateTime?planDateStart, DateTime?planDateEnd)
    {
        int pageCount;
        int itemCount;
        List <View_StocktakeDetails> detailsList = Service.QueryNotifyDetailsByPage(condition, locationID, dateStart, dateEnd, planDateStart, planDateEnd, pagerDetails.PageSize, pagerDetails.CurrentPage, out pageCount, out itemCount);

        gvDetails.DataSource = detailsList;
        gvDetails.DataBind();
        pagerDetails.TotalRecord = itemCount;
    }
Example #21
0
 private IQueryable <View_StocktakeDetails> QueryStocktakeDetails(View_StocktakeDetails stocktakeDetails, IQueryable <View_StocktakeDetails> stocktakeQry)
 {
     if (stocktakeDetails != null)
     {
         if (!string.IsNullOrEmpty(stocktakeDetails.NotificationCode))
         {
             stocktakeQry = stocktakeQry.Where(p => p.NotificationCode == stocktakeDetails.NotificationCode);
         }
     }
     return(stocktakeQry);
 }
Example #22
0
        public IQueryable <View_StocktakeDetails> GetNewRequestDetails(bool isStatic, Plant plant)
        {
            int plantID = plant.PlantID;
            View_StocktakeDetails condition = new View_StocktakeDetails {
                RequestIsStatic = isStatic, PartPlantID = plantID, ReadyForCount = true
            };
            IQueryable <View_StocktakeDetails> detailsQry = this.QueryDetails(condition, null, null);

            detailsQry = detailsQry.Where(d => d.NotificationID == null);
            //IQueryable<View_StocktakeDetails> detailsQry = Context.View_StocktakeDetails.Where(d => d.NotificationID == null && d.RequestIsStatic == isStatic && d.PartPlantID == plantID);
            return(detailsQry);
        }
Example #23
0
        public IQueryable <View_StocktakeDetails> QueryResultDetails(View_StocktakeDetails condition, DateTime?dateStart, DateTime?dateEnd, DateTime?planDateStart, DateTime?planDateEnd)
        {
            IQueryable <View_StocktakeDetails> qry = this.QueryNotificationDetails(condition, dateStart, dateEnd, planDateStart, planDateEnd);

            qry = qry.Where(q => q.Status >= Consts.STOCKTAKE_PUBLISHED);

            //if (condition.LocationID!=null)
            //{
            //    qry = qry.Where(q => q.LocationID == condition.LocationID);
            //}
            return(qry);
        }
Example #24
0
        public void UpdateRequest(NewStocktakeRequest request, List <int> removedDetailsList, List <View_StocktakeDetails> changedDetails)
        {
            StocktakeDetailBLL bll = new StocktakeDetailBLL(Context);

            List <View_StocktakeDetails> detailsList = bll.QueryDetails(new View_StocktakeDetails {
                RequestID = request.RequestID
            }, null, null).ToList();

            //removed items
            for (int i = detailsList.Count - 1; i >= 0; i--)
            {
                if (removedDetailsList.Contains(detailsList[i].PartID.Value))
                {
                    detailsList.RemoveAt(i);
                }
            }
            //changed items
            foreach (var item in changedDetails)
            {
                View_StocktakeDetails detail = detailsList.Find(d => d.PartID == item.PartID);
                if (detail != null)
                {
                    detail.StocktakeType  = item.StocktakeType;
                    detail.Priority       = item.Priority;
                    detail.NotifyComments = item.NotifyComments;
                    detail.DetailsDesc    = item.DetailsDesc;
                }
                else
                {
                    detailsList.Add(item);
                }
            }

            if (detailsList != null)
            {
                request.Details = detailsList.Select(d => new NewStocktakeDetails {
                    PartID = d.PartID.ToString(), StocktakePriority = d.Priority.Value, Description = d.DetailsDesc, StocktakeTypeID = d.StocktakeType.Value
                }).ToList();
            }
            Type[]        types  = new Type[] { typeof(NewStocktakeDetails) };
            XmlSerializer xs     = new XmlSerializer(typeof(NewStocktakeRequest), types);
            string        reqStr = string.Empty;

            using (StringWriter sw = new StringWriter())
            {
                xs.Serialize(sw, request);
                reqStr = sw.ToString();
            }
            DbParameter paramXml = Context.CreateDbParameter("Request", System.Data.DbType.Xml, reqStr, ParameterDirection.Input);

            Context.ExecuteNonQuery("sp_UpdateRequest", CommandType.StoredProcedure, paramXml);
        }
Example #25
0
        public IQueryable <View_StocktakeDetails> QueryStocktakeDetailsScope(View_StocktakeDetails stocktakeDetails, string startCode, string endCode)
        {
            var stocktakeDetailsQry = this.QueryStocktakeDetails(stocktakeDetails);

            if (!string.IsNullOrEmpty(startCode))
            {
                stocktakeDetailsQry = stocktakeDetailsQry.Where(p => string.Compare(p.PartCode, startCode) >= 0);
            }
            if (!string.IsNullOrEmpty(endCode))
            {
                stocktakeDetailsQry = stocktakeDetailsQry.Where(p => string.Compare(p.PartCode, endCode) <= 0);
            }
            return(stocktakeDetailsQry.OrderBy(p => p.PartCode));
        }
Example #26
0
    protected void gvParts_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        RefreshSelectedDetails(SelectedReqDetails, gvRequestParts);
        RefreshRequestedDetails();
        valiCounts.Validate();
        if (!valiCounts.IsValid)
        {
            return;
        }

        View_StocktakeDetails detail = GetDetailsByRow(gvParts.Rows[e.RowIndex]);

        detail.PartID = int.Parse(gvParts.DataKeys[e.RowIndex].Value.ToString());
        List <Part> relatedParts = Service.GetRelatedParts(detail.PartID.ToString());

        foreach (var item in relatedParts)
        {
            View_StocktakeDetails tmpDetail = new View_StocktakeDetails();
            tmpDetail.CreateViewByPart(item);
            tmpDetail.StocktakeType = detail.StocktakeType; //stocktakeTypeID;
            //tmpDetail.TypeName = detail.TypeName;//ddlStocktakeType.SelectedItem.Text;
            tmpDetail.Priority = detail.Priority;           // stocktakePriorityID;
            //tmpDetail.PriorityName = detail.PriorityName; //ddlStocktakePriority.SelectedItem.Text;
            if (!RequestedDetails.Exists(d => d.PartID == tmpDetail.PartID))
            {
                RequestedDetails.Add(tmpDetail);
            }
            if (RequestID != null)
            {
                int index = RemovedDetails.FindIndex(d => d.PartID == tmpDetail.PartID);
                if (index >= 0)
                {
                    RemovedDetails.RemoveAt(index);
                }
            }
            int idx = SelectedDetails.FindIndex(d => d.PartID == tmpDetail.PartID);
            if (idx >= 0)
            {
                SelectedDetails.RemoveAt(idx);
            }
        }
        //int index = RemovedDetails.FindIndex(d => d.PartID == detail.PartID);
        //if (index >= 0)
        //{
        //    RemovedDetails.RemoveAt(index);
        //}
        //RequestedDetails.Add(detail);
        BindData();
    }
Example #27
0
        public StocktakeRequest CreateCycleCount(User user, List <View_StocktakeDetails> deletedDetails, List <View_StocktakeDetails> updatedDetails)
        {
            PartBLL partBll = new PartBLL();
            IQueryable <ViewPart> partQry = partBll.GetPartsByPlantToCycleCount();//partBll.GetPartsToCycleCount();
            NewStocktakeRequest   request = new NewStocktakeRequest {
                IsStatic = true, IsCycleCount = true
            };

            request.RequestBy = user.UserID;

            request.Details = new List <NewStocktakeDetails>();
            foreach (var item in partQry)
            {
                NewStocktakeDetails details = new NewStocktakeDetails
                {
                    PartID            = item.PartID.ToString(),
                    StocktakeTypeID   = 90,
                    StocktakePriority = 1
                };
                View_StocktakeDetails deletedItem = deletedDetails.Find(d => d.PartID == int.Parse(details.PartID));
                if (deletedItem == null)
                {
                    View_StocktakeDetails updatedItem = updatedDetails.Find(d => d.PartID == int.Parse(details.PartID));
                    if (updatedItem != null)
                    {
                        details.Description = updatedItem.DetailsDesc;
                    }
                    request.Details.Add(details);
                }
            }
            StocktakeRequest result       = CreateStocktakeRequest(request);
            BizParamsBLL     bizParamsBLL = new BizParamsBLL();
            BizParams        param        = bizParamsBLL.GetBizParamByKey(new BizParams {
                ParamKey = Consts.BIZ_PARAMS_CYCLECOUNTED
            });

            param.ParamValue = "True";
            bizParamsBLL.UpdateBizParams(param);

            BizParams paramCycledTimes = bizParamsBLL.GetBizParamByKey(new BizParams {
                ParamKey = Consts.BIZ_PARAMS_CYCLEDTIMES
            });
            int cycledTimes = int.Parse(paramCycledTimes.ParamValue);

            paramCycledTimes.ParamValue = (cycledTimes + 1).ToString();
            bizParamsBLL.UpdateBizParams(paramCycledTimes);
            return(result);
        }
Example #28
0
    protected void gvRequestParts_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        RefreshSelectedDetails(SelectedReqDetails, gvRequestParts);
        RefreshRequestedDetails();
        int partID = int.Parse(gvRequestParts.DataKeys[e.RowIndex].Value.ToString());
        View_StocktakeDetails details = GetDetailsByRow(gvRequestParts.Rows[e.RowIndex]);

        details.PartID = partID;
        if (RequestID != null)
        {
            RemovedDetails.Add(details);
        }

        //if (RequestID != null)
        //{
        int index = RequestedDetails.FindIndex(d => d.PartID == details.PartID);

        if (index >= 0)
        {
            RequestedDetails.RemoveAt(index);
        }
        index = -1;

        index = SelectedReqDetails.FindIndex(d => d.PartID == details.PartID);
        if (index >= 0)
        {
            SelectedReqDetails.RemoveAt(index);
        }
        //}
        BindData();
        //RefreshDetails();
        //Guid partID = (Guid)gvRequestParts.DataKeys[e.RowIndex].Value;
        //Details.RemoveAll(d => d.PartID == partID);

        //if (RequestID != null)
        //{
        //    NewStocktakeRequest request = new NewStocktakeRequest
        //    {
        //        Details = new List<NewStocktakeDetails>
        //        {
        //            new NewStocktakeDetails { PartID = partID.ToString()}
        //        }
        //    };
        //    Service.UpdateCachedRequest(request, CacheKey, false, true);
        //}
        //BindRequestDetails();
        //BindDataControl(gvRequestParts, Details);
    }
Example #29
0
 protected void gvRemovedDetails_RowDataBound(object sender, GridViewRowEventArgs e)
 {
     if (e.Row.RowType == DataControlRowType.DataRow)
     {
         View_StocktakeDetails detail = e.Row.DataItem as View_StocktakeDetails;
         CheckBox cbSelect            = e.Row.FindControl("cbSelect") as CheckBox;
         if (SelectedRemovedDetails.Exists(d => d.DetailsID == detail.DetailsID))
         {
             cbSelect.Checked = true;
         }
         else
         {
             cbSelect.Checked = false;
         }
     }
 }
Example #30
0
 protected void gvNew_RowDataBound(object sender, GridViewRowEventArgs e)
 {
     if (e.Row.RowType == DataControlRowType.DataRow)
     {
         View_StocktakeDetails details = e.Row.DataItem as View_StocktakeDetails;
         if (details != null && details.NotificationID != null)
         {
             CheckBox cbSelect = e.Row.Cells[0].FindControl("cbSelect") as CheckBox;
             if (cbSelect != null)
             {
                 if (NotiToAnalyse.DetailsView.Exists(d => d.DetailsID == details.DetailsID))
                 {
                     cbSelect.Checked = true;
                 }
             }
         }
     }
 }