public void Delete(Element element)
 {
     using (var client = new STMTrackJobServiceClient())
     {
         client.ClientCredentials.Windows.ClientCredential.Domain   = UserAccount.Domain;
         client.ClientCredentials.Windows.ClientCredential.UserName = UserAccount.Username;
         client.ClientCredentials.Windows.ClientCredential.Password = UserAccount.Password;
         client.delete(CallContexts.get(), Client.read(element.RecId));
     }
 }
        public IHttpActionResult Find(Element element)
        {
            List <TrackJob> trackList       = new List <TrackJob>();
            AxdSTMTrackJob  trackJob        = new AxdSTMTrackJob();
            CriteriaElement criteriaElement = new CriteriaElement();

            criteriaElement.DataSourceName = element.DataSourceName; // "STMTrackJobTable";
            criteriaElement.FieldName      = element.FieldName;      // "StmTrackId";
            criteriaElement.Operator       = Operator.Equal;
            criteriaElement.Value1         = element.Value;          // "TK000001";

            QueryCriteria criteria = new QueryCriteria();

            criteria.CriteriaElement = new CriteriaElement[] { criteriaElement };

            using (var client = new STMTrackJobServiceClient())
            {
                client.ClientCredentials.Windows.ClientCredential.Domain   = UserAccount.Domain;
                client.ClientCredentials.Windows.ClientCredential.UserName = UserAccount.Username;
                client.ClientCredentials.Windows.ClientCredential.Password = UserAccount.Password;
                trackJob = client.find(CallContexts.get(), criteria);
            }

            for (int i = 0; i < trackJob.STMTrackJobTable.Length; i++)
            {
                string bu       = Enum.GetName(typeof(AxdEnum_STMMBU), trackJob.STMTrackJobTable[i].STMMBU);
                string typeroom = Enum.GetName(typeof(AxdEnum_STMTypeRoomJIS), trackJob.STMTrackJobTable[i].STMTypeRoom);
                string status   = Enum.GetName(typeof(AxdEnum_STMTrackStatus), trackJob.STMTrackJobTable[i].STMTrackStatus);

                trackList.Add(new TrackJob
                {
                    RecId       = trackJob.STMTrackJobTable[i].RecId.ToString(),
                    TrackId     = trackJob.STMTrackJobTable[i].StmTrackId == null ? "" : trackJob.STMTrackJobTable[i].StmTrackId.ToString(),
                    BU          = bu,
                    CreateDate  = Convert.ToDateTime(trackJob.STMTrackJobTable[i].CreatedDate),
                    FinishDate  = Convert.ToDateTime(trackJob.STMTrackJobTable[i].FinishDate),
                    Name        = trackJob.STMTrackJobTable[i].Name == null ? "" : trackJob.STMTrackJobTable[i].Name.ToString(),
                    ProjId      = trackJob.STMTrackJobTable[i].ProjId == null ? "" : trackJob.STMTrackJobTable[i].ProjId.ToString(),
                    RefTrackId  = trackJob.STMTrackJobTable[i].RefTrackId == null ? "" : trackJob.STMTrackJobTable[i].RefTrackId.ToString(),
                    Stage       = trackJob.STMTrackJobTable[i].ProjStage == null ? "" : trackJob.STMTrackJobTable[i].ProjStage.ToString(),
                    StartDate   = Convert.ToDateTime(trackJob.STMTrackJobTable[i].StartDate),
                    TypeRoom    = typeroom,
                    Unit        = Convert.ToInt32(trackJob.STMTrackJobTable[i].Unit),
                    ProjAmount  = Convert.ToDouble(trackJob.STMTrackJobTable[i].ProjAmount),
                    TrackStatus = status
                });
            }

            return(Json(trackList));
        }
        public void Create(TrackJob element)
        {
            using (var client = new STMTrackJobServiceClient())
            {
                string startDate  = element.StartDate.ToShortDateString();
                string finishDate = element.FinishDate.ToShortDateString();
                string createDate = element.CreateDate.ToShortDateString();

                AxdEntity_STMTrackJobTable entity = new AxdEntity_STMTrackJobTable();
                entity._DocumentHash  = entity._DocumentHash;
                entity.RecId          = Convert.ToInt64(element.RecId);
                entity.RecIdSpecified = true;
                entity.RefTrackId     = element.RefTrackId;
                entity.Name           = element.Name;
                entity.ProjId         = element.ProjId;
                entity.ProjStage      = element.Stage;
                entity.STMMBU         = (AxdEnum_STMMBU)Enum.Parse(typeof(AxdEnum_STMMBU), element.BU);
                entity.StmTrackId     = element.TrackId;
                entity.STMTypeRoom    = (AxdEnum_STMTypeRoomJIS)Enum.Parse(typeof(AxdEnum_STMTypeRoomJIS), element.TypeRoom);
                entity.ProjAmount     = Convert.ToDecimal(element.ProjAmount);
                entity.STMTrackStatus = (AxdEnum_STMTrackStatus)Enum.Parse(typeof(AxdEnum_STMTrackStatus), element.TrackStatus);
                if (startDate != "01/01/1900" && startDate != "01/01/0544")//(soDaily.DueDate != DateTime.MinValue)
                {
                    entity.StartDate = DateTime.ParseExact(startDate, "dd/MM/yyyy", CultureInfo.InvariantCulture);
                }
                if (finishDate != "01/01/1900" && finishDate != "01/01/0544")//(soDaily.DueDate != DateTime.MinValue)
                {
                    entity.FinishDate = DateTime.ParseExact(finishDate, "dd/MM/yyyy", CultureInfo.InvariantCulture);
                }
                if (createDate != "01/01/1900" && createDate != "01/01/0544")//(soDaily.DueDate != DateTime.MinValue)
                {
                    entity.CreatedDate = DateTime.ParseExact(createDate, "dd/MM/yyyy", CultureInfo.InvariantCulture);
                }

                var trackJob = new AxdSTMTrackJob()
                {
                    STMTrackJobTable = new AxdEntity_STMTrackJobTable[1] {
                        entity
                    }
                };

                client.ClientCredentials.Windows.ClientCredential.Domain   = UserAccount.Domain;
                client.ClientCredentials.Windows.ClientCredential.UserName = UserAccount.Username;
                client.ClientCredentials.Windows.ClientCredential.Password = UserAccount.Password;
                client.create(CallContexts.get(), trackJob);
            }
        }
        public void Edit(TrackJob element)
        {
            AxdSTMTrackJob trackJob = new AxdSTMTrackJob();

            using (var client = new STMTrackJobServiceClient())
            {
                client.ClientCredentials.Windows.ClientCredential.Domain   = UserAccount.Domain;
                client.ClientCredentials.Windows.ClientCredential.UserName = UserAccount.Username;
                client.ClientCredentials.Windows.ClientCredential.Password = UserAccount.Password;
                trackJob = client.read(CallContexts.get(), Client.read(element.RecId));
            }

            using (var client = new STMTrackJobServiceClient())
            {
                AxdEntity_STMTrackJobTable entity = trackJob.STMTrackJobTable[0];
                var trackJobQry = new AxdSTMTrackJob()
                {
                    ClearNilFieldsOnUpdate          = trackJob.ClearNilFieldsOnUpdate,
                    ClearNilFieldsOnUpdateSpecified = true,
                    DocPurpose          = trackJob.DocPurpose,
                    DocPurposeSpecified = true,
                    SenderId            = trackJob.SenderId
                };

                string startDate  = element.StartDate.ToShortDateString();
                string finishDate = element.FinishDate.ToShortDateString();
                string createDate = element.CreateDate.ToShortDateString();

                AxdEntity_STMTrackJobTable entityUpdate = new AxdEntity_STMTrackJobTable();
                entityUpdate._DocumentHash  = entity._DocumentHash;
                entityUpdate.RecId          = Convert.ToInt64(element.RecId);
                entityUpdate.RecIdSpecified = true;
                entityUpdate.RefTrackId     = "";
                entityUpdate.Name           = element.Name;
                entityUpdate.ProjId         = element.ProjId;
                entityUpdate.ProjStage      = element.Stage;
                entityUpdate.STMMBU         = (AxdEnum_STMMBU)Enum.Parse(typeof(AxdEnum_STMMBU), element.BU);
                entityUpdate.StmTrackId     = element.TrackId;
                entityUpdate.STMTypeRoom    = (AxdEnum_STMTypeRoomJIS)Enum.Parse(typeof(AxdEnum_STMTypeRoomJIS), element.TypeRoom);
                entityUpdate.ProjAmount     = Convert.ToDecimal(element.ProjAmount);
                entityUpdate.STMTrackStatus = (AxdEnum_STMTrackStatus)Enum.Parse(typeof(AxdEnum_STMTrackStatus), element.TrackStatus);
                if (startDate != "01/01/1900" && startDate != "01/01/0544")//(soDaily.DueDate != DateTime.MinValue)
                {
                    entityUpdate.StartDate = DateTime.ParseExact(startDate, "dd/MM/yyyy", CultureInfo.InvariantCulture);
                }
                if (finishDate != "01/01/1900" && finishDate != "01/01/0544")//(soDaily.DueDate != DateTime.MinValue)
                {
                    entityUpdate.FinishDate = DateTime.ParseExact(finishDate, "dd/MM/yyyy", CultureInfo.InvariantCulture);
                }
                if (createDate != "01/01/1900" && createDate != "01/01/0544")//(soDaily.DueDate != DateTime.MinValue)
                {
                    entityUpdate.CreatedDate = DateTime.ParseExact(createDate, "dd/MM/yyyy", CultureInfo.InvariantCulture);
                }

                trackJobQry.STMTrackJobTable = new AxdEntity_STMTrackJobTable[1] {
                    entityUpdate
                };

                client.ClientCredentials.Windows.ClientCredential.Domain   = UserAccount.Domain;
                client.ClientCredentials.Windows.ClientCredential.UserName = UserAccount.Username;
                client.ClientCredentials.Windows.ClientCredential.Password = UserAccount.Password;
                client.update(CallContexts.get(), Client.read(element.RecId), trackJobQry);
            }
        }